#php #html #tablerow
#php #HTML #tablerow
Вопрос:
Простой вопрос, я полагаю, для любого, у кого минимальные навыки работы с php (которых у меня недостаточно, ха-ха)
$numrows = $retour['nb'] / 4;
echo $numrows;
echo "<table><tr>";
while ($callback = mysql_fetch_assoc($queryLocations2))
{
echo utf8_encode('<td><img src="/flags/' . strtolower($callback['loc_code']) . '.png" id="' . $callback['loc_id'] . '"><input type="checkbox" value="' . $callback['loc_url'] . '" />' . $callback['loc_city'] . ', ' . utf8_encode($callback['loc_state']) . '</td>');
}
echo "</tr></table>";
}
Как бы мне представить таблицу, которая будет содержать 4 результата (4 столбца) в строке на основе значения $numrows
?
Спасибо!
Комментарии:
1. какие результаты будут получены из запроса?
2. Результаты, по сути, представляют собой крошечное изображение и флажок. Я хотел бы иметь 4 изображения в строке, отсюда и необходимость в переменной $ numrows
Ответ №1:
Вывод тегов tr внутри цикла while:
$count = 0;
echo "<table>";
while ($callback = mysql_fetch_assoc($queryLocations2))
{
if ($count % 4 == 0)
echo '<tr>';
$count ;
echo utf8_encode('<td><img src="/flags/' . strtolower($callback['loc_code']) . '.png" id="' . $callback['loc_id'] . '"><input type="checkbox" value="' . $callback['loc_url'] . '" />' . $callback['loc_city'] . ', ' . utf8_encode($callback['loc_state']) . '</td>');
if ($count % 4 == 0)
echo '</tr>';
}
if ($count % 4 != 0)
{
// need to add missing td-s here
echo '</tr>';
}
echo "</table>";
Комментарии:
1. Это не относится к переменной $ numrows и будет печатать одну строку и один td для каждого запроса, возвращающего no?
2. Нет, вы уже выполняете итерацию по результирующему набору, который является $queryLocations
3. Извините, я вас не совсем понял, ваш исходный код должен работать, что он выводит тогда?
4. Ну нет, мой исходный код не имеет смысла, ха-ха! Я нигде в своем коде не использую $ numrows, поэтому все, что он делает, — это одна большая строка с 80 столбцами. Мне нужно получить x строк из 4 столбцов, где x — это $ numrows.
5. Теперь я понимаю, что вы хотите. Я исправлю свой ответ
Ответ №2:
$numrows = floor($retour['nb'] / 4);
echo $numrows;
$i=0;
echo "<table>";
while ($callback = mysql_fetch_assoc($queryLocations2))
{
if($i==4)
{
echo "<tr>";
echo utf8_encode('<td><img src="/flags/' . strtolower($callback['loc_code']) . '.png" id="' . $callback['loc_id'] . '"><input type="checkbox" value="' . $callback['loc_url'] . '" />' . $callback['loc_city'] . ', ' . utf8_encode($callback['loc_state']) . '</td>');
echo "</tr>";
$i=0;
}
$i ;
}
while ($i<4)
{
echo '<td></td>';
$i ;
}
echo "</table>";
}
//if numrows used for # of rows then use following
$count=0;
while ($callback = mysql_fetch_assoc($queryLocations2) amp;amp; $count<=$numrows)
{
if($i==4)
echo "<tr>";
echo utf8_encode('<td><img src="/flags/' . strtolower($callback['loc_code']) . '.png" id="' . $callback['loc_id'] . '"><input type="checkbox" value="' . $callback['loc_url'] . '" />' . $callback['loc_city'] . ', ' . utf8_encode($callback['loc_state']) . '</td>');
if($i==4)
{
echo "</tr>";
$i=0;
$count ;
}
$i ;
}
while ($i<4)
{
echo '<td></td>';
$i ;
}
echo "</table>";
}