Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2015, 10:51
MiguelNajdorf
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 15 años, 6 meses
Puntos: 0
while para hacer mas dinamico un programa

Hola gente, tengo un programa hecho por mi que trae elementos de una base de datos pero está hecho de una forma muy estatica en la que si sigue asi, no podria expandirlo a futuro tal como tengo pensado, por lo cual, les voy a mostrar parte del codigo que actualmente está escrito tal cual y segun veo podria ser mucho mas dinamico y en muchas menos lineas de codigo usando solo un while y una tabla nueva en mysql que es el motor que uso para traer elementos.

esto es lo que tengo actualmente:
Código PHP:
                        <div id="01">
                            <?php
                            $result1 
mysqli_query($link"SELECT * FROM products WHERE productCategoria = '1' AND habilitado = '1'");

                            while (
$fila1 mysqli_fetch_array($result1)) {
                                
mostrarDatos1($fila1);
                            }
                            
mysqli_free_result($result1);
                            
?>     
                        </div>
                        <div id="02">
                            <?php
                            $result1 
mysqli_query($link"SELECT * FROM products WHERE productCategoria = '2' AND habilitado = '1'");

                            while (
$fila1 mysqli_fetch_array($result1)) {
                                
mostrarDatos1($fila1);
                            }
                            
mysqli_free_result($result1);
                            
?>                        
                        </div>
como verán lo único que cambia entre un div y otro es el nombre del div que cambia entre 01, 02, 03, 04 y asi hasta 12... y la consulta de la base de datos que tambien cambia en paralelo "productCategoria = '1', "productCategoria = '2', "productCategoria = '3' etc y asi hasta 12 tambien

entonces hice una tabla llamada categorias con varios campos, cuyo campo ID es el que coincide con estos números que actualmente llegan hasta el 12.

Ahora vamos al while que hice para reemplazar todo eso, que es el motivo de mi problema, no me esta funcionando el siguiente codigo:

Código PHP:
                  <?php
                        $result 
mysqli_query($conn"SELECT ID FROM categorias");
                
?>                
                <?php
                
while ($fila mysqli_fetch_array($result)) {
                    
$id $fila['ID'];
                    
?>
                    
                    <div id="<?php echo $id?>">
                            <?php
                            $result1 
mysqli_query($link"SELECT * FROM products WHERE productCategoria = $id AND habilitado = '1'");

                            while (
$fila1 mysqli_fetch_array($result1)) {
                                
mostrarDatos1($fila1);
                            }
                            
mysqli_free_result($result1);
                            
?>     
                        </div>
                <?php }; ?>
segun yo tengo algo mal en la consulta pero no me estoy dando cuenta que... si me pueden dar una mano, sería de gran ayuda, muchas gracias.