Создать строки и столбцы на основе запроса COUNT - PullRequest
0 голосов
/ 10 ноября 2011

Простой вопрос, который я считаю для любого с минимальными навыками 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?

Спасибо!

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Вывод 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>"; 
0 голосов
/ 10 ноября 2011
$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) && $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>";

}
...