Last select ID?
Is er misschien een PHP functie of een MySQL functie om de laatste geselecteerde ID(s) op te halen?
Het lijkt me dat dit duidelijk genoeg is,
Maarten
En wat bedoel je met de laatst geselecteerde ID's ?
Nee, dat is het laatst ingevoerde ID
Gewoon precies hetzelfde als mysql_insert_id(), maar dan voor een SELECT
Gewoon 'ORDER BY ASC' gewoof ik.
Met een SELECT selecteer je al records uit een database, dus wat is het probleem om tegelijkertijd ook het id te selecteren?
Het probleem is dat ik niet bij de SELECTs zelf kan, dus ik kan daar niet gewoon de ID kolom bij zetten, anders zou ik dat uiteraard doen, maar dat is waarschijnlijk ook de reden dat deze functie niet bestaat?
EDIT: Blanche, wilde dat er net bij gaan zetten, zoals je ziet, sorry:P
Gewijzigd op 01/01/1970 01:00:00 door Maarten Slenter
Waarom kan je zelf niet bij de SELECT? Dit lijkt mij een uiterst vreemde situatie.
Vind ik nou niet zo'n 'uiterst vreemde situatie':P
Gewijzigd op 01/01/1970 01:00:00 door Maarten Slenter
Ik ga je niet langer laten wachten, hier is de oplossing:
(dit is een voorbeeld, en kan afwijken van u applicatie.)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
function get_highest_id($from_table)
{
// simpele query
$sql = "SELECT max(the_id) FROM $from_table";
// nu even de query runnen. (zorg er wel voor dat je geconnecteerd bent met een 1 of andere database.
$result = mysql_query($sql);
// ff fetchen
$row = mysql_fetch_row($result);
// oke klaar, nu ff de resultaten weg gooien :)
mysql_free_result($result);
// Nu zijn we bijna klaar, nog even de hoogste (/laatste) id terug geven.
return $row['max(the_id)'];
}
{
// simpele query
$sql = "SELECT max(the_id) FROM $from_table";
// nu even de query runnen. (zorg er wel voor dat je geconnecteerd bent met een 1 of andere database.
$result = mysql_query($sql);
// ff fetchen
$row = mysql_fetch_row($result);
// oke klaar, nu ff de resultaten weg gooien :)
mysql_free_result($result);
// Nu zijn we bijna klaar, nog even de hoogste (/laatste) id terug geven.
return $row['max(the_id)'];
}
Ik hoop uit hard en ziel dat je hier wat aan hebt.
Mr. de Jong
En je kan AS gebruiken in de query, dan heb je geen
Hij wil niet het hoogste of laastste toegevoegde ID, maar hij wil het laatst GESELECTEERDE ID.
Hoe hij dat zou moeten doen heb ik geen enkel idee van. :(
Waarom zou je uberhaupt het laatst geselecteerde ID willen ophalen? En dan nog... een select geeft altijd resultaten uit het verleden weer, misschien is er in de tussentijd al wel weer een ander ID geselecteerd. En je mag niet bij het systeem? Dit lijkt mij hetzelfde als een huis bouwen zonder gereedschap te mogen gebruiken.
Jurgen, gaat het er hier om wat ik wil doen of waarom ik er niet bij kan? NEE
Dat je het antwoord niet weet vind ik niet erg, maar ga dan niet zo'n reactie erin zetten waar ik totaal niets aan heb.
Het is nou eenmaal zo, niet anders...
Hij heeft wel degelijk gelijk.
En je kan het laatst geselecteerde ID nergens ophalen. Tenzij je deze uit de URL haalt ofzo.
Je hebt wel de beschikking over de geselecteerde resultaten? Zo ja, dan zou je aan de hand daarvan een nieuwe SELECT query uit kunnen voeren om de bijbehorende id's te selecteren?
Ik schiet er toch niets mee op of wel?
@blanche: stom, daar had ik nog helemaal niet aan gedacht eerlijk gezegd...
Dit topic kan nu dus dicht, noem me dom, maar jullie vergeten ook wel eens wat...
Gewijzigd op 01/01/1970 01:00:00 door Maarten Slenter
Ik en Jurgen hebben allebij wat gevraagd.
Als je zo blijft reageren wil ik je niet eens meer helpen.
Ondankbaar jong.
Maarten, als je dit voor iemand anders doet, vertel die gene dat je echter bij het systeem moet komen om de module zo goed mogelijk te maken.
Want volgens mij is er geen enkel mogelijk om het laatst geselecteerde veld te krijgen. Tenzij je alle records bij houd (in een sessie of cookie).
The end.
Prettige wedstrijd als jij het zonder een query wilt gaan doen ;-)