Autor Zpráva
čert
Profil *
Ahoj,

mám script, který by měl udělat tabulku:

1|2|3|4|
5|6|7|


pokud by bylo zadáno 4 sloupce a v poli byli číska od 1-7

bohužel, se mi to nepovedlo:

mám tehle kód:

$array = range(1, 10);
$numberCols = 4;


echo "<table border=\"1\">\n";
for($i=0; $i<count($array); $i++) {
echo "<tr>\n";
	for($a=0; $a<$numberCols; $a++) {
	echo "<td>".$array[$i]."</td>\n";
	}
echo "</tr>\n";
}
echo "</table>";


bohužel výsledný kód je:

1|1|1|1|
2|2|2|2|
3|3|3|3|
...atd


nevíte, jak poupravit kód, aby byl výsledek takový jaký chci? děkuju a pěknej silvestr
Mastodont
Profil
	for($a=0; $a<$numberCols; $a++) {
	echo "<td>".$array[$i]."</td>\n";
	}


Tam snad patří $array[$a], ne? A proč jdeš od nuly?
Joker
Profil
čert
Víme, například:
$array = range(1, 10);
$numberCols = 4;

echo '<table style="border: 1px solid black">\n<tr>';
for($i=0; $i<count($array); $i++) {
echo("<td>".$array[$i]."</td>");
if(($i % $numberCols) == 0) echo("</tr><tr>");
}
echo "</tr></table>";
Tim
Profil *
Joker: zkoušel jsi ten kód? Máš tam 3 chyby.

$array = range(1, 4);
$numberCols = 4;

echo "<table style=\"border: 1px solid black\">\n<tr>";
for($i=0; $i<count($array); $i++) {
  echo "<td>".$array[$i]."</td>";
  if((($i+1) % $numberCols) == 0 and ($i+1) < count($array)) echo "</tr><tr>";
}
echo "</tr></table>";
čert
Profil *
Tim

děkuju, tvé řešení funguje, děkuju i Mastodont, Joker za snahu. Vypadá to moc pěkně:-)

Mohl by se ještě zeptat, jak vložit mezeru (&nbsp;) do buňky, která bude prázdná? ve který nebude hodnota v poli, aby to tu tabulku nedeformovalo?
čert
Profil *
nikdo neví?
Akacko
Profil
čert
Například podmínkou, pokud je hodnota prázdna vypíšeš &nbsp; jinak hodnotu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0