login  Naam:   Wachtwoord: 
Registreer je!
 Forum

for probleem?

Offline gijs - 19/10/2005 12:11 (laatste wijziging 19/10/2005 12:11)
Avatar van gijsHTML beginner In mijn database zitten (o.a.) facturen. Deze hebben de sleutel factuurid en de vreemde sleutel klantid.

Nu wil ik door middel van een klant id, de bijbehorende facturen uit de database halen. Dat lukt, maar het resultaat wil niet helemaal kloppen.

  1. <?php
  2. $res = mysql_query("SELECT * FROM ian_factuur WHERE klantid='$klantid'");
  3. while ($arr = mysql_fetch_assoc($res))
  4. {
  5. for($i = 1; $i < $totaalfacturen; $i++)
  6. {
  7. echo "<a href='factuur.php?factuurid=" . $arr[factuurid] . "'>";
  8. echo "Factuur ";
  9. echo $i;
  10. echo "</a>";
  11.  
  12. if($i < $totaalfacturen - 1)
  13. {
  14. echo "<br>";
  15. }
  16. }
  17. }
  18. ?>


Met deze code worden de bijbehorende facturen uit de db gehaald en onder elkaar gezet, en er zit een link aan vast.

Deze code geeft als resultaat:
Factuur 1 (met een link naar 2)
Factuur 2Factuur 1 (met een link naar 2)
Factuur 2 (met een link naar 6)

Terwijl het resultaat dit zou moeten zijn:
Factuur 1 (met een link naar 2)
Factuur 2 (met een link naar 6)

Dat de link nummers niet hetzelfde zijn als de factuurnummers komt omdat er meerdere klanten en meerdere facturen zijn.

Weet iemand wat er niet goed is aan mijn code, en hoe ik het moet oplossen?

5 antwoorden

Gesponsorde links
Offline Thomas - 19/10/2005 12:19
Avatar van Thomas Moderator
  1. <?php
  2. $res = mysql_query("SELECT * FROM ian_factuur WHERE klantid='$klantid'");
  3. $i = 0;
  4. $aantal = mysql_num_rows($res);
  5.  
  6. while($arr = mysql_fetch_assoc($res)) {
  7. $break = $i < $aantal-1 && !($i % 2) && $i > 0;
  8. ?>
  9. <a href="factuur.php?factuurid=<?= $arr['factuurid'] ?>">Factuur <?= $i ?></a><?= ($break) ? "<br />" : "" ?>
  10. <?php
  11. $i++;
  12. }
  13. ?>
Offline Wijnand - 19/10/2005 12:21 (laatste wijziging 19/10/2005 12:22)
Avatar van Wijnand Moderator Wat wil je precies?

Je hebt in de DB facturen staan. Bij een factuur zit een klantnummer. Nu wil je van een klant alle facturen laten zien? Heb ik dat goed of wil je iets anders?


Zoja, dan is dit misschien de oplossing:
  1. <?php
  2. $res = mysql_query("SELECT * FROM `ian_factuur` WHERE `klantid` = '" . $klantid . "' ");
  3. while ($arr = mysql_fetch_array($res))
  4. {
  5. for($i = 1; $i < $totaalfacturen; $i++)
  6. {
  7. echo '<a href="factuur.php?factuurid=' . $arr['factuurid'] . '">';
  8. echo 'Factuur ';
  9. echo $i;
  10. echo "</a>";
  11. }
  12. }
  13. ?>
Offline gijs - 19/10/2005 12:22
Avatar van gijs HTML beginner De code die FangorN heeft gegeven werkt! Dank voor de reacties. 
Offline Thomas - 19/10/2005 12:44 (laatste wijziging 19/10/2005 12:44)
Avatar van Thomas Moderator Ik neem trouwens aan dat je 2 factuur-linkjes per regel wilde hebben?
Anders moet je gewoon na elke factuur-link een <br /> zetten en dat $break-verhaal eruit gooien.
Offline gijs - 19/10/2005 13:23
Avatar van gijs HTML beginner @ FangorN: Dat had ik al aangepast, nogmaals bedankt. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.222s