Всем доброе утро! Есть вот такая таблица: PHP: <table> <?php while($row=mysql_fetch_array($result)):?> <tr> <td><?php echo $row[0];?></td> <td><?php echo $row[1];?></td> </tr> <?php endwhile;?> </table> Можно ли объединить первый столбец через каждый 3 строки? Спасибо!
PHP: <table> <?php while($row=mysql_fetch_array($result)):?> <tr> <td rowspan="3"><?php echo $row[0];?></td> <td><?php echo $row[1];?></td> </tr> <?php endwhile;?> </table>
Во-первых, вместо mysql используй mysqli или PDO. Во-вторых первый столбец объединить с чем? --- Добавлено --- PHP: <table> <?php $i = 1; while($row=mysqli_fetch_array($result)): if($i%3): echo '<tr> <td rowspan="3">'.$row[0].'</td> <td>'.$row[1].'</td> </tr>'; else: echo '<tr> <td>'.$row[1].'</td> </tr>'; endif; $i++; endwhile; ?> </table>
Result вот такая: __________ Иван | 1000 __________ Иван | 2000 __________ Иван | 3000 __________ Мне нужно вот так: __________ _____| 1000 __________ Иван | 2000 __________ _____| 3000 __________
@Искандар, немного ошибся. Вот так должно работать: PHP: <table> <?php $i = 0; while($row=mysqli_fetch_array($result)): if (($i%3) == 0): echo '<tr> <td rowspan="3">'.$row[0].'</td> <td>'.$row[1].'</td> </tr>'; else: echo '<tr> <td>'.$row[1].'</td> </tr>'; endif; $i++; endwhile; ?> </table>
Вот это точно работает: PHP: <table> <?php $arr = [1,2,3,4,5,6,7,8,9]; $i = 0; foreach($arr as $value): if (($i%3) == 0): echo '<tr> <td rowspan="3">Заголовок '.$i.'</td> <td>Параметр '.$value.'</td> </tr>'; else: echo '<tr> <td>Параметр '.$value.'</td> </tr>'; endif; $i++; endforeach; ?> </table>
Вам надо не объединять столбцы.. а создать условие когда в одном случае $row[0] и $row[1] будут помещаться в разные ячейки а в другом случае будет $row[0] и $row[1] помещаться в одну ячейку...
Вот этот вариант то что хотел). Оказывается я не заметил. У меня "mysql" PHP: while($row=mysqli_fetch_array($result)): Удалил букву "i" всё работает.) Тему можно закрыть. Всем спасибо!