Foros del Web » Programando para Internet » PHP »

PHP OO ¿Cómo crear una tabla con varios foreach?

Estas en el tema de ¿Cómo crear una tabla con varios foreach? en el foro de PHP en Foros del Web. Hola Amigos, cómo están? Tengo que visualizar una tabla HTML con datos de un query de 3 tablas, o sea complejo, y se me complico ...
  #1 (permalink)  
Antiguo 28/12/2010, 17:23
 
Fecha de Ingreso: diciembre-2010
Ubicación: Colonia
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
¿Cómo crear una tabla con varios foreach?

Hola Amigos, cómo están?

Tengo que visualizar una tabla HTML con datos de un query de 3 tablas, o sea complejo, y se me complico el llenar la tabla con varios foreach. Utilizo php5 orientado a objetos, les pego el código

Código PHP:
public function selectAllAwards(){
        global 
$txtBusqueda// viene a traves de $_SESSION['txtBusqueda']
        
        
$stmt $this->conn->prepare("
            SELECT    
                video.videoName,  //nombre pelicula
                videoaward.awardYear,  //año del premio
                award.awardDesc   //descripcion del premio
            FROM
                video,
                award,
                videoaward
            WHERE
                award.awardName LIKE '%$txtBusqueda%' //busca x nombredel premio
            AND
                videoaward.videoId = video.videoId
            AND
                videoaward.awardId = award.awardId
        "
);

        
$res_award $stmt->execute();
    
        
$awardList = array();
        if (
$res_award){
            while(
$row $stmt->fetch()){
            
$award = new Award($row['awardId'], $row['awardName'], $row['awardDesc']);
            
$pelicula = new Pelicula($row['videoId'], $row['videoName'], $row['yearReleased'], $row['videoDesc'], $row['enabled'], $row['averageRating']);
        
            
$awardList[] = $award;
            }
        }
        return 
$awardList;
        
$this->Conn null;
    }

function 
mostrar_award($award_List){
    
    if (!empty(
$award_List)){
    
        echo 
"<table border = '1'> "
        echo 
"    <tr> "
        echo 
"        <td><b>Pelicula:</b></td>";
        echo 
"        <td><b>Descripcion del Premio:</b></td>";
        echo 
"        <td><b>Ganado Anio:</b></td>";
        echo 
"    </tr>";      
        foreach (
$award_List as $pelicula) {
                               echo 
"        <tr><td>";
                               echo        
$pelicula->getVideoName(); 
                               echo 
"        </td></tr>";
               foreach (
$award_List as $videoaward) {
                               echo 
"        <tr><td>";
                               echo        
$videoawaid->getAwardYear(); 
                               echo 
"        </td></tr>";
               foreach (
$award_List as $award) {  
                               echo 
"        <tr><td>";
                               echo          
$award->getAwardDesc(); 
                               echo 
"        </td></tr>";
        } 
        echo 
"  </table>";
     
    
    } 
Me muestra la tabla con los titulos y nada mas, vacia.
Miré códigos por todas partes, pero ninguno es Orientado a objetos, usando PDO.
por otro lado tengo la clase de peliculas, la de Award y la de videoaward manejandolas por __construct

Muchas Gracias!
  #2 (permalink)  
Antiguo 28/12/2010, 17:34
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: ¿Cómo crear una tabla con varios foreach?

con que recorras una sola vez $award_List tienes para hacer la tabla, que datos contiene este parametro?? imagino que un array, pero como asociativo?? o como?? ademas recorres los valores del array como si fueran instancias de una clase o lo son??? creo que debes explicar un poco mejor que es lo que hace tu script
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: <td>, <tr>, crear, foreach, html, llenar, pdo, select, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:20.