[PHP/MySQL] id achterhalen na een INSERT

Pagina: 1
Acties:
  • 51 views sinds 30-01-2008

  • Joske Pauwels
  • Registratie: Februari 2001
  • Laatst online: 19-07-2016

Joske Pauwels

Stelt zich vragen...

Topicstarter
[inleiding]
Ik zit met een probleempje:
Ik ben een ding aan het maken dat artikels uit mijn database meot inlezen, en de gebruikers een lijst moet kunnen geven met de artikels, waarna ze op een artikel kunnen klikken om het te lezen.
Dit stuk staat reeds online op http://www.webcats.be/planetolve/data/frames/fun/checkcolumns.php.

Omdat er niet nodeloos veel opgehaald zou moeten worden bij het genereren van de lijst met artikels heb ik de data opgesplitst in 2 tabellen:
• colls: deze tabel bevat alle info i.v.m. de artikels (columns) zoals de datum, poster, het ID-nr van het artikel zelf...
• colldata: deze tabel bevat enkel een kolom id en een kolom met de artikels zelf
Hierdoor kan ik een lijst met artikels genereren zonder altijd heel het artikel zelf te fetchen (traag en nodeloos belastend)
[/inleiding]
Het probleem is dat wanneer er en artikel gesubmit wordt, ik het artikel zelf in de tabel colldata insert, maar wanneer ik in de tabel colls de info i.v.m. het artikel insert, zou ik moeten weten wat het ID nr is van de data in de tabel colldata (om er zo naar te kunnen verwijzen)

Mijn huidige code is:
code:
1
2
3
4
5
6
7
8
9
10
$data = "INSERT INTO colldata VALUES('NULL', '$column')";
$data = mysql_query($data);

$colldata_id = "SELECT id FROM colldata WHERE data = $column";
$colldata_id = mysql_query($colldata_id);
$colldata_id = mysql_fetch_array($colldata_id);

$time = date("Y-m-d H:i");
$schrijven="INSERT INTO colls VALUES('NULL', '$time', '$subject', '$username', '$colldata_id')";
$schrijven = mysql_query($schrijven);

Maar dit geeft een mysql-error bij de lijn "$colldata_id = mysql_fetch_array($colldata_id);"

Heeft er iemand een sugestie wat de beste (en snelste) manier is om dit op te lossen? Tnx!

PS: ik heb de search gebruikt, maar dit soort dingen zijn vrij moeilijk op te zoeken. Ik heb ook reeds 2 boeken en enkele mensen geraadpleegd, maar zij wisten het ook niet...

  • Joske Pauwels
  • Registratie: Februari 2001
  • Laatst online: 19-07-2016

Joske Pauwels

Stelt zich vragen...

Topicstarter
Ok, ik heb het net zelf ergens op het internet gevonden.
Er schijnt een PHP functie te zijn mysql_insert_id() die het id van de laatst geinserte record teruggeeft...

Deze mag dus op slot IMHO...

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Ten eerste is het in een where blah='$blah', dus met 's, anders kan het misgaan. Verder bestaat er speciaal voor dit doel een mooie functie mysql_insert_id().

Rustacean


  • Joske Pauwels
  • Registratie: Februari 2001
  • Laatst online: 19-07-2016

Joske Pauwels

Stelt zich vragen...

Topicstarter
Idd, ik heb eht ook net gevonden.
Desalniettemin bedankt voor het antwoord :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

die bestaat al een tijdje :)

Dit topic is gesloten.