mysql_query, Anfängerfrage
berdn
- datenbank
0 Geistiger Hohlraum0 berdn
0 Ilja
Liebes Forum,
ich habe eine mySQL Datenbank die ich mit PHP abfrage.
1. Frage:
Wenn alle Bedingungen erfüllt sind soll eine Tabelle mit den Daten geschrieben werden, nur wie schreibe ich den Tabellenanfang und das Ende nur einmal bzw. nur wenn die Bedingungen erfüllt sind?
Erste Möglichkeit: (Macht mich nicht glücklich)
<table>
<?PHP
$result = mysql_query ("SELECT * FROM Table WHERE value1='true' AND value1='true');
while ( $row = mysql_fetch_array($result) ) {
$num = $row["num"];
echo($num);
}
?>
</table>
Zweite Möglichkeit: (Ziel erreicht, aber nicht wirklich glücklich)
<?PHP
$tmp = 1;
$result = mysql_query ("SELECT * FROM Table WHERE value1='true' AND value1='true');
while ( $row = mysql_fetch_array($result) ) {
$num = $row["num"];
if($tmp == 1){
echo("<table>");
}
echo($num);
if($tmp == 1){
echo("</table>");
$tmp=2;
}
}
?>
Hat hierzu jemand eine inspiration für mich ?
2. Frage
Ich brauche meine mysql_query noch ein zweitesmal mal auf der Seite,
wenn ich "while ( $row = mysql_fetch_array($result) )" einmal abgearbeitet habe, geht es nicht ein zweites mal. (Hab ich noch nicht hingekriegt ;-()
a.) Nochmal die Query wiederholen ? oder
b.) kann ich $result irgendwie zwischenspeichern, duplizieren ?
Einfach schonmal Danke,
Bernd
Wenn alle Bedingungen erfüllt sind soll eine Tabelle mit den Daten geschrieben werden, nur wie schreibe ich den Tabellenanfang und das Ende nur einmal bzw. nur wenn die Bedingungen erfüllt sind?
Frage ab, wieviele Datensätze Dein select geliefert hat, falls mehr als Null, schreibe Tabellenanfang und Tabellendaten. Wirf einen Blick in die PHP-Anleitung (http://de.php.net/manual/de/ref.mysql.php), Du wirst sicher eine passende Funktion finden.
Ich brauche meine mysql_query noch ein zweitesmal mal auf der Seite,
wenn ich "while ( $row = mysql_fetch_array($result) )" einmal abgearbeitet habe, geht es nicht ein zweites mal. (Hab ich noch nicht hingekriegt ;-()
Auch hierfür wirst Du in der Anleitung eine Funktion finden, mit der sich der Zeiger in der Ergebnisliste an den Anfang bewegen lässt.
Danke "Geistiger Hohlraum",
das war das was ich suchte :-)
Ertes Problem gelöst, beim zweiten schaue ich mir mal
mysql_field_seek
mysql_data_seek
an.
Euch allen einen schönen Abend,
Bernd
yo,
SELECT * FROM Table WHERE value1='true' AND value1='true'
diese abfrage ist zwar nicht falsch, aber dennoch läst sie sich ein wenig verbessern. zweimal die spalte value1 nach dem wert 'true' abzufragen macht nicht wirklich einen sinn, bzw. ist unnötig. folgende abfrage wird genau das gleiche erreichen und sieht doch viel schöner aus.
SELECT * FROM Table WHERE value1='true'
Ilja