Geen dubbele date ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dietger marechal

dietger marechal

05/07/2007 17:26:00
Quote Anchor link
Ik heb dus de query :

SELECT categorie.naamcat, producten.naam, producten.prijs
FROM `producten`
JOIN categorie ON ( producten.cat_id = categorie.id )
WHERE categorie.cat =2
ORDER BY categorie.naamcat ASC

en dit geeft als resultaat:

http://img388.imageshack.us/img388/1192/probleembh1.jpg

Kan je nu via de query van mysql de dubbele data negeren ? Dus dat er bv naar 1 keer beamer en projectiedoeken staat.
 
PHP hulp

PHP hulp

10/01/2025 02:44:05
 
TJVB tvb

TJVB tvb

05/07/2007 17:56:00
Quote Anchor link
Dat kan met GROUP BY maar dan krijg je dacht ik niet de rest van de informatie op die manier.

Je kunt natuurlijk bij het maken van die tabel ook zorgen dat als ze hetzelfde zijn het niet nog een keer komt te staan.

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
<?php
$query
= "SELECT categorie.naamcat, producten.naam, producten.prijs
FROM `producten`
JOIN categorie ON ( producten.cat_id = categorie.id )
WHERE categorie.cat =2
ORDER BY categorie.naamcat ASC"

$result = mysql_query($query);

$last = '';
echo '<table><tr><td>naamcat</td><td>naam</td><td>prijs</td></tr>';
while($row = mysql_fetch_array($result)){
     echo'<tr><td>';
     if($last != $row['naamcat']){
          $last = $row['naamcat'];
          echo $row['naamcat'];
     }
else{
          echo ' '; //de spatie is om te zorgen dat het er netjes uitziet
     }
     echo '</td><td>'.$row['naam'].'</td><td>'.$row['prijs'].'</td></tr>';
}

echo '</table>';
?>
 
Joren de Wit

Joren de Wit

05/07/2007 18:02:00
Quote Anchor link
GROUP BY is in dit geval zeker geen oplossing. De database retourneert dan gewoon een willekeurige waarde waar je dus niets aan hebt...

Als je naar de resultaten kijkt, zie je dat alle records verschillend zijn. Als je wilt dat er maar 1x beamer en 1x projectiedoeken staat, moet je alleen de naamcat selecteren en niet de andere informatie. In zo'n geval kun je namelijk DISTINCT gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT DISTINCT naamcat
FROM tabel
 



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.