webForumDet fria alternativet

Hur loopar jag ut tre bilder och sen ny rad?

PHPur PHP

3 svar · 277 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Hej,

Jag håller på med en liten bildfunktion. Försöker loopa ut ett godtyckligt antal thumbnails som man ska kunna välja men jag får de efter varandra vertikalt. Jag skulle vilja skriva ut tre bilder horisontellt i en tabell, därefter ny rad med tre nya bilder och sen att det fortsätter så tills variabeln är tömd. Hur gör man? Har ett svagt minne av att man använder en for-sats. Läser man antal poster i variabeln för att avgöra hur länge for-satsen skall hålla på?

Detta är koden jag använder:

<?php
	$sqlSelect = "SELECT * FROM tblpicturesthumbnails";
	$RSobj = mysql_query($sqlSelect) or die (mysql_error());
	?>
	<table width="698px">

		<tr>
			<td>
			<?php while($picture = mysql_fetch_array($RSobj)) { 
			$temp = substr($picture['filename'], 0, strlen($picture['filename'])-4); 
			$value = intval($temp); 
			?>
			<img src="<? echo $picture['path'].$picture['filename']; ?>" onclick="f('<? echo $value; ?>')"><br />
			<?php } ?>
			</td>
		</tr>
		
	
	
	</table>
Medlem sedan mars 2003429 inlägg
#2

for-sats skulle funka,
Sen för att vara säker på att de hamnar på samma rad kan du ju slänga in dom i en tabellsrad, sen börja på en ny för nästa tre, då behöver du ju inte oroa dig om bredden på sidan/bilderna.
Du kan t.ex. hålla reda på radbrytningar med ett vanligt index, att bryt när den är uppe i 3 och sen kör från början.

Medlem sedan apr. 20041 597 inlägg
#3

Roger that!

Medlem sedan juli 20033 147 inlägg
#4

Eller..

$i = 1;
while() {

	echo '
	<td>innehåll</td>
	';

	if($i == 3) {
		echo '
		</tr>
		<tr>
		';
		$i = 0;
	}

	$i++;

}
138 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)