Заполнить таблицу html из масива

DataKill

Новичок
echo "<table border=1 align=center width=980>";
while($row=mysql_fetch_array($result)){
if($i=1){
echo "<TR><TD>".$row[1]."</TD><TD></TD><TD></TD></TR>";
$i++;
}
elseif($i=2){
echo "<TR><TD></TD><TD>".$row[1]."</TD><TD></TD></TR>";
}
elseif($i=3){
echo "<TR><TD></TD><TD></TD><TD>".$row[1]."</TD></TR>";
$i=0;
}
}
echo "</table>";
Сделал, как ты говоришь... Выдает все в один столбик, как и было раньше :(
 

Фанат

oncle terrible
Команда форума
увеличивать счетчик нужно не внутри условия.
иначе он будет увеличиваться только при выполнении условия, а не при каждом проходе цикла

-~{}~ 15.02.09 14:16:

я только учусь, а учиться легче всего на примерах.
это враньё.
из имеющихся у тебя примеров ты не понял ни одной буквы. никакой учебной пользы готовый работающий пример не принесет.
 

Активист

Активист
Команда форума
PHP:
echo "<table border=1 align=center width=980>
<tr>";
$incr = 0;
while($row=mysql_fetch_array($result)){
$incr++;
if ($incr %3) echo "</tr><tr>";
echo "<td>".$row[1]."</td><td>2</td><td>3</td>";
}
echo "</tr></table>";
 

Фанат

oncle terrible
Команда форума
лично мне по душе второй вариант, с двумя вложенными циклами.
а если уж делать со счетчиком, то для понимания, конечно же, if $i==3; $i=0 гораздо понятнее, чем акие-то проценты.
 

Beavis

Banned
в этой задаче главные нюансы, это правильно всё вывести при отсутствии данных и не забыть продолжать выводить пустые ячейки таблицы если данных не хватает на последнюю строку... поэтому с двумя циклами это сделать проще.
 

DataKill

Новичок
Вот это я имел в виду:
PHP:
<?
	$result = mysql_query($query);
	while($row=mysql_fetch_array($result)){
		$ar1[]=$row[0];
		$ar2[]=$row[1];
	}
	
	$count_else=bcmod(count($ar1),3);
	$count=intval(count($ar1)/3);    
	
	if ($count_else==1){$control=1;}else{$control=0;}

	echo "<table border=0 align=center width=980>";
	
	for($a=0, $b=$count+$count_else, $c=$count*2+$count_else+$control; $a<$count+$count_else; $a++,$b++,$c++){
  echo "<tr>";
    echo "<td>";
			echo "<a href='http://www.xxx.com/subcat.php?sub_cat_id=".$ar1[$a]."'>".$ar2[$a]."</a><br>";
		echo "</td>";
		echo "<td>";
			echo "<a href='http://www.xxx.com/subcat.php?sub_cat_id=".$ar1[$b]."'>".$ar2[$b]."</a><br>";
		echo "</td>";	
		echo "<td>";
			echo "<a href='http://www.xxx.com/subcat.php?sub_cat_id=".$ar1[$c]."'>".$ar2[$c]."</a><br>";
		echo "</td>";
  echo "</tr>";
	}  		
	echo '</table>';
?>
Тема закрыта
 

Фанат

oncle terrible
Команда форума
ну, для чайника неплохо.
особенно bcmod меня впечатлил
хотя, конечно, закрывать ты поторопился - тут еще учить язык и учить.
впрочем, если тебе это далось тяжким недельным трудом, то, пожалуй да, надо отдохнуть сначала =)
 
Сверху