Twee Arrays in tabel weergeven
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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 } ?>
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 ...
Gewijzigd op 23/06/2012 21:21:01 door Ron Brouwers
Het lijkt mij niet dat bovenstaand script de output van die pagina geeft.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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;
?>
$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?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query = "SELECT DISTINCT bsd_items.name, bsd_artikelen.naam ".
"FROM bsd_items, bsd_artikelen ".
"WHERE bsd_items.id = bsd_artikelen.bid";
?>
$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
Joren de Wit op 23/06/2012 22:15:09:
Zoiets?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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;
?>
$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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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'];
?>
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++;