login  Naam:   Wachtwoord: 
Registreer je!
 Forum

while lus met break (Opgelost)

Offline wickedsid - 07/06/2011 11:21
Avatar van wickedsidLid Hallo,

ik heb een query gemaakt op mijn DB en die is als volgt:
  1. SELECT doss.main_id,kad.KAD_GETAL, kad.kad_let, kad.kad_cijf FROM main doss,aanvr a,KAD kad WHERE a.aanvr_nr = doss.nr_aanvr AND a.aanvr_jr = doss.jr_aanvr AND a.AANVR_JR = kad.KAD_AANVJR AND a.AANVR_NR = kad.KAD_AANVNR AND doss.main_id IN (65856,65870,65871,65889,65894)


Het resultaat hieruit is:
65856 271 E 2
65870 333 F 19
65871 1449 D 0
65889 1143 H 0
65889 1143 K 0
65894 332 K 14

Nu wil ik het volgende afdrukken op het scherm:
dossier: 65856 nummer: 271 E 2
....
dossier: 65889 nummer: 1143 H 0, 1143 K 0
---> omdat de ID hier hetzelfde is...

maar vind het van geen kanten.
Heb al de ID in een variabele geduwd, vergeleken met de volgende en als ze gelijk waren, proberen dit record over te slaan met een break, maar dan wordt het natuurlijk niet afgeprint...

iemand een idee??
thanks!

5 antwoorden

Gesponsorde links
Offline cx1213 - 07/06/2011 13:03
Avatar van cx1213 Lid je kan toch gewoon de data opslaan in een tijdelijke variable wanneer dan het id over een komt voeg je het toe zoals je daar hebt staan anders print je het.
Bedankt door: wickedsid
Offline marten - 07/06/2011 13:51
Avatar van marten Beheerder
  1. $aKey [$id] [] = $value;


Zo kan je bijvoorbeeld alle values opslaan bij een bepaald id. Vervolgens loop je door de array en print het resultaat.
Bedankt door: wickedsid
Offline wickedsid - 07/06/2011 13:53
Avatar van wickedsid Lid Bedankt voor je reactie.
Ben al iets verder.

mijn code is (vereenvoudigd)
  1. <?php
  2. $main_id_oud = '';
  3. while( $row_lijst = sqlsrv_fetch_array( $stmt_lijst, SQLSRV_FETCH_ASSOC)){
  4. if($main_id_oud != $row_lijst['bv_main_id']){
  5. // PRINT ALLE INFO!!
  6. }else{
  7. // VUL VAR MET WAARDE!!
  8. }
  9. $main_id_oud = $row_lijst['bv_main_id'];
  10. }
  11. ?>


Maar het resultaat is nu:
dossier: 65856 nummer: 271 E 2
....
dossier: 65889 nummer: 1143 H 0
dossier: 65894 nummer: 1143 K 0, 332 K 14

Dus hij wordt te laat geprint...

ideeën? 
Offline marten - 07/06/2011 14:29
Avatar van marten Beheerder Aanvullen is .= en niet =
Offline wickedsid - 07/06/2011 16:46
Avatar van wickedsid Lid thanks marten, dat was de oplossing!!!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s