Hallo Phil,
Ich habe ein Problem. Ich habe eiine Mysql Datenbank. Sie ist wie folgt angelegt,
als Begriffsklärung: Das sind die Spalten einer Tabelle in einer Datenbank, die von dem Datenbankmanagementsystem (DBMS) MySQL verwaltet wird.
num, image, name
Das sieht das zum Beispiel so aus,
1 | aaa.jpg | John
2 | bbb.jpg | Doe
3 | ccc.jpg | Jane
4 | ddd.jpg | DoeNun würde ich gerne mit PHP die Zeilen Schrittweise oder einzeln ausgeben. Sol heissen, ich würde gerne mit PHP Zeile 1, 3, 6 und 10 ausgeben. Wie mache ich das?
Es gibt keine Zeilen 1, 3, 6, 10. Jedenfalls nicht in dem Sinne, den Du vielleicht meinst. In welcher Reihenfolge das DBMS die Zeilen einer Tabelle speichert ist völlig unwichtig. Wenn Du eine bestimmte Reihenfolge haben möchtest, dann musst Du nach einem Kriterium sortieren.
Möchtest Du Datensätze, die einen bestimmten Wert in einer Spalte, z.B. der Spalte "num" haben, dann gibst Du diese Kriterien in der WHERE-Klausel Deiner SELECT-Anweisung an. Möchtest Du z.B. die Datensätze, die in "num" die Werte 1, 3, 6 und 10 haben und aufateigend nach den Werten in "num" sortiert, so lautete Deine SQL-Anweisung:
SELECT -- Gib mir die Werte der Spalten
num, -- num,
image, -- image und
name -- name
FROM tabelle -- aus meiner Tabelle
WHERE -- wobei mich nur die Datensätze interessieren,
num IN (1, 3, 6, 10) -- bei denen num die Werte 1, 3, 6 oder 10 annimmt
ORDER BY -- Sortiere die Ergebnismenge nach den Werten
num -- der Spalte num
Wie Du mit PHP diese Abfrage an das DBMS übermitteln, anschließend die von MySQL zurückgelieferten Daten entgegennehmen und weiterverarbeiten kannst, das steht in den entsprechenden Handbuchabschnitten von PHP. Ich empfehle Dir, entweder die verbesserte MySQL-Erweiterung (ignoriere die Warnung, die deutsche Doku ist hier schrecklich veraltet) oder gleich PDO zu verwenden.
Freundliche Grüße
Vinzenz