Estoy haciendo un foro en PHP. Tengo que mostrar todas las categorías del foro en una tabla, y para hacerlo, he usado un ciclo while. Sin embargo, quiero tener solo 3 td en cada fila de la mesa. Para recorrer las categorías, estoy usando un ciclo while con la consulta, por lo que no creo que pueda usar el módulo aquí.Insertar tr después de cada tercer ciclo
Respuesta
¿Por qué no puedes usar el módulo? Simplemente agregue un contador en alguna parte, y si golpea % 3 == 0
reinicie el contador y haga sus cosas.
Es posible que tenga que hacer un poco más si es el primero y el último y cosas por el estilo, pero no hay ninguna razón para no usar un módulo con un tiempo.
$i=0;
while(guard()){
if($i % 3 == 0){
//ploing
}
$i++
}
¡Ah, brillante! Tengo que aprender el modulo. – user1169875
+1 para excelentes efectos de sonido ... – squarecandy
No he probado el código, pero la lógica debería funcionar:
<Table>
<?php
$i = 0;
while($row = mysql_fetch_array($result)){
if($i == 0){
echo"<TR>";
}
echo"<td>".$row[0]."<TD>";
$i++;
if($i == 3)
{
$i = 0;
echo"</tr>"
}
}
if($i ==1){
echo "<td></td><td></td></tr>";
}
if($i ==2)
{
echo "<td></td></tr>";
}
?>
<table>
Este código se cerrará ningún filas adicionales:
<table>
<?php
$i = 0;
while($row = mysql_fetch_array($result)){
$i++;
//if this is first value in row, create new row
if ($i % 3 == 1) {
echo "<tr>";
}
echo "<td>".$row[0]."</td>";
//if this is third value in row, end row
if ($i % 3 == 0) {
echo "</tr>";
}
}
//if the counter is not divisible by 3, we have an open row
$spacercells = 3 - ($i % 3);
if ($spacercells < 3) {
for ($j=1; $j<=$spacercells; $j++) {
echo "<td></td>";
}
echo "</tr>";
}
?>
</table>
Gracias hombre! ¡Esta comunidad es absolutamente la más útil que he encontrado! – user1169875
- 1. Cada ciclo Haml?
- 2. Insertar una coma después de cada carácter en C#
- 3. jquery seleccionando cada td en un tr
- 4. haml nuevo tr cada 3 artículos
- 5. Javascript: Loop a través de cada tercer nodo hijo
- 6. php while variable de bucle por cada tercer div
- 7. jQuery cada ciclo - usando variables
- 8. Jquery Insertar elemento antes de <tr>
- 9. Entendimiento para cada ciclo en Java
- 10. Eliminar objeto de ArrayList en cada ciclo
- 11. Lectura de nodos Xml para cada ciclo
- 12. Leyenda de Matlab después del ciclo FOR
- 13. Cómo agregar nuevo <tr> después de actual <tr>
- 14. Insertar espacio después de mayúscula
- 15. ¿Recibió Delphi alguna vez por cada ciclo?
- 16. Agregar espacio después de cada cuarto signo +
- 17. Insertar carácter de nueva línea después de cada 76 caracteres en una cadena de base64
- 18. PHP: ¿Cómo se determina cada enésima iteración de un ciclo?
- 19. Cómo insertar un carácter de línea nueva después de cada 200 caracteres con jQuery
- 20. ¿Cómo puedo insertar un carácter después de cada n caracteres en javascript?
- 21. Encontrar el tercer punto
- 22. Cómo anteponer un tr al primer tr en una tabla?
- 23. Insertar HTML después de una selección
- 24. Python/sqlite - seleccionando registros después de insertar
- 25. Incluyendo la página JSP dentro de cada ciclo
- 26. ¿Qué XPath selecciona el siguiente <tr> después de un <tr> que contiene X?
- 27. ¿Debo cerrar un socket (TCPIP) después de cada transacción?
- 28. Cualquier cosa después de DOS FOR/F ciclo no ejecutando
- 29. ¿Cómo eliminar cada segundo y tercer elemento de una matriz en Javascript?
- 30. ¿Cómo puedo usar a para cada ciclo en una matriz?
mostrarnos su código –
Usted podría utilizar el operador de módulo '%' simplemente creando una variable de incremento '$ i = 0' antes del ciclo e incrementándola' ++ $ i' en cada iteración del ciclo while. – rdlowrey