Kijken of vorige lijn dezelfde waarde heeft
Ik begrijp niet waarom deze code niet doet wat ik ervan verwacht:
Code (php)
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
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++;
}
?>
$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
Ga mij uitleggen wat jij denkt dat het ! toevoegt
if($stem != $stem2)
of zo:
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
if($stem!=$stem2){
zijn. == is gelijk, != is ongelijk.
En waarom gebruik je mysql_result()?
Gewijzigd op 01/01/1970 01:00:00 door Douwe
Kan iemand mij vertellen waarom mijn idee niet werkt? ik heb het nooit anders gedaan...
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
operators, als je die niet kent...
En zie 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!