Hallo allemaal.
Ik begrijp niet waarom deze code niet doet wat ik ervan verwacht:

<?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?
!$stem==$stem2

Ga mij uitleggen wat jij denkt dat het ! toevoegt
Als je dat wilt moet je het zo doen:

if($stem != $stem2)

of zo:

if(!($stem == $stem2)

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
Regel 23 moet
if($stem!=$stem2){
zijn. == is gelijk, != is ongelijk.
En waarom gebruik je mysql_result()?
Waarschijnlijk denkt ie aan if(!$result) e.d. maar hij bedoelt natuurlijk !=...

@TS kijk eens naar [php]mysql_fetch_assoc[/php].
Ok, nu doet hij het.
Kan iemand mij vertellen waarom mijn idee niet werkt? ik heb het nooit anders gedaan...
Zie Karl's post ;)
En:

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!
En zie [php]operators[/php], als je die niet kent...
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!

Reageren