Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Variable in Variable - kann geschlossen werden (https://www.gegen-bilderklau.net/thread.php?threadid=170352)
Geschrieben von callous. am 05.04.2010 um 12:00:
Variable in Variable - kann geschlossen werden
php: |
1:
|
$hufe2["hufe$vh$lr"]; |
|
In der Datenbank habe ich es so abgespeichert:
hufevl, hufevr, hufehl und hufehr
Da ich beim Hufeauskratzen nicht hufehl und so angeben will, sondern Felder vorgebe (einmal wo man vorne/hinten auswählt und einmal wo links/rechts ausgewählt wird), habe ich es so gemacht:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
|
<?php
include("head.php");
?>
<html>
<head>
<title>equinestars</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body bgcolor="transparent">
<?php
include("datenbank.php");
$pid = "$_GET[pid]";
$Ergebnis = mysql_query( "SELECT * FROM pferd where pid = '$pid' AND besitzer = '$nickname'" );
if (@mysql_num_rows($Ergebnis) == 0) {
include("fehler.php");
}
else {
$Data = mysql_fetch_array($Ergebnis);
$hufe = $Data[hufevl]+$Data[hufevr]+$Data[hufehl]+$Data[hufehr];
$vh = $_POST[vh];
$lr = $_POST[lr];
$hufe2["hufe$vh$lr"];
echo '<h1>Hufpflege (<a href="pflege.php?pid=' . $Data[pid] . '" target="content">BACK</a>)</h1>
<div align="justify">
<table border="1" cellpadding="5" width="100%">
<tr>
<td width="100%" colspan="2" id="head"><b>Hufpflege</b></td>
</tr>
</table>
</div>
<br>
<center><img src="img/pferde/' . $Data[foto] . '"><br>
<b>Foto:</b> ' . $Data[copy] . '<br><br>
<img src="img/balken_' . $hufe . '.png"> ' . $hufe . ' %</center><br><br>
<form method="POST" action="hufe2.php?pid=' . $Data[pid] . '">
<div align="justify">
<table border="0" cellpadding="5" width="100%">
<tr>
<td width="100%" colspan="3" id="head"><b>Hufe auskratzen</b></td>
</tr>
<tr>
<td width="33%" id="hell">
<select size="1" name="vh">
<option>vorne</option>
<option>hinten</option>
</select></td>
<td width="34%" id="hell">
<select size="1" name="lr">
<option>links</option>
<option>rechts</option>
</select></td>
<td width="33%" id="dunkel"><input type="submit" value="»" id="button"></td>
</tr>
</table>
</div>
</form>';
mysql_query("UPDATE pferd SET $hufe2 = ($hufe2 + 1) WHERE ($hufe2 + 1) <= '25' AND besitzer = '$nickname' AND pid = '$pid'");
}
?>
</body>
</html> |
|
Mein Problem ist, dass nichts eingetragen wird, obwohl der Standartwert bei 20 ist...
Geschrieben von Thorim am 05.04.2010 um 13:31:
in dem MySQL-Query setzt du ja $hufe2 ein, oben definierst du $hufe2 aber als Array und so wird nicht wirklich was in den Query eingesetzt
schätze in Zeile 32 sollte das lauten
php: |
1:
|
$hufe2 = 'hufe' . $vh . $lr; |
|
Geschrieben von Thorim am 05.04.2010 um 14:02:
so wie ich das seh, ist $hufe2 immer der Feldname..
der Wert des Feldes wird um 1 erhöht, wenn er niedriger als 25 ist
in 'sauberer' Syntax:
php: |
1:
|
mysql_query("UPDATE `pferd` SET `$hufe2` = (`$hufe2` + 1) WHERE `$hufe2` < '25' AND `besitzer` = '$nickname' AND `pid` = '$pid'"); |
|
Geschrieben von callous. am 05.04.2010 um 14:39:
Klappt auch nicht...
@Mordred: $hufe2 soll eig. das hufehr, hufevl usw. ersetzen...
Also so zum Beispiel:
php: |
1:
|
UPDATE pferd SET hufevl = (hufevl + 1) WHERE (hufevl + 1) <= '25' |
|
Da ich ja nicht weiß, was der User wählt, hab ich es so gemacht...
Oder soll ich doch lieber eine if-Abfrage benutzen?
Geschrieben von Thorim am 05.04.2010 um 15:13:
das sind aber schon dropdown-auswahl-felder und keine checkboxen oder?
Geschrieben von Thorim am 05.04.2010 um 15:54:
upsi, ja ok, aber wenn dann $hufe2 = 'hufe' . $vh . $lr; machst
steht in $hufe2 zb hufevornelinks statt hufevl
müsste dann glaub so gehen:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
|
<td width="33%" id="hell">
<select size="1" name="vh">
<option value="v">vorne</option>
<option value="h">hinten</option>
</select></td>
<td width="34%" id="hell">
<select size="1" name="lr">
<option value="l">links</option>
<option value="r">rechts</option>
</select></td>
|
|
Geschrieben von callous. am 05.04.2010 um 16:09:
Danke, mit dem value klappts nun
Ich verblöde solangsam wirklich...
Kann geschlossen werden.
Forensoftware: Burning Board, entwickelt von WoltLab GmbH