2 x while met zelfde query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michael -

Michael -

25/06/2006 22:26:00
Quote Anchor link
Beste phphulpjes,

Even een vraagje onder het voetbal door :P
Ik heb 2 whiles uit 1 query, nou doet de 2e while helemaal niks. Waarom kan dit niet?

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
24
25
26
27
28
<?php
$s_leden
= mysql_query("SELECT mid,naam FROM online"); // de query voor de whiles
$totaal = mysql_num_rows($s_leden);

echo "Totaal online: ".$totaal."<br>\n";

$aantal_gasten = 0;
while($f_leden = mysql_fetch_object($s_leden)) { // de eerste while doet het gewoon
    if($f_leden->mid == 0) {
        $aantal_gasten++;
    }

    if($list['mid'] != 0) {
        continue;
    }
}

$aantal_members_online = ($totaal - $aantal_gasten);
echo "Leden online: ".$aantal_members_online."<br>";

if($aantal_members_online != 0)
{

    while($namen = mysql_fetch_object($s_leden)) // deze while doet niks
        {
    echo $namen->naam.",/n";
    }
}


echo "Gasten online: ".$aantal_gasten."<br>";
?>

Als ik de eerste while weg haal doet de 2e niks. Ofterwijl ik mag maar 1 while gebruiken van 1 query? Moet ik dan perse 2 query's maken? of is er een andere weg om toch de 2 whiles te krijgen?

Bvd!
Gewijzigd op 01/01/1970 01:00:00 door Michael -
 
PHP hulp

PHP hulp

17/11/2024 06:50:58
 
Eris -

Eris -

25/06/2006 22:28:00
Quote Anchor link
if($f_leden->mid == 0) {
$aantal_gasten++;
}

Kan je beter
$aantal_gasten = mysql_num_rows($s_lede);
doen

Maar je kan er maar 1 keer door een mysql_fetch_xxx heen loopen oplossing is door het op te slaan in de array en dan er mee verder werken..
 
Michael -

Michael -

25/06/2006 22:35:00
Quote Anchor link
Bedankt voor je reactie :) Beetje stom van mysql maar goed... Als het niet anders kan... :P Ik ga weer even voetbal kijken.
 
Frisbee

Frisbee

26/06/2006 09:26:00
Quote Anchor link
Je kunt je er wel 2 keer doorheen loopen. Je moet dan mysql_data_seek() gebruiken na je eerste while.

Je krijgt dan zoiets:

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
24
25
26
27
28
29
30
<?php
$s_leden
= mysql_query("SELECT mid,naam FROM online"); // de query voor de whiles
$totaal = mysql_num_rows($s_leden);

echo "Totaal online: ".$totaal."<br>\n";

$aantal_gasten = 0;
while($f_leden = mysql_fetch_object($s_leden)) { // de eerste while doet het gewoon
    if($f_leden->mid == 0) {
        $aantal_gasten++;
    }

    if($list['mid'] != 0) {
        continue;
    }
}

$aantal_members_online = ($totaal - $aantal_gasten);
echo "Leden online: ".$aantal_members_online."<br>";

mysql_data_seek($s_leden);

if($aantal_members_online != 0)
{

    while($namen = mysql_fetch_object($s_leden)) // deze while doet niks
        {
    echo $namen->naam.",/n";
    }
}


echo "Gasten online: ".$aantal_gasten."<br>";
?>


Voor meer info: php.net
Gewijzigd op 01/01/1970 01:00:00 door Frisbee
 
Michael -

Michael -

26/06/2006 18:12:00
Quote Anchor link
Bedankt voor je reactie! Het lijkt me niet echt een goede optie of wel? Ik zal eerst even met vars proberen en als dat niet lukt is dit altijd nog een oplossing :) En wel leuk te weten dat die functie ook bestaat :)
 



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.