Archief - [PROG][PHP] Fout

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Rutger

Legacy Member
Ik ben bezig met een scriptje om ingeschreven leden per 4 in een rij weer te geven en dan over te gaan naar de volgende rij van de tabel, dit is mijn code... En ja, ik spring normaal gezien in, maar telenet forum toont het blijkbaar zo... Maar hij blijkt deze code niet juist uit te voeren :


<?php
$qryInschr="SELECT * FROM leden";
$resInschr=mysql_query($qryInschr);
while($i=mysql_fetch_array($resInschr)){

$voornaam=$i['Voornaam'];
$naam=$i['Naam'];
$foto=$i['Foto'];
$teller=0;


if($teller==4){
echo("</tr>");
$teller=0;
}else{
if($teller==0) {
echo("<tr>");
echo("<td><font face='comic sans ms'><img src=".$foto." width='200px' heigth='2OOpx' /><br>".$voornaam." ".$naam."</font></td>");
$teller++;
}else{
echo("<td><font face='comic sans ms'><img src=".$foto." width='200px' heigth='2OOpx' /><br>".$voornaam." ".$naam."</font></td>");
$teller++;
}
}
}
?>


Iemand die mij kan helpen?

Tyfius

Legacy Member
1. Telenet forum ondersteund PHP tags die wel mooi indenteren.
2. Je gebruikt bij je height 2OO (letter O) ipv 200 (cijfer 0)
3.
PHP:
<?php
$qryInschr	= "SELECT * FROM leden";
$resInschr	= mysql_query($qryInschr);
$teller 	= 0;	// Voor de while lus, je zet die elke keer op 0 dus dat gaat sowieso niet werken.

while($i = mysql_fetch_array($resInschr)){
	$voornaam	= $i['Voornaam'];
	$naam		= $i['Naam'];
	$foto		= $i['Foto'];
	
	if ($teller == 4) {
		echo '</tr>';
		$teller = 0; // Reset
	}
	if ($teller == 0) {
		echo '<tr>';
	}
	
	echo '<td>
		<font face="comic sans ms">
			<img src="'.$foto.'" width="200px" height="200px" />
			<br />'.$voornaam.' '.$naam.'
		</font>
		</td>';
	$teller++;
}

// Opvullen van de lege td's.
for ($i = 0; $i < $teller; $i++) {
	echo '<td></td>';
}

// Afsluiten van de tr indien de teller niet 0 was.
if ($teller != 0) {
	echo '</tr>';
}
?>

[BAT] Hydra

Legacy Member
Moet het niet

Code:
// Opvullen van de lege td's. 
for ($i = 0; $i < [COLOR="Magenta"](4 - $teller)[/COLOR]; $i++) { 
    echo '<td></td>'; 
}

zijn?

In dit stukje code zitten overbodige delen

Code:
// Afsluiten van de tr [COLOR="Magenta"]indien de teller niet 0 was[/COLOR]. 
[COLOR="Magenta"]if ($teller != 0) { [/COLOR]
    echo '</tr>'; 
[COLOR="magenta"]}[/COLOR]

het kan vervangen worden door

Code:
// Afsluiten van de tr. 
echo '</tr>';

Rutger

Legacy Member
Tyfius zei:
1. Telenet forum ondersteund PHP tags die wel mooi indenteren.
2. Je gebruikt bij je height 2OO (letter O) ipv 200 (cijfer 0)
3.
PHP:
<?php
$qryInschr	= "SELECT * FROM leden";
$resInschr	= mysql_query($qryInschr);
$teller 	= 0;	// Voor de while lus, je zet die elke keer op 0 dus dat gaat sowieso niet werken.

while($i = mysql_fetch_array($resInschr)){
	$voornaam	= $i['Voornaam'];
	$naam		= $i['Naam'];
	$foto		= $i['Foto'];
	
	if ($teller == 4) {
		echo '</tr>';
		$teller = 0; // Reset
	}
	if ($teller == 0) {
		echo '<tr>';
	}
	
	echo '<td>
		<font face="comic sans ms">
			<img src="'.$foto.'" width="200px" height="200px" />
			<br />'.$voornaam.' '.$naam.'
		</font>
		</td>';
	$teller++;
}

// Opvullen van de lege td's.
for ($i = 0; $i < $teller; $i++) {
	echo '<td></td>';
}

// Afsluiten van de tr indien de teller niet 0 was.
if ($teller != 0) {
	echo '</tr>';
}
?>

Echt, super bedankt, deze code werkt perfect ! Hoe moet ik het dan doen als ik zo gelijk jou de code laat zien zodat hij wel indenteert?

Mvg Rutger

killgore

Legacy Member
[BAT] Hydra zei:
In dit stukje code zitten overbodige delen

Code:
// Afsluiten van de tr [COLOR="Magenta"]indien de teller niet 0 was[/COLOR]. 
[COLOR="Magenta"]if ($teller != 0) { [/COLOR]
    echo '</tr>'; 
[COLOR="magenta"]}[/COLOR]

het kan vervangen worden door

Code:
// Afsluiten van de tr. 
echo '</tr>';
Nee hoor, anders loopt ie de kans met overbodige </tr>'s te zitten ;).

Tyfius

Legacy Member
Inderdaan, die for lus moet 4 - $teller worden.

Die </tr> kan in principe altijd geecho'd worden want ge gaat uw while lus nooit uitgaan met een </tr> als laatste, maar als ge geen elementen in uw while lus hebt, om uw tabel te doorlopen moet ge dus ook geen </tr> afdrukken, vandaar best die if controle.

'k Heb dat deze nacht om kwart na 1 geschreven zonder te testen, konden dus wel een paar fouten instaan :)

[BAT] Hydra

Legacy Member
Inderdaad als er geen enkel lid bestaat moet je die test doen, maar enkel en alleen dan. Nogal raar om een scriptje te schrijven dat leden toont als er geen enkel lid bestaat ;).

killgore

Legacy Member
Tyfius zei:
Die </tr> kan in principe altijd geecho'd worden want ge gaat uw while lus nooit uitgaan met een </tr> als laatste, maar als ge geen elementen in uw while lus hebt, om uw tabel te doorlopen moet ge dus ook geen </tr> afdrukken, vandaar best die if controle.

'k Heb dat deze nacht om kwart na 1 geschreven zonder te testen, konden dus wel een paar fouten instaan :)
idd, beetje miskeken, wel rare logica :p.

Tyfius

Legacy Member
Rutger zei:
Echt, super bedankt, deze code werkt perfect ! Hoe moet ik het dan doen als ik zo gelijk jou de code laat zien zodat hij wel indenteert?

Mvg Rutger
De PHP tags gebruiken, knop vindt u daar:
php_tags_button.png
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan