Problema de Filas de una tabla MySQL con PDO

31 views
Skip to first unread message

Irwin Rodriguez

unread,
Apr 19, 2014, 6:00:24 PM4/19/14
to php...@googlegroups.com
Hola a todos, espero me puedan orientar en este problema.

Tengo el siguiente codigo dentro de mi clase database

public function get_data(){
        $sql = "select id_especialidad, descripcion from especialidad";
        foreach($this->dbh->query($sql) as $row)
        {
                $this->rows[] = $row;
        }
        return $this->rows;
}

es una tabla de especialidades donde tengo 9 filas y las quiero mostrar en un combo (select). El codigo para mostrar los datos es el siguiente:

<select>
    <?php
        $datos = $db->get_data();
        for($i=0;$i<sizeof($datos);$i++)
        {
            ?>
                <option value="<?php echo $datos[$i]["id_especialidad"]?>"><?php echo $datos[$i]["descripcion"]?></option>
           <?php
        }
    ?>
</select>

Cuando actualizo el vanegador me muestra el combo con los datos pero en la primera fila me muestra esto: "Notice: Undefined index: descripcion in ..."

El error dice que el campo no existe, por lo menos en el indice que indica el array.

Lo que no entiendo es esto: tengo 9 filas en la tabla pero el sizeof($datos) me muestra 11 filas. Muestro un echo count($datos) y me salen 11 filas.

Obviamente tengo 2 filas de más y por eso me falla. Mi pregunta es ¿Por que me muestra 11 filas? Si conocen otra forma de hacer este proceso se los agradeceria.

Muchas Gracias!


Agustin Quiroga

unread,
Apr 21, 2014, 7:14:42 AM4/21/14
to php...@googlegroups.com
No viene al caso de tu consulta, pero creo que te conviene usar foreach para iterar un array si no necesitas trabajar con la posición del mismo. Por lo que entiendo es más performante, no por este caso que son nueve resultados, pero para arrays más grandes.
Saludos,

Agustín Quiroga
Web.Q
Web. www.webq.com.ar
Twitter. @AgusQuiroga
"Asesoramiento, desarrollo y soporte para proyectos y negocios en internet."

Juan Pablo Mónaco

unread,
Apr 21, 2014, 10:35:27 AM4/21/14
to php...@googlegroups.com
tira un var_dump(get_data()); y fijate que te devuelve, ahi vas a encontrar el problema, saludos.-


--
Has recibido este mensaje porque estás suscrito al grupo "Grupo PHP Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a php-arg+u...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a php...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/php-arg.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages