PHP voorkom dubbele nummers

Status
Niet open voor verdere reacties.

NeedForSpeed

Gebruiker
Lid geworden
17 jan 2008
Berichten
245
Een hele goeiemorgen, heb vandaag een vraag waar ik zelf niet uitkom.
Met het onderstaanden script haal ik uit het tabel DWA's Klantvraag nummers, maar bij de output wil ik er voor zorgen dat alle klantvraagnummers unique zijn.

De output is momenteel namelijk vaak dubbel omdat er dubbele straten in het systeem staan met zelfde Klantvraag en hij dan denkt dat hij die ook moet pakken.
Dat betekent dus dat meerdere Klantvraag nummers eigenlijk 1 volledige case is, maar wel dubbel is i.v.m. de verschillende straten + huisnummer.

Bijvoorbeeld.

Klantvraag: 55
Klantvraag: 55
Klantvraag: 55
Klantvraag: 55
Klantvraag: 55

Pakt hij 5 keer omdat er 5 straten met verschillende huisnummers maar wel met deze klantvraag staan dat is dus 1 case.

PHP:
<label>Klantvraag nummer:</label>
<select name="kvraagnummer">
<option value="-">Kies uit lijst</option>
<?php 
include("config/instellingen.php");
$query = "SELECT Klantvraag FROM `DWA` WHERE `Status DWA` = 'DBAA' AND `Kenmerk` > ''";
if ($result = mysqli_query($connect, $query)) {
while ($get = mysqli_fetch_assoc($result)) {
echo '<option value="' . $get['Klantvraag'] . '">' . $get['Klantvraag'] . '</option>';
    }
 }
?>	
</select>
 
Laatst bewerkt:
Vraag is opgelost hier eventueel een antwoord voor andere zoekende

PHP:
$query = "SELECT DISTINCT Klantvraag FROM `DWA` WHERE `Status DWA` = 'DBAA' AND `Kenmerk` > ''";
 
Laatst bewerkt:
Voor wie het antwoord zoekt: DINSTINCT moet zijn DISTINCT
 
Hoewel de code in PHP is geschreven was het een MySQL-probleem, om die reden dus verplaatst :)
 
Als de kolom Klantvraag inderdaad een getal is dan kun je daar een index op plaatsen in GROUP-BY misbruiken, afhankelijk van hoeveel resultaten je krijgt kan dat significant sneller zijn dan DISTINCT.


ps: vanwaar die griezelige kolomnamen met spaties er in?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan