Hoi,
Ik heb de volgende QUERY
$query_names = mysql_query("select DISTINCT agentnaam FROM tba ORDER BY agentnaam ASC");
$agenttot = mysql_fetch_array($query_names))

Echter er zijn 2 tabellen waar agentnaam in kunnen staan, nml afgehandeld
Hoe kan ik Distinct gebruiken om in beide alle unieke namen te laten selecteren maar wat wel als variable terugkomt zodat ik die kan echoen als:

$ad = $agenttot['agentnaam'];

Iemand een idee? Ik zag mogelijkehden met UNION of de tabelnamen gewoon scheiden met komma, maar dat werkte bij mij niet.
hoe lees je die dan uit?

$ad = $agenttot['agentnaam'];
$ad = $agenttot['afgehandeld_door'];

het lukt mij alleen op die manier.. en niet alleen door: $ad = $agenttot['agentnaam'];

[size=xsmall]Toevoeging op 14/10/2014 10:12:14:[/size]

Oh, ik zie het al... as naam... die ff gemist.
Ja... het gaat de goede kant op.. ik krijg wel een rare output. Helemaal fout kan ik niet zeggen maar helemaal goed ook nog niet... ff uitspitten wat er nu nog mis is...

[size=xsmall]Toevoeging op 14/10/2014 10:19:00:[/size]

Ah... ik zie het al. Er zijn velden leeg. Agentnaam zal nooit leeg zijn maar Afgehandeld_door kan wel leeg zijn.

Hoe kan ik die eruit filteren?

[size=xsmall]Toevoeging op 14/10/2014 10:35:14:[/size]

Ik heb nu dit:

$query_names = mysql_query("SELECT agentnaam AS naam FROM tba UNION SELECT afgehandeld_door AS naam FROM tba WHERE afgehandeld_door != NULL");

Helaas mis ik wel namen die wel voorkomen in afgehandeld_door

[size=xsmall]Toevoeging op 14/10/2014 10:46:05:[/size]

ingewikkeld hoor...
oke, die legen namen zijn denk ik wel goed alleen de naam wordt niet in AS NAAM gezet...
Want de overige data wordt wel uitgelezen zo ver ik nu kan achterhalen.

[size=xsmall]Toevoeging op 14/10/2014 12:30:59:[/size]

wow... yes! het is gelukt! :)
Paar foutjes nog elders gevonden en nu is het klaar... top!!

@jan, dat was idd de oplossing. Bedankt!!
De rest ook bedankt voor meedenken enzo!
Je kunt na mysql_fetch_array eens een print_r of var_dump doen met het resultaat van de mysql_fetch_array.
Dan zie je duidelijk wat er terugkomt uit je sql.

Misschien dat dat helpt om je vragen op te lossen.

Weet je zeker dat afgehandeld_door NULL is, misschien is het gewoon leeg. Probeer dit eens:

SELECT agentnaam AS naam FROM tba
UNION 
SELECT afgehandeld_door AS naam FROM tba WHERE afgehandeld_door <> ' ' 
<> is volgens mij hetzelfde als =
maar het is al opgelost... het werkt nu zoals ik wilde :)

Die var_dump kende ik nog niet... dus das een welkome tip again :)

dit is nu de query die doet wat ik wilde:

$query_names = mysql_query("SELECT agentnaam AS naam FROM tba UNION SELECT afgehandeld_door AS naam FROM tba WHERE afgehandeld = 1");

En de blanco namen kwam omdat ik Naam niet echode maar nog de oude variabele.
WHERE afgehandeld_door != NULL

Let op: als je met null-waardes gaat werken, moet je altijd IS NULL of IS NOT NULL gebruiken.

<> is volgens mij hetzelfde als =

Dat is alleen wanneer je vergelijkt met NULL. Een vergelijking met NULL levert altijd de waarde NULL/false op.
afgehandeld_door heeft geen NULL waarde in de database...
Maar het werkt, daar gaat het om :)

Thnx!
> afgehandeld_door heeft geen NULL waarde in de database...

Database-technisch zou ik het logischer vinden als dat wel het geval was. ;-)
misschien heb je wel gelijk, maar het werkt... en daar gaat het in mijn geval om :)
bijschaven e.d. komt nog wel een x ;)

Reageren