Я хочу создать таблицу имен с 2 столбцами, где имена берутся из базы данных, но я не знаю, как .. Мне нужна помощь парням 🙁
имена: Джеймс, Иоанн, Павел, Петр
Вот мой код:
<?php $con = mysql_connect("localhost","root",""); if(!$con){ echo "Unable to connect DB"; }else{ $db = mysql_select_db("persons",$con); echo "Connected"; } echo "<table border='1'>"; $count = 0; $sql = "SELECT * FROM tbl_names"; $q = mysql_query($sql); while($res = mysql_fetch_array($q)){ $count++; echo "<tr>"; for($i=1;$i<=2;$i++){ echo "<td>{$res['id']}{$res['title']}</td>"; } echo "</tr>"; } echo "</table>"; ?>
Я хочу, чтобы результат был следующим:
+-------+-------+ | James | John | +-------+-------+ | Paul | Peter | +-------+-------+
Но мой код возвращается:
+-------+-------+ | James | Jame | +-------+-------+ | John | John | +-------+-------+ | Paul | Paul | +-------+-------+ | Peter | Peter | +-------+-------+
Мне нужна твоя помощь, ребята. Спасибо.
ну, если нет никакого отношения, и таблица используется только для макета:
echo '<div class="container">'; while($res = mysql_fetch_array($q)){ echo '<div class="item">'. $res['id'] . $res['title'] . '</div>'; } echo '</div>';
и в css:
.container { width: 400px; float: left; } .container .item { width: 50%; float: left; height: someFixedHeight; } // or 200px
в любом случае, я предпочитаю использовать таблицы только для отображения фактических таблиц и не использовать их для макета. вы можете делать все, что хотите, с помощью div (или в этом случае вы также можете использовать ul и li. Конечно, это не обязательно, но обычно это требует меньше HTML, а для SEO отношение html-content – это то, что нужно учитывать. t хотите фиксированные высоты, вы можете обернуть каждую строку, как с приведенными выше примерами td / tr.
echo "<tr>"; while($res = mysql_fetch_array($q)){ $count++; if (!($count % 2)){ echo "</tr><tr>"; } echo "<td>{$res['id']}{$res['title']}</td>"; } echo "</tr>";
функция
function sqlArr($sql){ $ret = array(); $res = mysql_query($sql) or trigger_error(mysql_error()." ".$sql); if ($res) { while($row = mysql_fetch_array($res)){ $ret[] = $row; } } return $ret; }
код
mysql_connect("localhost","root",""); mysql_select_db("persons"); $data = sqlArr("SELECT * FROM tbl_names"); $data = array_chunk($data,2);
шаблон
<table border='1'> <? foreach ($data as $row): ?> <tr> <? foreach ($row as $cell): ?> <td><?=$cell['id']?><?=$cell['title']?></td> <? endforeach ?> </tr> <? endforeach ?> </table>
while($res = mysql_fetch_array($q)){ $count++; echo "<tr>"; foreach($res as $val){ echo "<td>{$val}</td>"; } echo "</tr>"; }
while ($res = mysql_fetch_array($q)){ if ($count % 2 == 0) { echo "<tr>"; } echo "<td>{$res['id']}{$res['title']}</td>"; if ($count % 2 == 0) { echo "</tr>"; } $count++; }
edit: Я должен перезагружаться чаще.