x.ter Wert einer MySQL-Abfrage
x.ter Wert einer MySQL-Abfrage
am 21.06.2006 20:03:29 von Erhard Rainer
Wenn ich eine MySQL-Abfrage mit PHP mache:
$ergebnis = mysql_query("SELECT * FROM tbl_stichwort where Stichwort =
'$Stichwort' order by Stichwort asc");
$datensatz = mysql_fetch_array($ergebnis)
$StichwortID = $datensatz['ID'];
bekomme ich den ersten Datensatz. Wenn ich das in eine While-Schleife
packe, alle. Wie bekomme ich aber beispielsweise den 7. Zeile oder die
letzte. Muss ich da mit irgendwelchen Schleifen herumarbeiten, oder gibt es
einen Befehl, der es mir ermöglich eine bestimmte Zeile einer Abfrage
auszulesen.
Ich hab das zwar schon mehrmals gemacht, stehe aber momentan irgendwie auf
der Leitung.
TIA Erhard
Re: x.ter Wert einer MySQL-Abfrage
am 21.06.2006 20:12:53 von Carsten Wiedmann
Erhard Rainer schrieb:
> Wenn ich eine MySQL-Abfrage mit PHP mache:
>
> $ergebnis = mysql_query("SELECT * FROM tbl_stichwort where Stichwort =
> '$Stichwort' order by Stichwort asc");
> $datensatz = mysql_fetch_array($ergebnis)
> $StichwortID = $datensatz['ID'];
>
> bekomme ich den ersten Datensatz. Wenn ich das in eine While-Schleife
> packe, alle.
Ich würde eher sagen, Du bekommst da mehrfach /einen/, bis je nach
Schleifendefinition evtl. der Letzte erreicht ist, und nicht alle (auf
einmal).
> Wie bekomme ich aber beispielsweise den 7. Zeile oder die
> letzte.
In SQL gäbe es da LIMIT um die Ergebnismenge gezielt einzuschränken. In PHP
könnte man die Datensätze in ein Array packen und dann gezielt auf einen Key
zugreifen.
Gruß
Carsten
Re: x.ter Wert einer MySQL-Abfrage
am 21.06.2006 20:35:42 von Niels Braczek
Erhard Rainer schrieb:
> Wie bekomme ich aber beispielsweise den 7. Zeile oder die=20
> letzte. Muss ich da mit irgendwelchen Schleifen herumarbeiten, oder gib=
t es=20
> einen Befehl, der es mir ermöglich eine bestimmte Zeile einer Abfrage=
=20
> auszulesen.
Hast du das MySQL-Kapitel im Handbuch nicht gefunden?
http://de.php.net/manual/en/function.mysql-result.php
MfG
Niels
--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: x.ter Wert einer MySQL-Abfrage
am 21.06.2006 20:44:51 von Erhard Rainer
"Carsten Wiedmann" :
> Ich würde eher sagen, Du bekommst da mehrfach /einen/, bis je nach
> Schleifendefinition evtl. der Letzte erreicht ist, und nicht alle (auf
> einmal).
Wahrscheinlich meinst du eh das selbe. Wenn ich beispielsweise
| $ergebnis = mysql_query("SELECT * FROM tbl_stichwort where Stichwort =_
| '$Stichwort' order by Stichwort asc");
| while ($datensatz = mysql_fetch_array($ergebnis))
| {
| $StichwortID = $datensatz['ID'];
| echo $StichwortID
| }
Listet mir alle StichwortIDs auf, für die gilt: Stichwort = $Stichwort
>> Wie bekomme ich aber beispielsweise den 7. Zeile oder die
>> letzte.
>
> In SQL gäbe es da LIMIT um die Ergebnismenge gezielt einzuschränken.
> In PHP könnte man die Datensätze in ein Array packen und dann gezielt
> auf einen Key zugreifen.
Sorry, verstehe ich nicht ganz, was du da meinst.
Nehmen wir mal an, ich die Abfrage "SELECT * FROM tbl_stichwort where
Stichwort = '$Stichwort' order by ID asc" ergibt folgende Tabelle:
+--------+-------------+
| ID | Stichwort |
+--------+-------------+
| 7 | Stw1 |
| 9 | Stw1 |
| 12 | Stw1 |
| 15 | Stw1 |
| 17 | Stw1 |
| 19 | Stw1 |
+--------+-------------+
Wie bekomme ich jetzt die 4.Zeile?
+--------+-------------+
| 15 | Stw1 |
+--------+-------------+
Danke im voraus.
Re: x.ter Wert einer MySQL-Abfrage
am 21.06.2006 20:48:41 von Erhard Rainer
Niels Braczek wrote:
> Hast du das MySQL-Kapitel im Handbuch nicht gefunden?
> http://de.php.net/manual/en/function.mysql-result.php
Danke. Genau das habe ich gesucht. Scheinbar habe ich falsch danach
gesucht.
Re: x.ter Wert einer MySQL-Abfrage
am 21.06.2006 22:29:15 von Carsten Wiedmann
Erhard Rainer schrieb:
> > In SQL gäbe es da LIMIT um die Ergebnismenge gezielt einzuschränken.
> > In PHP könnte man die Datensätze in ein Array packen und dann gezielt
> > auf einen Key zugreifen.
>
> Sorry, verstehe ich nicht ganz, was du da meinst.
>
> Nehmen wir mal an, ich die Abfrage "SELECT * FROM tbl_stichwort where
> Stichwort = '$Stichwort' order by ID asc" ergibt folgende Tabelle:
>
> +--------+-------------+
> > ID | Stichwort |
> +--------+-------------+
> > 7 | Stw1 |
> > 9 | Stw1 |
> > 12 | Stw1 |
> > 15 | Stw1 |
> > 17 | Stw1 |
> > 19 | Stw1 |
> +--------+-------------+
> Wie bekomme ich jetzt die 4.Zeile?
> +--------+-------------+
> > 15 | Stw1 |
> +--------+-------------+
| SELECT `ID`, `Stichwort`
| FROM `tbl_stichwort`
| WHERE `Stichwort` = '$Stichwort'
| ORDER BY `ID` ASC
| LIMIT 3,1
(Die PHP-Lösung mit dem Array dürfte ja klar sein und spar ich mir daher. An
Nils Lösung hatte ich gar nicht gedacht :-/ und ist natürlich dem Array zu
bevorzugen.)
Gruß
Carsten
Re: x.ter Wert einer MySQL-Abfrage
am 21.06.2006 22:42:18 von Erhard Rainer
"Carsten Wiedmann" wrote:
> Erhard Rainer schrieb:
>| SELECT `ID`, `Stichwort`
>| FROM `tbl_stichwort`
>| WHERE `Stichwort` = '$Stichwort'
>| ORDER BY `ID` ASC
>| LIMIT 3,1
>
> (Die PHP-Lösung mit dem Array dürfte ja klar sein und spar ich mir
> daher. An Nils Lösung hatte ich gar nicht gedacht :-/ und ist
> natürlich dem Array zu bevorzugen.)
Danke jetzt hab ichs verstanden.