Onderstaande code haalt een lijst van producten uit de database. Eerst de naam in een echo, dan een stukje zonder echo en dan de prijzen in een andere echo. Ik wist geen andere oplossing om het stukje zonder echo weer te geven. Probleem is nu dat hij eerst alle namen toont en dan alle prijzen. Terwijl het eigenlijk om en om moet zijn, naam + bijbehorende prijzen, enz.

Wie kan mij helpen om deze code in de juiste volgorde te krijgen?
Hartelijk dank, Angela Steevens


<?php

$producten_q = mysql_query("SELECT * FROM producten WHERE sc_id = '".$sc."' ORDER BY naam");
while($producten = mysql_fetch_object($producten_q)){

  echo"
  <tr>
    <td class=\"content_titel_groen\" colspan=\"2\">".$producten->naam." ".$producten->maat."</td>
    <td><a class=\"content_link_groen_product\" href=\"index.php?p=".$hc."&cat=".$sc."&prd=".$producten->id."\">informatie</a></td>
  </tr>";
  }
  ?>
  <tr>
    <td width="33%"><?php if($p == "1") { echo "1,5 kilo"; } else { echo "10 zaden"; } ?></td>
    <td width="33%"><?php if($p == "1") { echo "2,5 kilo"; } else { echo "25 zaden"; } ?></td>
    <td width="33%"><?php if($p == "1") { echo "5 kilo"; } else { echo "50 zaden"; } ?></td>
  </tr>

<?php

$producten_q = mysql_query("SELECT * FROM producten WHERE sc_id = '".$sc."' ORDER BY naam");
while($producten = mysql_fetch_object($producten_q)){

  echo"
  <tr>
    <td>&euro; ".$producten->prijs."</td>
    <td>&euro; ".$producten->prijs2."</td>
    <td>&euro; ".$producten->prijs3."</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><a class=\"content_link_groen_product\" href=\"index.php?p=".$hc."&cat=".$sc."&prd=".$producten->id."\">bestellen</a></td>
  </tr>
  <tr>
    <td colspan=\"3\" height=\"15\"></td>
  </tr>";
}
?>
Je moet geen 2 while()'s gebruiken maar 1.

Edit: Je post is nu niet echt leesbaar. Pas je post even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Om php code zet je uiteraard dit:<?php en ?>Gebruik je knop om dit te doen.

SanThe.
Dit zal vast nog lang niet goed zijn. Maar volgens mij moet je wel deze kant op.

<?php
$producten_q = mysql_query("SELECT * FROM producten WHERE sc_id = '".$sc."' ORDER BY naam");
while($producten = mysql_fetch_object($producten_q))
{
  echo'
  <tr>
    <td class="content_titel_groen" colspan="2">' . $producten->naam . ' ' . $producten->maat . '</td>
    <td><a class="content_link_groen_product" href="index.php?p=' . $hc . '&cat=' . $sc . '&prd=' . $producten->id . '">informatie</a></td>
  </tr>';
?>
  <tr>
    <td width="33%"><?php if($p == "1") { echo "1,5 kilo"; } else { echo "10 zaden"; } ?></td>
    <td width="33%"><?php if($p == "1") { echo "2,5 kilo"; } else { echo "25 zaden"; } ?></td>
    <td width="33%"><?php if($p == "1") { echo "5 kilo"; } else { echo "50 zaden"; } ?></td>
  </tr>
<?php
  echo'
  <tr>
    <td>&euro; ' . $producten->prijs . '</td>
    <td>&euro; ' . $producten->prijs2 . '</td>
    <td>&euro; ' . $producten->prijs3 . '</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><a class="content_link_groen_product" href="index.php?p=' . $hc . '&cat=' . $sc . '&prd=' . $producten->id . '">bestellen</a></td>
  </tr>
  <tr>
    <td colspan="3" height="15"></td>
  </tr>';
}
?> 
Perfecto ! Bedankt. Heb je enige uitleg bij de wijzigingen ten op zichte van mijn code?
Ik heb eigelijk alleen de tweede while() verwijderd en de eerste while() sluit nu pas helemaal onderaan. Dus alles zit nu in 1 loop. Verder, maar dat heeft niks met je probleem te maken, heb ik de echo's met enkele quotes gedaan zodat je de dubbele html quotes niet hoeft te escapen.
Bedankt, dat scheelt inderdaad een stuk!

Reageren