Foros del Web » Programando para Internet » PHP »

mysqli_fetch_array($result) me ignora 1era fila

Estas en el tema de mysqli_fetch_array($result) me ignora 1era fila en el foro de PHP en Foros del Web. Tengo este codigo y me funciona pero me ignora la fila "0" por decirlo asi... Código PHP: if (! $dbc ) {     echo 'Can\'t connect to the DB server' ;     exit(); } else { ...
  #1 (permalink)  
Antiguo 03/10/2011, 16:24
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 16
mysqli_fetch_array($result) me ignora 1era fila

Tengo este codigo y me funciona pero me ignora la fila "0" por decirlo asi...

Código PHP:
if (!$dbc) {
    echo
'Can\'t connect to the DB server';
    exit();
} else {

$query "SELECT * FROM newsletter";
$result mysqli_query($dbc$query) or die(mysqli_error());

if(
mysqli_fetch_array($result)){
    echo 
'No hay usuarios susbcriptos';} else {

while (
$rowmysqli_fetch_array($result)){
    echo 
$row['firstname'].' - '.$row['email'].'<br/>';
                                          }        }
}

?> 
Como hago para que cuando mysqli_fetch_array($result) este vacio me haga un echo de No hay usuarios subscriptos.. y que cuando haya 1 en fila 0 me lo muestre tmb sin ignorarlo... mi codigo funciona pero a partir de la fila 1

Puedo usar algo como
Código PHP:
if(!mysqli_fetch_array($result)){...} 
  #2 (permalink)  
Antiguo 03/10/2011, 16:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysqli_fetch_array($result) me ignora 1era fila

No es que se ignore el primer resultado de tu consulta, lo que sucede es que mysql_fetch_array() extrae cada resultado de la consulta.

Y si lo piensas con calma, en el if() ya extraes una fila, por eso en el bucle saca el resto sin la primera.

Procura usar mysqli_num_rows() para comprobar si hay o no resultados, y de paso lee el manual, que te hace bastante falta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/10/2011, 16:28
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: mysqli_fetch_array($result) me ignora 1era fila

usa mysqli_result::num_rows

en vez de esto

Código PHP:
Ver original
  1. if(mysqli_fetch_array($result)){
  2.     echo 'No hay usuarios susbcriptos';} else {

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 03/10/2011, 16:37
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 16
Respuesta: mysqli_fetch_array($result) me ignora 1era fila

Gracias funciona y mi codigo me quedo asi:
Código PHP:
if (!$dbc) {
    echo
'Can\'t connect to the DB server';
    exit();
} else {

$query "SELECT * FROM newsletter";
$result mysqli_query($dbc$query) or die(mysqli_error());

if(
mysqli_num_rows($result)==0){
    echo 
'No hay usuarios susbcriptos';}


while (
$rowmysqli_fetch_array($result)){
    echo 
$row['firstname'].' - '.$row['email'].'<br/>';
                                                  }
}

?> 
Y si me hace falta muchisimo, empece programacion hace 3 meses no mas.. Compre libro ya voy pagina 200, si no, ni esto hubiese podido hacer.. Espero no molestar. Gracias.

Etiquetas: fila, ignora, mysql, usuarios
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 17:53.