login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Resultaten uit tabel correct weergeven

Offline Ronstert - 14/10/2004 18:32 (laatste wijziging 14/10/2004 18:33)
Avatar van RonstertMySQL interesse hoe kan je dat wanneer je bijv een links systeem met mysql heb de gegevens in 2 kolommen weergeven ipv onder elkaar dus:

link1 link2
link3 link4

etc etc etc

iemand?
(oeps verkeerde categorie)

7 antwoorden

Gesponsorde links
Offline DRUNK - 14/10/2004 19:11 (laatste wijziging 14/10/2004 20:43)
Avatar van DRUNK PHP gevorderde Het moet ongeveer zoiets zijn, klooi er even mee dan ga je het vanzelf begrijpen. Alles wat ik hier in de var. $output zet kan je natuurlijk ook echo'en of even ?>...<?php doen, moert je zelf maar even kijken wat je ermee doet.

  1. <?php define ('MAX_COLS', 2); // constante, maximum aantal kolommen
  2.  
  3. // tellertje, beginnen bij 0
  4. $count = 0;
  5.  
  6. // -- vanaf hier ga ik ervan uit dat $output al bestaat, en al andere 'output' bevat
  7. // nieuwe rij beginnen
  8. $output .= '<tr>';
  9.  
  10. // Database resultaten doorlopen
  11. while ($res = mysql_fetch_assoc($query)) {
  12.  
  13. // Als $count == MAX_COLS :
  14. // Sluit de rij af, en open een nieuwe rij
  15. if ($count == MAX_COLS) {
  16. $count = 0;
  17. $output .= '</tr><tr>';
  18. }
  19. // echo'en | weergeven van resultaten ....
  20.  
  21. // $count met 1 verhogen
  22. $count++;
  23. }
  24. ?>
Offline Roosje - 14/10/2004 22:07
Avatar van Roosje Nieuw lid Ik zit met hetzelfde probleem. Ik heb nu het onderstaande. Ik krijg geen foutmeldingen. Alleen worden de rijen al na 1 kolom afgebroken.

  1. <?php define ('MAX_COLS', 3);
  2.  
  3. $count = 0;
  4.  
  5. while($aFetch=mysql_fetch_assoc($sql)) {
  6.  
  7. ?>
  8.  
  9. <td><a href='view.php?naam_id=<?php echo $aFetch['naam_id']; ?>'><IMG SRC='images/<?php echo $aFetch['naam']; ?>.jpg'></TD>
  10.  
  11. <?
  12. if ($count == MAX_COLS) {
  13. $count = 0;
  14. }
  15. ?>
  16.  
  17. </TR><TR>
  18.  
  19. <?
  20. $count++;
  21. }
  22. ?>
Offline DRUNK - 15/10/2004 06:32 (laatste wijziging 15/10/2004 06:36)
Avatar van DRUNK PHP gevorderde zet '</tr><tr>' eens binnen if (...)... ?

  1. <?php define ('MAX_COLS', 3);
  2. $count = 0;
  3. while($aFetch=mysql_fetch_assoc($sql)) {
  4. ?>
  5. <td><a href='view.php?naam_id=<?php echo $aFetch['naam_id']; ?>'><IMG SRC='images/<?php echo $aFetch['naam']; ?>.jpg'></TD>
  6. <?php
  7. if ($count == MAX_COLS) {
  8. $count = 0;
  9. ?>
  10. </TR><TR>
  11. <?php
  12. }
  13. $count++;
  14. }
  15. ?>


don't kill me if it don't works....the beeer, D`OH the beer is killing me time to get some sleep......
Offline Thomas - 15/10/2004 08:43
Avatar van Thomas Moderator En dan heb je nog het probleem dat het aantal af te drukken items geen veelvoud is van het aantal items per rij. Je moet dan een aantal tabel-cellen 'vulling' toevoegen (aangenomen dat je elke link / elk item in een aparte tabel-cel wil zetten).

Het kan dus ook zo zijn dat aan het einde van een rij alle items zijn afgedrukt. Je hoeft dan dus niet een nieuwe rij te beginnen, ik weet dus ook niet of het meteen toevoegen van een <tr> aan die </tr> nou zo verstandig is.
Offline Roosje - 15/10/2004 09:29 (laatste wijziging 15/10/2004 09:32)
Avatar van Roosje Nieuw lid Hey Drunk. Je code werkt inderdaad goed!

Hij maakt inderdaad wel nóg 1 kolom aan, met enkel 1 rij. 
Offline DRUNK - 16/10/2004 16:00 (laatste wijziging 16/10/2004 16:02)
Avatar van DRUNK PHP gevorderde @FangorN: het is idd. niet de netste oplossing maar naar mijn idee wel het eenvoudigst te snappen voor een beginner. Als je dit kan kun je ook een nettere oplossing verzinnen, volgens mij...

@Roosje: gebruik dan eens de onderstaande code, wel even je eigen gegevens invullen:

  1. <?php define ('MAX_COLS', 3); ?>
  2. <table border="1" width="50%" align="center"><tr>
  3. <?php
  4. $query = mysql_query("SELECT * FROM database.tabel ORDER BY veld");
  5. $count = 0;
  6.  
  7. while($data = mysql_fetch_assoc($query)) {
  8. if ($count == MAX_COLS) {
  9. $count = 0;
  10. ?>
  11. </tr><tr>
  12. <?php
  13. }
  14. ?>
  15. <td><?php echo $data['veld_naam']; ?></td>
  16. <?php
  17. $count++;
  18. }
  19. ?>
  20. </tr></table>
Offline Maarten - 17/10/2004 00:46 (laatste wijziging 17/10/2004 00:47)
Avatar van Maarten Erelid ik heb het volgende, want anders kreeg ik eerst 5 kols, dan 4 en dan de onderste rij 3  Het onderstaande moet het dus zeker doen (aanpassen natuurlijk):
  1. <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000"><?php
  2. $count = 1;
  3. $catres = mysql_query("SELECT * FROM ad_cat ORDER BY naam ASC");
  4. while($catf = mysql_fetch_array($catres)) {
  5. ?>
  6. <td width="25%"><a href="index.php?pagina=advertenties&actie=bekijkcat&cat=<?=$catf['id'] ?>">
  7. <?=$catf['naam']?>
  8. </a> <?php
  9. $adsincat = mysql_num_rows(mysql_query("SELECT * FROM ads WHERE cat='".$catf['id']."'"));
  10. echo "<span style=\"adsincat\">(".$adsincat.")</span>";
  11. ?><br></TD>
  12. <?php
  13. if ($count == "4") {
  14. $count = 0;
  15. ?>
  16. </TR><TR>
  17. <?php
  18. }
  19. $count++;
  20. }
  21. ?>
  22. </table>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s