login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Laat maar 1 foto zien

Offline kenzo - 06/11/2006 20:20
Avatar van kenzoPHP beginner Hallo,

Ik wil in het profiel het aantal geuploade foto´s weergeven, maar hij laat maar 1 zien.

Dit is de code:

  1. $sql = @mysql_query("SELECT * FROM stuurfoto WHERE naam='".$list['gebruikersnaam']."'")or die(mysql_error());
  2. $aantal = @mysql_num_rows($sql);
  3.  
  4. If($aantal == 0)
  5. {
  6. echo top("Foto's geupload");
  7. echo "<table width='100%' cellpadding='0' cellspacing='3'><td width='100%' style='border: 1px solid ".$border."'>
  8. <table width='100%' cellpadding='2' cellspacing='0'>
  9. <td bgcolor='".$bg1."' colspan='3' style='border-bottom: 1px solid ".$border."' width='10%'><b>Aantal foto's: 0</b></td><TR>
  10. <td colspan='3' width='10%'><b>Je hebt nog geen foto's geupload.</b></td>
  11. </table></td></table>";
  12. echo bottom();
  13. }
  14. Else
  15. {
  16.  
  17. echo top("Foto's geupload");
  18. echo "<table width='100%' cellpadding='0' cellspacing='3'><td width='100%' style='border: 1px solid ".$border."'>
  19. <table width='100%' cellpadding='2' cellspacing='0'>
  20. <td bgcolor='".$bg1."' colspan='3' style='border-bottom: 1px solid ".$border."' width='10%'><b>Aantal foto's: $aantal</b></td><TR>
  21. <td colspan='3' width='10%'><b>";
  22.  
  23. $query = mysql_query("SELECT * FROM `stuurfoto` WHERE naam='".$list['gebruikersnaam']."'");
  24. $list2 = mysql_fetch_assoc($query);
  25. {
  26. echo"<img src='modules/gastenfotos/image/".$list2['afbeelding'].".gif' height='150' width='150'><br>".$list2['konijnennaam']."";
  27. }
  28. echo"</b></td><TR>
  29. </table></td></table>";
  30. echo bottom();
  31. }



Bedankt!

22 antwoorden

Gesponsorde links
Offline BigBug - 06/11/2006 20:33 (laatste wijziging 06/11/2006 20:34)
Avatar van BigBug PHP expert
  1. while($aOpgehaald = mysql_fetch_array($query))
  2. {
  3. echo "<img src='".$aOpgehaald['opgehaald']."'>";
  4. }


Ik gebruik zelf nooit assoc (Daarom heb ik fetch_array gebruikt)

Hetgene waarom je er maar 1 zag was het feit dat je ze niet in een loop ophaalde. Waardoor alleen maar de eerste foto uitgelezen wordt.
Offline kenzo - 06/11/2006 20:47
Avatar van kenzo PHP beginner ok bedankt, dat werkt

kan ik ook doen dat hij 3 kolommen maakt met in ieder vak 1 foto, en dat het aan het aantal foto´s ligt hoeveel rijen er zijn?
Offline Rens - 06/11/2006 20:49 (laatste wijziging 06/11/2006 20:51)
Avatar van Rens Gouden medaille

Crew algemeen
ja.
^
||
== is een link 
Offline kenzo - 06/11/2006 20:50 (laatste wijziging 06/11/2006 21:08)
Avatar van kenzo PHP beginner dankjuh...  

Weet je ook hoe? (ikke niet namelijk  )

 

Edit:
ow...

Bedankt!  


Ik heb nu deze code:

  1. <?php
  2. $items = array("item 1", "item 2", "item 3", "item 4", "item 5", "item 6",
  3. "item 7", "item 8", "item 9", "item 10", "item 11", "item 12");
  4.  
  5. // hulpvariabelen
  6. $aantal_kolommen = 4;
  7. $kolom_breedte = 75; // in pixels
  8. $aantal_items = sizeof($items);
  9. $huidige_kolom = 0; // als deze variabele de waarde 0 heeft dan is er een rij afgelopen
  10. // en moet er een nieuwe beginnen
  11.  
  12. // bouw de tabel en doorloop de items
  13. ?>
  14. <table width="<?= $aantal_kolommen * $kolom_breedte ?>" border="1" cellspacing="0" cellpadding="2">
  15. <?php
  16. foreach($items as $item) {
  17. // waren we klaar met een rij ?
  18. if($huidige_kolom == 0) {
  19. // open een nieuwe rij
  20. echo "<tr>\n"; // hier is \n toegevoegd om de leesbaarheid van de HTML-source te verhogen
  21. }
  22.  
  23. // druk het item af - hier zou je dus nog tabellen kunnen nesten - in dit voorbeeld houden we het simpel
  24. echo "<td width=\"".$kolom_breedte."\">".$item."</td>\n";
  25.  
  26. // we zijn een kolom verder, verhoog $huidige_kolom
  27. $huidige_kolom++;
  28.  
  29. // waren we klaar met een rij ?
  30. if($huidige_kolom == $aantal_kolommen) {
  31. // sluit de rij af en reset $huidige_kolom
  32. echo "</tr>\n";
  33. $huidige_kolom = 0;
  34. }
  35. }
  36.  
  37. // fix voor de laatste rij - was een rij volledig gevuld ?
  38. if($huidige_kolom != 0) {
  39. // rij was nog niet vol(ledig) - vul de resterende cellen op met "stuffing"
  40. for($i = $huidige_kolom; $i < $aantal_kolommen; $i++) {
  41. // in plaats van &nbsp; kun je de cel ook met iets anders vullen natuurlijk
  42. echo "<td width=\"".$kolom_breedte."\">&nbsp;</td>\n";
  43. }
  44. // sluit tenslotte de rij alsnog af
  45. echo "</tr>\n";
  46. }
  47. ?>
  48. </table>


Maar ik werk niet met arrays... (maar met een while lus).

Wat moet ik in het begin dan veranderen?
Offline Rens - 06/11/2006 21:16
Avatar van Rens Gouden medaille

Crew algemeen
Ik zal een voorbeeldje met uitleg maken.

  1. <?PHP
  2. // Hoeveel kolommen naast elkaar?
  3. $iKolom = 3;
  4. // je query
  5. $sQuery = "je query";
  6. // uitvoeren
  7. if(!$rResult = MySQL_Query($sQuery))
  8. {
  9. // niet uitgevoerd
  10. // error weergeven
  11. } else
  12. {
  13. // goed uitgevoerd
  14. // tabel beginnen
  15. ?>
  16. <!-- begin van de tabel -->
  17. <table border="1" cellpadding="0" cellspacing="0">
  18. <!-- een rij erboven -->
  19. <tr>
  20. <!-- colspan meegeven van max. aantal kolommen -->
  21. <th colspan="<?=$iKolom;?>">
  22. Foto's
  23. </th>
  24. </tr>
  25. <!-- alvast een nieuwe rij beginnen -->
  26. <tr>
  27. <?PHP
  28. // we zetten een var. die bij houd hoeveel kolommen we hebben
  29. $i = 0;
  30. // nu komt de while loop
  31. while($aFetch = MySQL_Fetch_Assoc($rResult))
  32. {
  33. if($i == 3)
  34. {
  35. $i = 0;
  36. echo '</tr><tr>';
  37. }
  38. echo '<td>'.$aFetch['naam'].'</td>';
  39. $i++;
  40. }
  41. ?>
  42. <!-- rij sluiten -->
  43. </tr>
  44. </table>
  45. <?PHP
  46. }
  47. ?>
Offline kenzo - 06/11/2006 21:19
Avatar van kenzo PHP beginner Super bedankt,

maar als ik hem aanpas naar mijn gegevens laat hij niets zien:

  1. <?PHP
  2. // Hoeveel kolommen naast elkaar?
  3. $iKolom = 3;
  4. // je query
  5. $sQuery = mysql_query("SELECT * FROM `stuurfoto` WHERE naam='".$list['gebruikersnaam']."'");
  6. while($list2 = mysql_fetch_assoc($sQuery))
  7.  
  8. // uitvoeren
  9. if(!$rResult = MySQL_Query($sQuery))
  10. {
  11. // niet uitgevoerd
  12. // error weergeven
  13. } else
  14. {
  15. // goed uitgevoerd
  16. // tabel beginnen
  17. ?>
  18. <!-- begin van de tabel -->
  19. <table border="1" cellpadding="0" cellspacing="0">
  20. <!-- een rij erboven -->
  21. <tr>
  22. <!-- colspan meegeven van max. aantal kolommen -->
  23. <th colspan="<?=$iKolom;?>">
  24. Foto's
  25. </th>
  26. </tr>
  27. <!-- alvast een nieuwe rij beginnen -->
  28. <tr>
  29. <?PHP
  30. // we zetten een var. die bij houd hoeveel kolommen we hebben
  31. $i = 0;
  32. // nu komt de while loop
  33. while($aFetch = MySQL_Fetch_Assoc($rResult))
  34. {
  35. if($i == 3)
  36. {
  37. $i = 0;
  38. echo '</tr><tr>';
  39. }
  40. echo '<td>'.$list2['naam'].'</td>';
  41. $i++;
  42. }
  43. ?>
  44. <!-- rij sluiten -->
  45. </tr>
  46. </table>
  47. <?PHP
  48. }
  49. ?>


SORRY   Heb dit nog nooit geprobeert!
Offline Rens - 06/11/2006 21:20
Avatar van Rens Gouden medaille

Crew algemeen
Regel 6 hoort daar niet te staan, en op regel 41 moet je $list2 even veranderen in $aFetch.
Offline kenzo - 06/11/2006 21:24
Avatar van kenzo PHP beginner ok,

maar nu krijg ik dit:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #18' at line 1
Offline Rens - 06/11/2006 21:26
Avatar van Rens Gouden medaille

Crew algemeen
Laat eens zien hoe je het nu hebt... 
Offline kenzo - 06/11/2006 21:27
Avatar van kenzo PHP beginner
  1. <?PHP
  2. // Hoeveel kolommen naast elkaar?
  3. $iKolom = 3;
  4. // je query
  5. $sQuery = mysql_query("SELECT * FROM `stuurfoto` WHERE naam='".$list['gebruikersnaam']."'");
  6.  
  7. // uitvoeren
  8. if(!$rResult = MySQL_Query($sQuery))
  9. {
  10. // niet uitgevoerd
  11. // error weergeven
  12. } else
  13. {
  14. // goed uitgevoerd
  15. // tabel beginnen
  16. ?>
  17. <!-- begin van de tabel -->
  18. <table border="1" cellpadding="0" cellspacing="0">
  19. <!-- een rij erboven -->
  20. <tr>
  21. <!-- colspan meegeven van max. aantal kolommen -->
  22. <th colspan="<?=$iKolom;?>">
  23. Foto's
  24. </th>
  25. </tr>
  26. <!-- alvast een nieuwe rij beginnen -->
  27. <tr>
  28. <?PHP
  29. // we zetten een var. die bij houd hoeveel kolommen we hebben
  30. $i = 0;
  31. // nu komt de while loop
  32. while($aFetch = MySQL_Fetch_Assoc($rResult))
  33. {
  34. if($i == 3)
  35. {
  36. $i = 0;
  37. echo '</tr><tr>';
  38. }
  39. echo '<td>'.$aFetch['naam'].'</td>';
  40. $i++;
  41. }
  42. ?>
  43. <!-- rij sluiten -->
  44. </tr>
  45. </table>
  46. <?PHP
  47. }
  48. ?>
Offline Rens - 06/11/2006 21:29 (laatste wijziging 06/11/2006 21:29)
Avatar van Rens Gouden medaille

Crew algemeen
  1. $sQuery = mysql_query("SELECT * FROM `stuurfoto` WHERE naam='".$list['gebruikersnaam']."'");


Ik heb het gevoel dat je niet echt naar de code kijkt...
Regel 8, daar staat ook mysql_query...

En voor dat per naam, dan moet je er nog wel een while loop omheen maken hè...
Of met PHP.net: mysql_result.
Offline kenzo - 06/11/2006 21:43
Avatar van kenzo PHP beginner ik had net dat met de while loop eronder, maar dat is dus fout?
Offline Rens - 06/11/2006 21:48
Avatar van Rens Gouden medaille

Crew algemeen
Ja.
Als je het doet, zoals jij het wilt, krijg je ongeveer zo'n opbouw:
  1. <?PHP
  2. $sQuery = "de query voor het lid";
  3. mysql_query($sQuery) or die(mysql_error());
  4. while(...)
  5. {
  6. // hier mijn code
  7. }
  8. ?>
Offline kenzo - 06/11/2006 21:53
Avatar van kenzo PHP beginner
  1. $sQuery = ("SELECT * FROM `stuurfoto` WHERE naam='".$list['gebruikersnaam']."'");
  2. mysql_query($sQuery) or die(mysql_error());
  3. while($list2 = mysql_fetch_array($sQuery))


dit heb ik, maar ik pak de while op de eerste sQuery, en daar geeft hij deze fout bij:

Citaat:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/kenzo/domains/deknagertjes.nl/public_html/modules/leden/test.php on line 7


Alleen snap ik niet hoe het wel moet  
Offline Rens - 06/11/2006 21:55
Avatar van Rens Gouden medaille

Crew algemeen
  1. $sQuery = ("SELECT * FROM `stuurfoto` WHERE naam='".$list['gebruikersnaam']."'");
  2. $result = mysql_query($sQuery) or die(mysql_error());
  3. while($list2 = mysql_fetch_array($result))

Wel een extra var. aanmaken waar het resultaat in komt hè 
Offline kenzo - 06/11/2006 21:57
Avatar van kenzo PHP beginner if(!$rResult = MySQL_Query($sQuery))


moet ik hier ook wat mee doen? 

ik heb een lege pagina nog
Offline Rens - 06/11/2006 22:05
Avatar van Rens Gouden medaille

Crew algemeen
  1. <?PHP
  2. // Hoeveel kolommen naast elkaar?
  3. $iKolom = 3;
  4. // query voor het lid op te halen
  5. $sQueryLid = "Hier de query om gebruikersnaam van het lid op te halen";
  6. if(!$rResultLid = MySQL_Query($sQueryLid))
  7. {
  8. } else
  9. {
  10. $sLid = MySQL_Result($rResultLid, 0, "gebruikersnaam");
  11. // je query voor de foto's
  12. $sQuery = "SELECT * FROM `stuurfoto` WHERE naam='".$sLid."'";
  13. // uitvoeren
  14. if(!$rResult = MySQL_Query($sQuery))
  15. {
  16. // niet uitgevoerd
  17. // error weergeven
  18. } else
  19. {
  20. // goed uitgevoerd
  21. // tabel beginnen
  22. ?>
  23. <!-- begin van de tabel -->
  24. <table border="1" cellpadding="0" cellspacing="0">
  25. <!-- een rij erboven -->
  26. <tr>
  27. <!-- colspan meegeven van max. aantal kolommen -->
  28. <th colspan="<?=$iKolom;?>">
  29. Foto's
  30. </th>
  31. </tr>
  32. <!-- alvast een nieuwe rij beginnen -->
  33. <tr>
  34. <?PHP
  35. // we zetten een var. die bij houd hoeveel kolommen we hebben
  36. $i = 0;
  37. // nu komt de while loop
  38. while($aFetch = MySQL_Fetch_Assoc($rResult))
  39. {
  40. if($i == 3)
  41. {
  42. $i = 0;
  43. echo '</tr><tr>';
  44. }
  45. echo '<td>'.$aFetch['naam'].'</td>';
  46. $i++;
  47. }
  48. ?>
  49. <!-- rij sluiten -->
  50. </tr>
  51. </table>
  52. <?PHP
  53. }
  54. }
  55. ?>


Als het goed is hoef je alleen regel 5 even aan te passen naar je eigen query.
En dan goed naar de code kijken en er mee spelen 
Offline kenzo - 06/11/2006 22:10
Avatar van kenzo PHP beginner Ik denk dat het script goed werkt, alleen is hier iets niet goed?

  1. $sLid = MySQL_Result($rResultLid, 0, "gebruikersnaam");



http://www.dekn...n/test.php
Offline Rens - 06/11/2006 22:11
Avatar van Rens Gouden medaille

Crew algemeen
Laat eens zien zoals het nu is, precies zoals het nu is...
Offline kenzo - 06/11/2006 22:12 (laatste wijziging 06/11/2006 22:17)
Avatar van kenzo PHP beginner
  1. <?PHP
  2. // Hoeveel kolommen naast elkaar?
  3. $iKolom = 3;
  4. // query voor het lid op te halen
  5. $sQueryLid = "SELECT * FROM `stuurfoto` WHERE naam='".$list['gebruikersnaam']."'";
  6. if(!$rResultLid = MySQL_Query($sQueryLid))
  7. {
  8. } else
  9. {
  10. $sLid = MySQL_Result($rResultLid, 0, "gebruikersnaam");
  11. // je query voor de foto's
  12. $sQuery = "SELECT * FROM `stuurfoto` WHERE naam='".$sLid."'";
  13. // uitvoeren
  14. if(!$rResult = MySQL_Query($sQuery))
  15. {
  16. // niet uitgevoerd
  17. // error weergeven
  18. } else
  19. {
  20. // goed uitgevoerd
  21. // tabel beginnen
  22. ?>
  23. <!-- begin van de tabel -->
  24. <table border="1" cellpadding="0" cellspacing="0">
  25. <!-- een rij erboven -->
  26. <tr>
  27. <!-- colspan meegeven van max. aantal kolommen -->
  28. <th colspan="<?=$iKolom;?>">
  29. Foto's
  30. </th>
  31. </tr>
  32. <!-- alvast een nieuwe rij beginnen -->
  33. <tr>
  34. <?PHP
  35. // we zetten een var. die bij houd hoeveel kolommen we hebben
  36. $i = 0;
  37. // nu komt de while loop
  38. while($aFetch = MySQL_Fetch_Assoc($rResult))
  39. {
  40. if($i == 3)
  41. {
  42. $i = 0;
  43. echo '</tr><tr>';
  44. }
  45. echo '<td>'.$aFetch['naam'].'</td>';
  46. $i++;
  47. }
  48. ?>
  49. <!-- rij sluiten -->
  50. </tr>
  51. </table>
  52. <?PHP
  53. }
  54. }
  55. ?>



Zo heb ik hem in de pagina proberen te zetten:
http://www.plaatscode.be/3057/

http://www.dekn...amp;id=kim
Offline Rens - 06/11/2006 22:16
Avatar van Rens Gouden medaille

Crew algemeen
Ah, ik zie dat je de gebruikersnaam al ophaalt.
Dan kan dit stukje:
  1. $sQueryLid = "SELECT * FROM `stuurfoto` WHERE naam='".$list['gebruikersnaam']."'";
  2. if(!$rResultLid = MySQL_Query($sQueryLid))
  3. {
  4. } else
  5. {
  6. $sLid = MySQL_Result($rResultLid, 0, "gebruikersnaam");

weg.
En dan moet je op regel 13 (regel 13 van nu) $sLid veranderen in $list['gebruikersnaam'].
Offline kenzo - 06/11/2006 22:18
Avatar van kenzo PHP beginner VET...

Super bedankt... het werkt nu.

 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.349s