Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/02/2010, 06:31
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Problema con eval() cuando uso una condicional

Hola

Este es código que estoy usando

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <?php
  6. $total_registros_encontrados = 11;
  7.  
  8. for ($j = 0 ; $j < $total_registros_encontrados; $j+=5) {
  9. $temp .= " " .$j;
  10. }
  11.  
  12. $arreglo = explode(" ", trim($temp));
  13. $arr = Array();
  14. for ($x = 0; $x< sizeof($arreglo); $x++) {
  15. $arr[$x] = $arreglo[$x];
  16. }
  17. ?>
  18.  
  19. <table border="1">
  20. <tr>
  21.  
  22. <?php
  23. for ($i = 1; $i <= $total_registros_encontrados; $i++) {
  24. echo "<td>" .$i. "</td>";
  25.  
  26. $cad = "\$valores=\$i == " .implode(" || \$i  == ", $arr).";";
  27. // $valores da ($i == 0 || $i == 5 || $i == 10) en cada vuelta de ciclo
  28.  
  29. eval($cad);
  30. if ($valores) {
  31. echo "</tr><tr>";
  32. }
  33. }
  34. ?>
  35. </tr>
  36. </table>
  37. </body>
  38. </html>

El resultado final debería de ser una tabla de 3 filas y cinco columnas, pero se imprime 11 filas

¿Cual es el error?

PD: Ya se que hay una manera mas sencilla de montar la tabla tal y como la quiero, pero ahora se trata de aprender ......
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />