problem mit einer if schleife

  • Themenstarter Themenstarter MF
  • Beginndatum Beginndatum
M

MF

moin moin,

ich habe hier ein kleines prob und zwar möchte ich wissen ob in der tabelle "wars_anzeige" in spalte "cat" ein eintrag den wert 1 belegt.
gut also folgendes habe ich mir da ausgedacht:
PHP:
$sql_1on1="SELECT * FROM wars_anzeige WHERE cat = 1";

if(mysql_query($sql_1on1, $verbindung))
{
	$ergebnis_1on1 = mysql_query($sql_1on1, $verbindung);

	while($row_1on1 = mysql_fetch_array($ergebnis_1on1))
	{
		echo ("
		&nbsp;&nbsp;Platzhalter<br>
		");
	}
}
else
{
	echo ("
	&nbsp;&nbsp;Derzeit keine 1on1's verzeichnet.
	");
}

wenn nun aber kein eintrag in der spalte "cat" den wert 1 belegt sollte man doch meinen er springt in die else schleife. Denkste, er geht trotzdem in die if-schleife nur läst er dann die while-schleife links liegen wenn kein eintrag bei cat den wert 1 belegt.

wo liegt der fehler? .. thx 4 help

mfg .. Marcus
 
PHP:
if(mysql_query($sql_1on1, $verbindung))
{
...
}
if(mysql_query())

wird genommen falls der querry erfolgreich war also sobald der Server was zurücksendet soweit ich weiss, das is auch der Fall wenns ne anderen wert als 1 wieder gibt.
Mach lieber:
PHP:
$1on1 = mysql_num_rows($sql_1on1, $verbindung))
Und dann die If-Abfrage
PHP:
$if($1on1==1)
{
...
}
...

Habs nich getestet und bin lange wach also übernehm ich keine Garantie für irgendwas :D gugg aber die Tage nochmal rein...
 
du überprüfst nur, ob der erfolgreich die mysql tabelle abfragen konnte, aber das kann er ja auch erfolgreich machen, ohne etwas zurückgeliefert zu bekommen. machs mal so...
PHP:
$sql_1on1="SELECT * FROM wars_anzeige WHERE cat = 1";

if(mysql_query($sql_1on1, $verbindung))
{
    $ergebnis_1on1 = mysql_query($sql_1on1, $verbindung);

    $i = 0;
    while($row_1on1 = mysql_fetch_array($ergebnis_1on1))
    {
        echo ("
        &nbsp;&nbsp;Platzhalter<br>
        ");
        $i++;
    }
    if($i==0){
      echo "Keine 1on1's gespielt";
    }else{
      echo "$i 1on1's gespielt";
    }
}
else
{
    echo ("
    &nbsp;&nbsp;Fehler bei der Abfrage.
    ");
}
 
hey cool das funktioniert ja :)

der code sieht jetzt so aus:

PHP:
$sql_1on1="SELECT * FROM wars_anzeige WHERE cat = 1";
$ergebnis_1on1 = mysql_query($sql_1on1, $verbindung);
$search_1on1 = mysql_num_rows($ergebnis_1on1);

if($search_1on1 >= 1)
{

	while($row_1on1 = mysql_fetch_array($ergebnis_1on1))
	{
		echo ("
		&nbsp;&nbsp;Platzhalter<br>
		");
	}
}
else
{
	echo ("
	&nbsp;&nbsp;Derzeit keine 1on1's verzeichnet.
	");
}
 
Zuletzt bearbeitet von einem Moderator:
ups .. hehe ... entschuldigung ... ist mir grade erst aufgefallen was ich da geschrieben habe .. das heisst natürlich if-anweisung ;)
 
ich weiß zwar nicht wer euch immer wieder den Floh ins Ohr setzt, dass es if-Schleifen gibt, aber wenn ich ihn finde bring ich ihn um...

endlich mal einer der durchgreift :-)

eine schleife mit abfrage ist und bleibt eine while schleife *smile*
 
Zurück