hab ne lösung gefunden
$next = mysql_fetch_assoc(mysql_query("SELECT id FROM tabel WHERE group = 'negruppe' AND date > ".$info[date]." ORDER BY date DESC"));
Hab auch ne Lösung:
Suche nach dem Datensatz, dessen Alter größer ist, als das Alter des Datensatzes mit der id "9" und LIMITiere die Ausgabe auf einen Datensatz.
Erstmal: Das Alter steht ja fest, das ist die 17, also
$alter= 17;
Query könnte ungefähr so aussehen:
select id from table1 where alter > $alter LIMIT 1;
OK, das ist blöd, weil Alter kein Key ist, sondern die ID ( man kann ja mehrere Datensätze mit dem Alter von 17 haben)
Aaaalso schau mer mal in der MySQL-Doku, die es zum Glück nicht in einem gescheiten deutschen Format gibt.
....such
Leider nichts gefunden :-(
Aber wenn man in PHP ein select macht, werden die Daten in einem Ergebnis-Array (Result-Set)gespeichert. Dies kann man mit einer for-Schleife durchgehen, bis man auf das Ergebnis mit der ID 9 kommt. Das $i von dieser Zeile ist der erste Wert von LIMIT. Der zweite Wert ist eine 1 für eine Zeile.
Also ungefähr so:
Du liest die ID der Zeile mit den 17 Jahren aus.
$my_id = 9;
dann erstmal wie folgt:
$query = "select id from table1 ORDER BY ALTER";
$result = mysql_query($query);
$num = mysql_num_rows($result);
das hat Nur Wert, wenn mehrere Reihen existieren
if ($num > 1) {
for ($i = 0; $i < $num; $i++) {
$id = mysql_result($result, $i, 'id');
if ($id == $my_id) {
## setzt ersten Wert von LIMIT ($n)
$n = $i;
## Prüfen, ob es der letzte Datensatz ist:
if ($i == $num) {
die("Es existiert kein Eintrag nach ID $my_id");
.......
}
## Ansonsten $i hochsetzen, das die Schleife aufhört
else {
$i = $num;
}
}
}
$query = "select * from table1 LIMIT $n,1";
.....
}
else {
die("Es existiert kein Eintrag nach ID $my_id");
}
Naja, besser als keine Antwort :-)
Grüße, ein mittlerweile confuse-ter Matrix :-)