login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Id uit de tabel halen?

Offline spaceflippie - 02/07/2008 17:34
Avatar van spaceflippieNieuw lid Hallo,

ik ga allereerst de code geven:

  1. <?php
  2.  
  3. $sql = 'SELECT * FROM nieuwtjes';
  4. $result = mysql_query($sql) or die('Database fout');
  5.  
  6. while($a = mysql_fetch_array($result)) {
  7. $id = $a['id'];
  8. $titel = $a['titel'];
  9. $inhoud = $a['inhoud'];
  10. $image = $a['image'];
  11.  
  12. echo '<h2>' .$titel. '</h2>';
  13. echo '<table width="450" border="0" cellpadding="0" cellspacing="3" style="padding:0px;"><tr><td valign="top"><div class="item"><br /><br />';
  14. echo '<a href="img.php?id="' .$id. '">';
  15. echo '<img src="' .$image. '" width="120" height="100" border="0"></a></div></td>';
  16. echo '<td align="left" valign="top"><div id="inhoud">' .$inhoud. '</div></td></tr></table>';
  17. echo '<hr align="center"></hr>';
  18. }
  19.  
  20. ?>


Zoals je ziet haal ik de ID uit de tabel en geef ik deze mee in een link. Echter, de link blijft altijd 'img.php?id=' Dus met andere woorden, het ID is leeg? De kollom ID is met AUTO-INCREMENT en NOT NULL, dus normaal zou dit toch een waarde moete meegeven?  

11 antwoorden

Gesponsorde links
Offline Ontani - 02/07/2008 17:43
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
gebruik mysql_fetch_assoc ipv mysql_fetch_array
Offline Delta - 03/07/2008 15:35
Avatar van Delta Nieuw lid Sorry maar ik snap het nut er niet van, zelf gebruik ik ook assoc maar hoezo zou array niet goed zijn?

Het id in de database bzijn die er wel?
Offline Ontani - 03/07/2008 15:40
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
omdat je met mysql_fetch_array geen gebruik kan maken van de kolomnamen uit je tabel maar enkel van de kolomnummers.

  1. $id = $a['id'];
  2. $titel = $a['titel'];
  3. $inhoud = $a['inhoud'];
  4. $image = $a['image'];


wordt dus met mysql_fetch_array:

  1. $id = $a[0];
  2. $titel = $a[1];
  3. $inhoud = $a[2];
  4. $image = $a[3];


met mysql_fetch_assoc kan je wel de kolomnamen gebruiken.
Offline marten - 03/07/2008 16:07
Avatar van marten Beheerder Met array ook Ontani 
Offline Wim - 03/07/2008 16:10
Avatar van Wim Crew algemeen doe met phpmyadmin eens een dump en post eens enkele rijen? Ik vermoed dat je kolom "id" een andere naam heeft, of dat de waardes leeg zijn...
Offline Ontani - 03/07/2008 16:22
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
toch niet zonder die 2e parameter mee te geven Marten?

zo wel:
mysql_fetch_array($result, MYSQL_ASSOC);

maar zo toch niet:
mysql_fetch_array($result);

en zo weer wel:
mysql_fetch_array($result, MYSQL_BOTH);
Offline marten - 03/07/2008 16:37
Avatar van marten Beheerder ik doe het altijd zonder extra parameter en werkt gewoon. Het tweede parameter is namelijk altijd mysql_both  
Offline Wim - 03/07/2008 17:16
Avatar van Wim Crew algemeen
Ontani schreef:
toch niet zonder die 2e parameter mee te geven Marten?

zo wel:
mysql_fetch_array($result, MYSQL_ASSOC);

maar zo toch niet:
mysql_fetch_array($result);

en zo weer wel:
mysql_fetch_array($result, MYSQL_BOTH);



http://be.php.net/mysql_fetch_array
Offline Gerard - 04/07/2008 00:58
Avatar van Gerard Ouwe rakker
spaceflippie schreef:
Hallo,

ik ga allereerst de code geven:

[..code..]

Zoals je ziet haal ik de ID uit de tabel en geef ik deze mee in een link. Echter, de link blijft altijd 'img.php?id=' Dus met andere woorden, het ID is leeg? De kollom ID is met AUTO-INCREMENT en NOT NULL, dus normaal zou dit toch een waarde moete meegeven?  

Dit is weer een prachtig voorbeeld waarom men een hekel heeft aan 'SELECT *'. Het is nu onduidelijk welke kolommen precies aanwezig zijn in de database en of jij ze wel goed aanroept. Als jij die kolom in de database namelijk 'ID' hebt genoemd dan moet je natuurlijk wel $a['ID'] naar het beeld gooien.
Offline spaceflippie - 04/07/2008 10:26 (laatste wijziging 04/07/2008 10:51)
Avatar van spaceflippie Nieuw lid ik zal een rij als voorbeeld geven. En ik heb de kolom goed aangeroepen, het noemt wel degelijk 'id'. Hier een rij:

[img]http://img388.imageshack.us/img388/7743/phpyp5.png[/img]

ik zal zometeen is proberen met mysql_fetch_assoc.

Alvast bedankt voor de reacties!

EDIT; mysql_fetch_assoc doet het ook niet. Ik ga gewoon een nieuwe integer-kolom aanmaken waar ik met behulp van mysql_insert_id het id nog is een keer in de tabel stop.

Offline Gerard - 04/07/2008 18:47
Avatar van Gerard Ouwe rakker PHP.net: var_dump de tent gewoon eens, zodat je kan zien wat je terug krijgt van de database. Niet zo snel opgeven.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.205s