Создание строк и столбцов на основе запроса COUNT

#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>";

}