Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
No me muestra todos los registros

Hola amigos

Estoy empezando con esto del PHP y MySQL y me surge un problemilla. Tengo el siguiente script

Código:
	// imprimimos resultado de la Query
	$NFilas = mysql_num_rows($IdConsulta);
	$Tabla = "<table width=\"98%\" border=\"1\">\n";
	$Tabla = $Tabla."<tr>\n";
	$Tabla = $Tabla."<td width=\"64\"><font size=\"2\"><b>Fecha</b></font></td>\n";
	$Tabla = $Tabla."<td width=\"64\"><font size=\"2\"><b>Secci&oacute;n</b></font></td>\n";
	$Tabla = $Tabla."<td width=\"494\"><font size=\"2\"><b>Acci&oacute;n</b></font></td>\n";
	$Tabla = $Tabla."</tr>\n";
	for ( $i = 0; $i < $NFilas; $i++)  
	 {
		$ResultQuery = mysql_fetch_array($IdConsulta);
		$Tabla = $Tabla."<tr>\n";
        $Tabla = $Tabla."<td width=\"64\"><font size=\"2\">$ResultQuery[0]</font></td>\n";
        $Tabla = $Tabla."<td width=\"64\"><font size=\"2\">$ResultQuery[1]</font></td>\n";
        $Tabla = $Tabla."<td width=\"494\"><font size=\"2\">$ResultQuery[2]</font></td>\n";
		$Tabla = $Tabla."</tr>\n";
     }
	$Tabla = $Tabla."</table>\n";
	print($Tabla);
Y el problema que tengo es que no me muestro todos los resultados de la consulta (me falta 1!!!!).

P.D. : ya se que el codigo es malo (tb se aceptan sugerencias al respecto )

Gracias
Responder Con Cita
  #2  
Antiguo 08-05-2003
chutipascal chutipascal is offline
Miembro
 
Registrado: may 2003
Ubicación: Mallorca
Posts: 194
Poder: 22
chutipascal Va por buen camino
Hola Cadetill.

No se exactamente que te pasa pero en lugar de usar un bucle for next para recorrer una consulta, usa un while

Código:
<table>
<?php
while ($fila = mysql_fetch_object($sql)){
?><tr><td><?php
print $fila->CODIGO; ?></td><td><?php 
print $fila->DESCRIPCION; ?></td><tr>
<?php
}
?>
</table>
Responder Con Cita
  #3  
Antiguo 08-05-2003
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Hola

De momento no te puedo asegurar que el codigo que pongo a continuacion funcione correctamente ya que no has puesto la sentencia SQL, igual lo que esta mal es eso.

Código:
	<table width="98%" border="1">
	<tr>
		<td width="64"><font size="2"><b>Fecha</b></font></td>
		<td width="64"><font size="2"><b>Sección</b></font></td>
		<td width="494"><font size="2"><b>Acción</b></font></td>
	</tr>
<?
	// imprimimos resultado de la Query
	while ( $ResultQuery = mysql_fetch_row( $IdConsulta ) ) {
?> 
	<tr>
       	<td width="64"><font size="2"><?=$ResultQuery[0]?></font></td>
        <td width="64"><font size="2"><?=$ResultQuery[1]?></font></td>
        <td width="494"><font size="2"><?=$ResultQuery[2]?></font></td>
	</tr>
<?	}	?>
	</table>
Comentarte que existen dos funciones muy parecidas:
mysql_fetch_array y mysql_fetch_row
La funcion es la misma, obtener los datos de un registro, pero se diferencian en que con la primera podemos acceder tanto por el indice como por el nombre del campo ( ej. miQuery[0] o miQuery["codigo"] ) y con la segunda solo podemos acceder por el indice. Te digo todo esto porque si vas a trabajar siempre con indices es mejor que utilices la segunda opcion.

Pues nada, prueba el codigo y me comentas que tal.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #4  
Antiguo 08-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
jajajajaja, si es que estoy tonto!!! Ya me funciona

os explico. Primero de todo lo he hecho como me comentabais, con un bucle while...do con la funcion mysql_fetch_row. Gracias por la sugerencia.

Pero, el problema no era ese (y no lo habeis podido deducir al no poneros todo el codigo, fallo mio). Resulta que, justo antes de la 1era linea de codigo que he mandado, tenia esta

Código:
	// Obtenemos resultado de la Query
	$ResultQuery = mysql_fetch_array($IdConsulta);
y claro, esta linea se "me comia" el primer registro de la consulta SQL y, claro, me salian todos los registros menos el primero. Pero que fallo de principiante!!!

De todas maneras, gracias por los consejos y los ejemplos que me habies enviado, me han hecho ver el error que tenia

Pos eso, que gracias y nos leemos
Responder Con Cita
  #5  
Antiguo 13-05-2003
chutipascal chutipascal is offline
Miembro
 
Registrado: may 2003
Ubicación: Mallorca
Posts: 194
Poder: 22
chutipascal Va por buen camino
Claro te zampabas un bocato del plato (con alevosia y en la cocina) antes de servirlo a la mesa y al pollo le faltaba un muslo!



Un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como eliminar todos loe registros de una vez ilichhernandez Conexión con bases de datos 4 29-10-2005 18:15:55
Disctinct con registros iguales Barzaugc SQL 5 30-09-2005 21:34:24
Como son evaluadas las sentencias sql Walter SQL 5 23-03-2004 03:08:18
Poner registros de un TTable en Excel XCool Servers 3 13-05-2003 16:05:15
Saber el numero de registros consultados estudiante SQL 2 13-05-2003 00:12:09


La franja horaria es GMT +2. Ahora son las 16:11:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi