| SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden. |
 |
|

19-07-2004, 17:58
|
|
Gerti
Junior Member
|
|
Registriert seit: Feb 2004
Beiträge: 67
|
|
Direkter Zugriff auf letztes Ergebnis
Hi!
Ich habe zur Zeit folgende Select-Anweisung in meinem Script:
PHP-Code:
$sql = 'SELECT `*` FROM `eMail` WHERE `TOPIC` = \''.$threadtopic.'\'';
$ids=mysql_query($sql) or die(mysql_errno() . ": " . mysql_error(). "\n");
while ($row = mysql_fetch_array($ids, MYSQL_NUM)) {
$rid=$row[1];
}
Wie man sieht, überschreibe ich die Variable $rid bei jedem Durchlauf der While-Schleife um dort am Ende den Wert aus row[1] des letzten gefundenen Datensatzes zu haben.
Gibt es einen einfacheren Weg, direkt den letzten gefundenen Datensatz in die Variable zu speichern?
Durch das Select bekomme ich doch die Anzahl der gefundenen Treffer zurückgeliefert und mit dieser Info müsste es doch irgendwie möglich sein, oder?
Gruß und Danke,
Gerti
|

19-07-2004, 18:00
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
du könntest entweder mal nach mysql_data_seek im php-manual suchen
oder, was wahrscheinlich besser ist, dir mal die SQL-begriffe ORDER BY und LIMIT anschauen
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

19-07-2004, 18:11
|
|
Gerti
Junior Member
|
|
Registriert seit: Feb 2004
Beiträge: 67
|
|
Hi!
Mit Limit wird es wohl schwierig, aber würde das hier stimmen?
PHP-Code:
$sql = 'SELECT `*` FROM `eMail` WHERE `TOPIC` = \''.$threadtopic.'\'';
$ids=mysql_query($sql) or die(mysql_errno() . ": " . mysql_error(). "\n");
$countids = mysql_num_rows($ids) - 1;
$row=mysql_data_seek ($result, $i);
$rid=$row[1];
}
Ich kann es leider nicht testen, das ist das Problem :-)
Gruß,
Gerti
|

19-07-2004, 18:14
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
sieht richtig aus, aber was heißt denn für dich "letzter datensatz"?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

19-07-2004, 18:14
|
|
derHund
PHP Master
|
|
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
|
|
definiere mal bitte
Zitat:
|
des letzten gefundenen Datensatzes
|
OffTopic: versuch doch alternativ noch ein paar single quotes im query string unterzubringen *scnr
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
|

19-07-2004, 18:18
|
|
Gerti
Junior Member
|
|
Registriert seit: Feb 2004
Beiträge: 67
|
|
Hi!
Die Anfrage müsste im Grunde z.B. drei Treffer zurückgeben, da der Begriff hinter $threadtopic z.B. in drei Ergebnissen vorkommt.
Da ich immer die neuesten Eingaben hinten an die Datenbank anhänge, möchte ich, dass halt $row[1] vom zuletzt angelegten Datensatz der Variablen $rid zugewiesen wird.
BTW: Ich habe passende Quotes im der Anweisung, das Board "unterschlägt" die aber leider...
Gruß,
Gerti
|

19-07-2004, 18:21
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von Gerti
vom zuletzt angelegten Datensatz
|
und da hast du keine datumsspalte nach der du sortieren könntest?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

19-07-2004, 18:25
|
|
Gerti
Junior Member
|
|
Registriert seit: Feb 2004
Beiträge: 67
|
|
Hi!
Nein, ich habe nichts, nachdem ich sortieren könnte...
Dürfte aber im Grunde auch nicht nötig sein, wenn ich doch die Anzahl der Ergebnisse kenne...denn dann müsste ich doch geziehlt ein Ergebniss ansprechen können...
Gruß,
Gerti
|

19-07-2004, 18:28
|
|
derHund
PHP Master
|
|
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
|
|
ohne spalte zum danach sortieren kannst du niemals zuverlässig den 'letzten' datensatz erfragen, den ohne sortierung gibts keinen letzten datensatz ...
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
|

19-07-2004, 18:32
|
|
Gerti
Junior Member
|
|
Registriert seit: Feb 2004
Beiträge: 67
|
|
Hi!
Liefert eine Anfrage nicht immer die zutreffenden Datensätze in der Reihenfolge, in der diese angelegt wurden?
Gruß,
Gerti
|

19-07-2004, 18:34
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von Gerti
Liefert eine Anfrage nicht immer die zutreffenden Datensätze in der Reihenfolge, in der diese angelegt wurden?
|
nein, nicht unbedingt
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

19-07-2004, 18:35
|
|
Gerti
Junior Member
|
|
Registriert seit: Feb 2004
Beiträge: 67
|
|
Hi!
Aha...
Ist mir bisher noch nie aufgefallen...
Wann liefert es diese denn nicht in der richtigen Reihenfolge?
Gruß,
Gerti
|

19-07-2004, 18:37
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
z. b. wenn du in phpmyadmin die tabelle neu sortierst oder wenn dir beim exportieren/importieren ein dummer zufall in die quere kommt oder oder oder
aber wenn du partout nicht sortieren willst, dann lass es halt bleiben
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

19-07-2004, 18:43
|
|
Gerti
Junior Member
|
|
Registriert seit: Feb 2004
Beiträge: 67
|
|
Hi!
Nein, ist ja kein Problem, wollte es halt nur mal wissen...
Ich habe jetzt noch ein NUM als auto-increment mit eingebaut...
Wie kann ich also nun auf den letzen Datensatz zugreifen?
PHP-Code:
$sql = 'SELECT `*` FROM `eMail` WHERE `TOPIC` = \''.$threadtopic.'\' ORDER BY `NUM` LIMIT 1';
Das Order müsste ja umgekehrt "ordern" - wie erreiche ich das :-)
DESC - bin selbst drauf gekommen :-)
Gruß,
Gerti
|

19-07-2004, 18:44
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
ORDER BY `NUM` DESC
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|