Ciclo while

  • Creatore Discussione Creatore Discussione minatore
  • Data di inizio Data di inizio

minatore

Utente Attivo
25 Set 2007
410
0
0
Buonasera a tutti, attraverso un ciclo while prelevo dei dati da una cartella e voglio stampare una tabella di tre celle, quindi se all'intreno della cartella ci sono 12 elementi, verranno stampate 4 righe da tre celle, vi scrivo il codice di partenza
PHP:
// Percorso della cartella
$dir = ("lavori");
// Apro la cartella
$dh = opendir($dir);
$conta = 1;
echo"
<table border='1'>";
	if($conta = 1)
		{
			echo"<tr>";
			while(($file = readdir($dh)) !== false) 
				{
					if ($file[0] != ".")
						{
							if($conta = 3)
								{
									echo"<td height='40'>$file</td>";
									$conta++;
								}
						}
				}
			echo"</tr>";
		}
echo"
</table>";
Grazie per l'aiuto
 
ciao
prova così
PHP:
<?php
// Percorso della cartella
$dir = ("lavori");
// Apro la cartella
$dh = opendir($dir);
$conta = 1;
echo "<table border='1'>";
while(($file = readdir($dh)) !== false){
	if($conta==1){ echo "<tr>";}
		if ($file[0] != "."){
			echo"<td height='40'>$file</td>";
			$conta++;
		}
	if($conta==3){
		$conta=1;
		echo "</tr>";
	}
}
echo "</table>"; 
?>
poi un'osservazione perche non usi glob che ti semplifichi la vita, metto esempio che i file lavori siano di tipo .txt (ma può essere un'altra estenzione)
PHP:
<?php
$dir = "lavori";
$files=glob($dir."/*.txt");//estrae dalla cartella lavori tutti i file con estenzione .txt
$conta = 1;
echo "<table border='1'>";
foreach ($files as $file){
	if($conta==1){ echo "<tr>";}
		echo"<td height='40'>$file</td>";
		$conta++;
	if($conta==3){
		$conta=1;
		echo "</tr>";
	}
}
?>
 
Ciao Borgo, funziona benissimo, per creare 3 celle ho dovuto solo cambiare
PHP:
if($conta==3){...
in questo
PHP:
if($conta==4){...
e terrò conto anche della funzione
Codice:
glob
Grazie tante alla prossima un saluto da minatore
 

Discussioni simili