[mySQL] - Abfrageproblem

bandsite

Mitglied
Hallo,
Ich habe eine MySQL Datenbank angelegt und dort Daten gespeichert.
Ich lese die Tabelle "News" am anfang meines Scriptes aus :
PHP:
$read_news = "SELECT * from news ORDER BY id";
$result_news = mysql_db_query ($dbname, $read_news, $dbconnection);

Ich lasse die Daten anschliessend über eine while Schleife ausgeben.

Mein Problem ist jetzt, daß ich an einem späteren Punkt im Script nochmal auf einen spezifischen Datensatz aus dieser Tabelle zugreifen muss, den ich anhand einer ID auswählen könnte. Ich weis nur nicht wie.

Ich ziehe mir die ganze Tabelle nochmal raus:
PHP:
$extract_news = mysql_fetch_array ($result_news);
Damit sind sämtliche Daten im Array $result_news["xxx"], Ich brauche aber nicht alle sondern eben nur einen bestimmten Datensatz. Wie kann ich das anstellen ohne eine ganz neue Abfrage starten zu müssen ? (Ich möchte das wegen der Übersicht im Script vermeiden.)

Gruß und Danke, bandsite
 
Hi,

wieso machst du nicht
Code:
SELECT * FROM news WHERE id = 1234
?
damit würdest du genau das bekommen, was du willst

Möglichkeit zwei:
Ich kenn mich mit php nicht sonderlich aus, aber wenn was du da zurück bekommst ein Array ist, könntest du den Datensatz auch direkt mit dem index ansprechen. Vorausgesetzt, es gibt keine Lücken in den IDs
 
Du kannst die Daten in einem Array zwischenspeichern. Es ist dabei auch nicht nötig, dass die IDs lückenlos sind, da Du den Index selbst bestimmen kannst. Beispiel:
PHP:
//...
$arr=array();
while ($row=mysql_fetch_assoc($result)) {
    $arr[$row['id']]=$row;
}
//Datensatz mit id=5 ausgeben 
//(gibt einen Fehler, wenn dieser nicht 
//existiert, aber für Demonstrationszwecke 
//soll das so mal genügen)
print_r($arr[5]);
 
Zurück