Foros del Web » Programando para Internet » PHP »

¿Dónde está la primera fila de mis registros? :(

Estas en el tema de ¿Dónde está la primera fila de mis registros? :( en el foro de PHP en Foros del Web. Hola chicos. Como véis en el título del post, mi problema es que la primera fila de la consulta no aparece en el resultado generado ...
  #1 (permalink)  
Antiguo 21/04/2010, 02:59
Avatar de mahuro  
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 18 años, 7 meses
Puntos: 0
¿Dónde está la primera fila de mis registros? :(

Hola chicos.

Como véis en el título del post, mi problema es que la primera fila de la consulta no aparece en el resultado generado por PHP, si hago la consutla dirtectamente en MySQL me aparecen los 5 registro que tengo, pero cuando muestro los resultados en PHP me falta el primero.

Este es el código:

Código:
$consultaProd = 'SELECT productos.*, categorias.*, tipos.*
FROM productos
INNER JOIN categorias ON productos.id_categoria = categorias.id_categoria
INNER JOIN tipos ON productos.id_tipo = tipos.id_tipo
ORDER BY productos.id_producto;';

$resultadoProd = mysql_query($consultaProd);

//Busca o muere!
$filasProd = mysql_fetch_array($resultadoProd);
if (!$filasProd) {
	die ("<p class='NoOK'>Error 1! </span>No hay resultados en productos porque MySQL dice que: " . mysql_error())."</p>";
	}
	
// Obtiene y muestra los resultados:
echo '<ul>';
	while ($result_row = mysql_fetch_row (($resultadoProd))) {
		{echo '<li>' .$result_row[3].' - '.$result_row[4]. '€</li>';};
	}
echo '</ul>';
¿Sabéis a qué puede deberse?
  #2 (permalink)  
Antiguo 21/04/2010, 03:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: ¿Dónde está la primera fila de mis registros? :(

Código PHP:
Ver original
  1. $filasProd = mysql_fetch_array($resultadoProd);

al hacer eso removiste el primer resultado..

te conviene usar mysql_num_rows()
  #3 (permalink)  
Antiguo 21/04/2010, 03:16
Avatar de mahuro  
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: ¿Dónde está la primera fila de mis registros? :(

Cita:
Iniciado por horape Ver Mensaje
Código PHP:
Ver original
  1. $filasProd = mysql_fetch_array($resultadoProd);

al hacer eso removiste el primer resultado..

te conviene usar [URL="http://php.net/manual/en/function.mysql-num-rows.php"]mysql_num_rows()[/URL]
GRACIAS!!!! :D

Funcionó, pero no comprendo porqué. Buscaré en cuanto suelte el proyecto que tengo que entregarlo hoy.

Lo dicho: Muchas gracias!
  #4 (permalink)  
Antiguo 21/04/2010, 03:29
 
Fecha de Ingreso: marzo-2006
Mensajes: 44
Antigüedad: 18 años, 8 meses
Puntos: 4
Respuesta: ¿Dónde está la primera fila de mis registros? :(

La explicación es que cuando haces el mysql_fetch_array, el puntero del array avanza una posición, por lo que pasa de apuntar de la posición 0 a la posición 1 del array. Lógicamente, el próximo fetch_array o fetch_row que hagas, empezará contando desde $array[1], por eso no te salía el primer resultado.
Saludos
  #5 (permalink)  
Antiguo 21/04/2010, 04:01
Avatar de mahuro  
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: ¿Dónde está la primera fila de mis registros? :(

Ohtia tíos! No me lo pongáis tan fácil que yo no estoy en condiciones de poder colaborar al mismo nivel :D

De nuevo agradecido

Etiquetas: fila, primera, registros
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:45.