Foros del Web » Programando para Internet » PHP »

no me recoge el primer registro de cada consulta

Estas en el tema de no me recoge el primer registro de cada consulta en el foro de PHP en Foros del Web. Buenas, A ver si alguien me puede ayudar, (seguro que sí). Tengo una web donde todo es actualizable i cambiable desde un panel por el ...
  #1 (permalink)  
Antiguo 08/08/2012, 06:11
 
Fecha de Ingreso: enero-2006
Mensajes: 14
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta no me recoge el primer registro de cada consulta

Buenas,

A ver si alguien me puede ayudar, (seguro que sí).

Tengo una web donde todo es actualizable i cambiable desde un panel por el usuario, informaciones, galeria de fotos, etc.. hasta aquí nada nuevo. Todo es bastante simple con PHP i Mysql.

El problema es que cada vez que hace una consulta a la base de datos, no me muestra el primer resultado, empezando siempre desde el segundo del Array.

Por ejemplo, en la galeria de fotos hay 9 registros, 4 de fotos de coches y 5 de motos. cuando lanzo una consulta general me muestra solo 8 registros y si filtro me muestra 3 coches o 4 motos... (desde la base de datos con phpmyadmin funcionan bien).

He ido creando variables con lo que voy salvando algunas cosas pero no es la manera, porque cuando quiero recoger un ID como es unico ya no me lo muestra.

Nunca me habia sucedido, y lo unico que he cambiado en los ultimos tiempos es el archivo conex.php que es requerido en las paginas i contiene lo siguiente:

<?php
function Conectarse()
{
//if (!($link=mysql_connect($host,$user,$pass)))
if (!($link=mysql_connect("localhost","usuario","pass word")))
{
echo "Error conectando a la base de datos.";
exit();
}
//if (!mysql_select_db($dbname,$link))
if (!mysql_select_db("basededatos",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>

Y uso la función para conectar:

$link=Conectarse();
$query="SELECT * FROM tabla ";

$result = mysql_query ($query,$link);
$row = mysql_fetch_array($result);

Espero que se entienda el problema...

Gracias de antemano!
  #2 (permalink)  
Antiguo 08/08/2012, 07:43
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 11 años, 8 meses
Puntos: 60
Respuesta: no me recoge el primer registro de cada consulta

¿Y cómo muestras el resultado?
Al parecer la consulta está bien, o no te mostraría ningún dato.
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker
  #3 (permalink)  
Antiguo 08/08/2012, 08:21
 
Fecha de Ingreso: enero-2006
Mensajes: 14
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: no me recoge el primer registro de cada consulta

recojo los campos en un Array, y los muestro con un While{}, y a partir del segundo lo mustra todo bien, todo funciona. pero el primer nada...

Podria ser cosa del array[0]?? no tengo ni idea porque me lo esta haciendo...

por ejemplo asi recojo los menus: (he tenido que poner uno al principio de la DB para que me los muestre todos los que quiero, osea que hay 6 nombres de menu y solo me muestra 5)

while ($row = mysql_fetch_array($result)) {
$titol = $row[titol];
$id= $row[id];

print("
<li><h1><a href=\"index.php?titolmenu=$titol \">$titol</a></h1></li>");
;}
  #4 (permalink)  
Antiguo 08/08/2012, 08:29
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: no me recoge el primer registro de cada consulta

Cita:
Iniciado por strol Ver Mensaje
Buenas,

A ver si alguien me puede ayudar, (seguro que sí).

Tengo una web donde todo es actualizable i cambiable desde un panel por el usuario, informaciones, galeria de fotos, etc.. hasta aquí nada nuevo. Todo es bastante simple con PHP i Mysql.

El problema es que cada vez que hace una consulta a la base de datos, no me muestra el primer resultado, empezando siempre desde el segundo del Array.

Por ejemplo, en la galeria de fotos hay 9 registros, 4 de fotos de coches y 5 de motos. cuando lanzo una consulta general me muestra solo 8 registros y si filtro me muestra 3 coches o 4 motos... (desde la base de datos con phpmyadmin funcionan bien).

He ido creando variables con lo que voy salvando algunas cosas pero no es la manera, porque cuando quiero recoger un ID como es unico ya no me lo muestra.

Nunca me habia sucedido, y lo unico que he cambiado en los ultimos tiempos es el archivo conex.php que es requerido en las paginas i contiene lo siguiente:

<?php
function Conectarse()
{
//if (!($link=mysql_connect($host,$user,$pass)))
if (!($link=mysql_connect("localhost","usuario","pass word")))
{
echo "Error conectando a la base de datos.";
exit();
}
//if (!mysql_select_db($dbname,$link))
if (!mysql_select_db("basededatos",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>

Y uso la función para conectar:

$link=Conectarse();
$query="SELECT * FROM tabla ";

$result = mysql_query ($query,$link);
$row = mysql_fetch_array($result);

Espero que se entienda el problema...

Gracias de antemano!
Puedes poner lo que sigue de este codigo?

por lo que veo en la ultima linea utilizas esto:
Código PHP:
Ver original
  1. $row = mysql_fetch_array($result);

si despues de esto tienes un while para mostrar los resultados, algo como
Código PHP:
Ver original
  1. while($row = mysql_fetch_array($result)):
  2.                //resto del codigo
  3. endwhile;

El error esta ahi... en la primera llamada a mysql_fetch_array() este posiciona el puntero al primer registro.. despues dentro del while al volver a llamarlo el puntero pasa al siguiente registro, osea que se empieza a imprimir a partir del segundo registro..

verifica esto..
__________________
Recursos para diseñadores
lacatedradeboris.com
  #5 (permalink)  
Antiguo 08/08/2012, 10:21
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: no me recoge el primer registro de cada consulta

declara el
Código PHP:
Ver original
  1. $row = mysql_fetch_array($result)
unicamente en el while, prueba y comenta los resultados
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #6 (permalink)  
Antiguo 09/08/2012, 06:03
 
Fecha de Ingreso: enero-2006
Mensajes: 14
Antigüedad: 18 años, 3 meses
Puntos: 0
De acuerdo Respuesta: no me recoge el primer registro de cada consulta

Solucionado!
Gracias!!

Problema reselto,como indico Zapt142 ahi estava el fallo. Y como interpreto que explicava HackGhost en lo de donde se situava el puntero, al tener duplicado:

Código PHP:
$row mysql_fetch_array($result); 
lo deje solo en el While y todo funciona bien

Una vez más gracias por iluminarme!

Etiquetas: cada, mysql, primer, registro, sql, tabla, variables, 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:54.