Wert aus Abfrage in eine if-else-Bedingung einfügen
Fragezeichen
- php
0 rw0 Tobias Kloth0 Fragezeichen0 Julian
0 Julian
Hallo Zusammen!
Ich habe folgendes Problem:
Ich möchte einem Wert ($row[3]) aus einer SQL-Abfrage in eine if-else-Bedingung einbinden. Jedoch übernimmt es mir den Wert aus der Abfrage nicht. Was mache ich falsch?
Danke für Eure Antwort!
Gruss
Fragezeichen
Hier mein Code:
$result = mysql_query("SELECT * FROM gaestebuch");
while ($row = mysql_fetch_row($result)) {
echo "<HR>
<b class='textfett'>Name:</b> $row[1]";
$value=$row[3];
if ($value=1){
echo "<img src='images/smilies/augen.gif' width='14' height='14'>$value";
}
elseif ($value=2){
echo "<img src='images/smilies/schlecht.gif' width='14' height='14'>$value";
}
elseif ($value=3){
echo "<img src='images/smilies/singen.gif' width='42' height='14'>$value";
}
else {
echo "<img src='images/smilies/zungerot.gif' width='14' height='14'>$value";
};
usw......
Hallo,
if ($value=1){
....
Du machst meines Wissens hier keinen Vergleich sondern eine Zuweisung.
Richtiger muesste es heissen:
if ($value==1)
....
Gruss
Ralf
Hallo,
$result = mysql_query("SELECT * FROM gaestebuch");
ich hoffe das ist nur zu Testzwecken? Lies mal http://www.dclp-faq.de/q/q-sql-select.html.
$value=$row[3];
if ($value=1){
damit weist du der Variablen $value den Wert 1 zu - und das gibt (fast) immer true. Wenn du wissen willst, ob in $value der Wert 1 drinsteht, musst du if($value == 1) verwenden (siehe: http://de3.php.net/language.operators.comparison)
echo "<img src='images/smilies/augen.gif' width='14' height='14'>$value";
hier fehlt das alt-Attribut.
Grüße aus Nürnberg
Tobias
Danke für deine Antwort, nur....
damit weist du der Variablen $value den Wert 1 zu - und das gibt (fast) immer true. Wenn du wissen willst, ob in $value der Wert 1 drinsteht, musst du if($value == 1) verwenden (siehe: http://de3.php.net/language.operators.comparison)
ich möchte aber, dass in der Variable $value der Wert (Inhalt) der Variable $row[3] steht......
ich möchte aber, dass in der Variable $value der Wert (Inhalt) der Variable $row[3] steht......
das tut er ja... nur ist das so eine zuweissung das muss ein == sein wie schon gesagt wurde...
gibt mal nach $value=$row[3]; den wert von $value aus also mit echo "$value"; und guck ob das der richtige ist...
echo "<HR>
<b class='textfett'>Name:</b> $row[1]";
liefert er da keine Fehlermeldung??
So weit ich weiss ist das auch ein syntaxfehler...
das muss heissen
echo "<HR>
<b class='textfett'>Name:</b>".$row[1].";
Hallo,
echo "<HR>
<b class='textfett'>Name:</b> $row[1]";
So weit ich weiss ist das auch ein syntaxfehler...
Nein, ist es nicht.
Man kann zwischen doppelten Anfuehrungszeichen (mit gewissen
Einschraenkungen) auch auf Array-Variablen zugreifen,
ohne den String zu unterbrechen oder geschweifte Klammern
zu verwenden.
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing.simple
das muss heissen
echo "<HR>
<b class='textfett'>Name:</b>".$row[1].";
_Hier_ wuerde ich eine Fehlermeldung erwarten.
Du "unterbrichst" den String, schreibst den Array,
und oeffnest dann wieder einen String, den Du nicht schliesst...
Gruesse,
Thomas