Hallo mensen,

Bekijk onderstaand voorbeeld:

http://www.touchofdarkness.com/groc/index.php

De categorieen zoals "Brood", "Beleg" etc moeten maar 1 keer worden weergegeven MAAR alle artikelen die daaronder hangen moeten wel gewoon netjes worden weergegeven onder de hoofdcategorie. Echter ik krijg het niet voor elkaar. Hieronder is mijn code:

<?php
include "config.php";

$query = "SELECT DISTINCT bsd_items.name, bsd_artikelen.naam ".
 "FROM bsd_items, bsd_artikelen ".
    "WHERE bsd_items.id = bsd_artikelen.bid";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){
?> 

<tr>
<td><strong><?php echo $row['name']; ?></strong></td>
</tr>

<tr>
<td><?php echo $row['naam']; ?></td>
</tr>

<?php } ?>


Als iemand mij op weg kan helpen dan GRAAG. Ben al de hele avond aan het googlen maar ik kom er maar niet uit ...
Het lijkt mij niet dat bovenstaand script de output van die pagina geeft.
<?php
$prev_name = '';
$output = '';
while($row = mysql_fetch_array($result)){

if($row['name'] != $prev_name) {
$prev_name = $row['name'];
$output .= '<tr>
<td><strong>'.$row['name'].'</strong></td>
</tr>';
}

$output .= '<tr><td>'.$row['naam'].'</td></tr>';
}

echo $output;
?>
Zoiets?
<?php
$query = "SELECT DISTINCT bsd_items.name, bsd_artikelen.naam ".
"FROM bsd_items, bsd_artikelen ".
"WHERE bsd_items.id = bsd_artikelen.bid";
?>
Waarom zo 'moeilijk' doen en niet
<?php
$query = "SELECT DISTINCT bsd_items.name, bsd_artikelen.naam
FROM bsd_items, bsd_artikelen
WHERE bsd_items.id = bsd_artikelen.bid";
?>
Thanks, door middel van dit heb ik het werkend gekregen! Harstikke bedankt :D

Joren de Wit op 23/06/2012 22:15:09

<?php
$prev_name = '';
$output = '';
while($row = mysql_fetch_array($result)){

if($row['name'] != $prev_name) {
$prev_name = $row['name'];
$output .= '<tr>
<td><strong>'.$row['name'].'</strong></td>
</tr>';
}

$output .= '<tr><td>'.$row['naam'].'</td></tr>';
}

echo $output;
?>
Zoiets?




Toevoeging op 23/06/2012 23:26:44:

Om hier nog even op terug te komen, ik zit nu te klooien met de grid kleuren, ze moeten bij elke nieuwe categorie ook opnieuw beginnen te tellen bij 0 in principe.

<?php
include "config.php";

$prev_name = '';
$output = '';

$color1 = "gridrow1"; 
$color2 = "gridrow2"; 
$row_count = 0;

$query = "SELECT bsd_items.name, bsd_artikelen.naam, bsd_actual.prijs ".
 "FROM bsd_items, bsd_artikelen, bsd_actual ".
    "WHERE bsd_items.id = bsd_artikelen.bid AND bsd_actual.aid = bsd_artikelen.id ORDER BY bsd_items.id";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){

$row_color = ($row_count % 2) ? $color1 : $color2;

  if($row['name'] != $prev_name) {
    $prev_name = $row['name'];
?>


En op het einde doe ik $row_count++;

Reageren