Kijken of vorige lijn dezelfde waarde heeft

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans Vereyken

Hans Vereyken

01/08/2008 11:58:00
Quote Anchor link
Hallo allemaal.
Ik begrijp niet waarom deze code niet doet wat ik ervan verwacht:
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
31
<?php
$i
=0;
    while($i<$num){
        $id=mysql_result($result,$i,"id");
        $stem=mysql_result($result,$i,"stem");
        if($i=="0"){
            $stem2="bla";
        }
else{
            $stem2=mysql_result($result,$i-1,"stem");
        }

        $voornaam=mysql_result($result,$i,"voornaam");
        $achternaam=mysql_result($result,$i,"achternaam");
        $straat=mysql_result($result,$i,"straat");
        $nummer=mysql_result($result,$i,"nummer");
        $postnummer=mysql_result($result,$i,"postnummer");
        $gemeente=mysql_result($result,$i,"gemeente");
        $geboortedatum=date("d-m-Y",strtotime(mysql_result($result,$i,"geboortedatum")));
        $telefoon=mysql_result($result,$i,"telefoon");
        $gsm=mysql_result($result,$i,"gsm");
        $email1=mysql_result($result,$i,"email1");
        $email2=mysql_result($result,$i,"email2");
        $lid=mysql_result($result,$i,"lid");
        if(!$stem==$stem2){
            echo "<br>".$stem."<br><br>";
        }

        //echo $stem."<br>";
        //echo $stem2."<br>";

        echo $voornaam." ".$achternaam."<br>";
        $i++;
    }

?>

De code is nog lang niet af, want de meeste gegevens worden nog niet geprint. Het is de bedoeling om $stem enkel te printen als de waarde verschillend is van de vorige lijn uit de $result van de mysql_query. Ik dacht dit zo op te lossen maar hij doet het niet. Blijkbaar zijn $stem en $stem2 steeds gelijk, maar dat is niet waar, dat kan ik zien als ik zowel $stem als $stem2 print... (regel 26-27).
Dit lijkt zo een idioot probleem, maar ik vind de fout niet.
Kan iemand mij helpen?
Gewijzigd op 01/01/1970 01:00:00 door Hans Vereyken
 
PHP hulp

PHP hulp

27/11/2024 05:28:25
 
Jacco Engel

Jacco Engel

01/08/2008 12:00:00
Quote Anchor link
!$stem==$stem2

Ga mij uitleggen wat jij denkt dat het ! toevoegt
 
Robert Deiman

Robert Deiman

01/08/2008 12:02:00
Quote Anchor link
Als je dat wilt moet je het zo doen:

if($stem != $stem2)

of zo:

if(!($stem == $stem2)
 
Hans Vereyken

Hans Vereyken

01/08/2008 12:02:00
Quote Anchor link
if($stem==$stem2)
voorwaarde is voldaan als de waardes gelijk zijn

if(!$stem==$stem2)
voorwaarde is voldaan als de waardes niet gelijk zijn

Hier zit ik toch niet fout? :s
 
Douwe

Douwe

01/08/2008 12:03:00
Quote Anchor link
Regel 23 moet
if($stem!=$stem2){
zijn. == is gelijk, != is ongelijk.
En waarom gebruik je mysql_result()?
Gewijzigd op 01/01/1970 01:00:00 door Douwe
 

01/08/2008 12:05:00
Quote Anchor link
Waarschijnlijk denkt ie aan if(!$result) e.d. maar hij bedoelt natuurlijk !=...

@TS kijk eens naar mysql_fetch_assoc.
 
Hans Vereyken

Hans Vereyken

01/08/2008 12:05:00
Quote Anchor link
Ok, nu doet hij het.
Kan iemand mij vertellen waarom mijn idee niet werkt? ik heb het nooit anders gedaan...
 
Douwe

Douwe

01/08/2008 12:06:00
Quote Anchor link
Zie Karl's post ;)
En:
http://nl.php.net/mysql_result:
When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than mysql_result().

mysql_fetch_assoc() gebruiken dus!
Gewijzigd op 01/01/1970 01:00:00 door Douwe
 

01/08/2008 12:08:00
Quote Anchor link
En zie operators, als je die niet kent...
 
Hans Vereyken

Hans Vereyken

01/08/2008 12:13:00
Quote Anchor link
Bedankt iedereen, ben nog nooit zo snel verder geholpen!
Ik probeer php onder de knie te krijgen door zelf eenvoudige dingen te schrijven en ook van php scripts van andere te ontcijferen, ik heb een foute conclusie getrokken over wat ! juist betekend. Ik heb de link van Karl bekeken en het is me duidelijk nu.
Ik ga ook proberen met de mysql_fetch_assoc!

Bedankt!
 



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.