If-Anweisung in MySQL

Wettermacher

Grünschnabel
Hallo liebe Forumsmitglieder,

Habe eine Frage zu einer IF-Anweisung mit PHP in MySQL. Ich habe in eine Variable $sonne den aktuellen Wert der Datenbankspalte "Sonne" ausgeben lassen... Dieser ist entweder 0 oder 1. Wenn ich mir das mit einer While-Schleife ausgeben lasse, funktioniert das auch ohne Problem.

Ich will nun mit einer IF-Anweisung ausgeben dass bei 0 ein "nein" und bei 1 ein "ja" ausgegeben wird.

Habe das versucht mit

<?
if($sonne == "1")
{
echo "ja";
}
else
{
echo "nein";
}
?>

das funktioniert aber nicht weil städig ein "nein" ausgegeben wird.

Könnt Ihr mir einen Tipp geben wie ich das in den Griff bekommen kann?

Vielen Dank

Michael
 
Auf den ersten blick würde ich mal denken das sonne ein int enhält oder? Du fragst aber nach einem String, da du die eins in "" setz. Lass diese einfach mal weg.
 
Hi,

Hab den Fehler gefunden, das doppelte = war zu viel. Jetzt gehts.

Aber es schliesst sich da eben noch eine Frage bei mir an :-) Sagen wir mal ich lasse mit vom aktuellen Tag ein Maximum ausgeben. Wie kann ich die Uhrzeit zum dazugehörigen Maximum ausgeben ? Dazu ist zu sagen dass ich die Datums-Spalte in der Form 2005-09-12 00:00 vorliegen habe, da dies von einem Ausleseprogramm direkt in die DB geschrieben wird.

Vielen Dank
 
Wettermacher hat gesagt.:
Hi,

Hab den Fehler gefunden, das doppelte = war zu viel. Jetzt gehts.
Das war mit Sicherheit nicht zuviel. Jetzt machst Du eine Zuweisung und keinen Vergleich. Poste doch mal mehr von Deinem Quellcode.

Wettermacher hat gesagt.:
Aber es schliesst sich da eben noch eine Frage bei mir an :-) Sagen wir mal ich lasse mit vom aktuellen Tag ein Maximum ausgeben. Wie kann ich die Uhrzeit zum dazugehörigen Maximum ausgeben ? Dazu ist zu sagen dass ich die Datums-Spalte in der Form 2005-09-12 00:00 vorliegen habe, da dies von einem Ausleseprogramm direkt in die DB geschrieben wird.
Versuche es mal mit den Datums- und Zeit-Funktionen von MySQL.

Gruß hpvw

PS: Bitte nutze die Code Tags, [ php ]code[ /php ] für PHP-Quelltexte, [ html ]code[ /html ] für HTML-Quelltexte und [ code ]code[ /code ] für sonstige Quelltexte, natürlich ohne die Leerzeichen. Das macht die Quelltexte übersichtlicher. Für kurze Code-Teile im Fließtext (z.B. Variablen- oder Funktionsnamen) kannst Du [ mono ]kurzer Code-Fetzen[ /mono ] verwenden.
 
Hallo nochmal,

Also dass hier ist der Quellcode




PHP:
<?

include("dbconnect.php");


$sonnenschein = 'Select Sonnenschein FROM daten ORDER BY Datum DESC LIMIT 0 , 1'; 

	
	
if($sonnenschein = 1) 
     { echo  "ja"; } 
else 
     { echo "nein";} 
?>


Mit den Datumsabfragen werde ich mich heute nacht ausgiebig beschäftigen.

Hm also ohne das doppelte = funktioniert es gut.....aber ich habe das eher durch Zufall rausgefunden ohne genau zu wissen was eigentlich das doppelte bedeutet.

Schon einmal vielen Dank!
 
Ich glaube, Du solltest Dich noch mal mit dem Handbuch vertraut machen:
[phpf]mysql_query[/phpf]
[phpf]mysql_error[/phpf]
[phpf]mysql_fetch_assoc[/phpf] oder [phpf]mysql_fetch_array[/phpf] oder [phpf]mysql_fetch_row[/phpf] oder [phpf]mysql_fetch_object[/phpf]

An Deinem Beispiel:
PHP:
<?
include("dbconnect.php");

$query = 'SELECT Sonnenschein
    FROM daten 
    ORDER BY Datum DESC 
    LIMIT 0 , 1';
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$sonnenschein = $row['Sonnenschein'];
    
if ($sonnenschein == 1) { 
    echo  "ja"; 
} else {
    echo "nein";
}
?>
Gruß hpvw
 
Zurück