so. seitdem ich mich lange nich mehr mit php befasst habe, bekomm ich gleich schon wieda probleme. ich will aus einer datenbank was auslesen.
[PHP]
function query_select($column_select, $table)
{
$query = „SELECT $column_select FROM $table“;
$query = mysql_query($query) or die(mysql_error());
return $query;
}
$query = query_select(„*“, „table“);
[/PHP]
is jez ja noch ganz gut. dacht ich mir, dass ich die ergebnisse in einer tabelle sortiere. diese tabelle soll aber erst angezeigt werden, wenn ein eintrag in der db vorhanden ist.
jez sollen da aber alle einträge ausgegeben werden. also anstatt echo $row[„1“]; kommt while($row = mysql_fetch_assoc($query)
[echo $row[„1“];]. das lässt dann aber die erste zeile aus, weil $row = … schon vorher benutzt wurde. kann man das irgendwie ändern?
Ich hoffe ich hab da jetzt richtig durchgeblickt…
Also der Zeiger beginnt ab 0, nicht ab 1. $row[1] wäre also schon der zweite Eintrag.
Und benutze doch lieber für die Probe, ob bereits ein Eintrag vorhanden ist, mysql_num_rows().
Jop, so (if($row[„1“] != „“)) kannste das nicht checken. Mit $row[feldname] greifst du ja auf ein Feld in der aktuellen Zeile zu, nicht auf eine Zeile. Mit mysql_num_rows (PHP: mysql_num_rows - Manual) kannst du dir aber die Zeilen zählen lassen, und dann auf 0 überprüfen.
Außerdem sollte ich anmerken, dass mysql_fetch_assoc nur assoziative Arrays zurückliefert und keine numerischen also bedenken. Beides kann jedoch mysql_fetch_array.
Also ich würds so abprüfen, obs schon was drinne hat:
[php]
$sql = „SELECT * FROM tabelle“;
$qry = mysql_query($sql) OR die(mysql_error());
// Nun abchecken
if(mysql_num_rows($qry) > 0)
{
echo’Es hat vorhandene Einträge.‚;
}
else
{
echo’Es hat keine Einträge in der Tabelle‘;
}
[/php]
So kann man es abchecken, ob die Tabelle schon einen Eintrag hat.