Twee Arrays in tabel weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ron Brouwers

Ron Brouwers

23/06/2012 21:20:42
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 } ?>


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
 
PHP hulp

PHP hulp

29/12/2024 13:34:43
 
- SanThe -

- SanThe -

23/06/2012 21:44:17
Quote Anchor link
Het lijkt mij niet dat bovenstaand script de output van die pagina geeft.
 
Joren de Wit

Joren de Wit

23/06/2012 22:15:09
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>

Zoiets?
 
Obelix Idefix

Obelix Idefix

23/06/2012 22:29:03
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
?>

Waarom zo 'moeilijk' doen en niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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"
;
?>
 
Ron Brouwers

Ron Brouwers

23/06/2012 22:42:27
Quote Anchor link
Thanks, door middel van dit heb ik het werkend gekregen! Harstikke bedankt :D

Joren de Wit op 23/06/2012 22:15:09:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>

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)
PHP script in nieuw venster Selecteer het PHP script
1
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'];
?>


En op het einde doe ik $row_count++;
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.