Foros del Web » Programando para Internet » PHP »

problemas con WHILE

Estas en el tema de problemas con WHILE en el foro de PHP en Foros del Web. buenos días foreros. Tengo un gran problema con el uso del while, resulta ue estoy haciendo una consulta sobre una tabla, donde me muestra un ...
  #1 (permalink)  
Antiguo 10/06/2008, 08:37
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Pregunta problemas con WHILE

buenos días foreros.
Tengo un gran problema con el uso del while, resulta ue estoy haciendo una consulta sobre una tabla, donde me muestra un listado de los usuarios con algunos datos de él, hasta hí todo bien, el problema está en que necesito que me muestre tambien un datos que hay en otra tabla, pero solo me muestra el primer datos de la segunda tabla en todos los usuarios. ambas tablas estan relacionadas tanto por cedula como por usuario.

que estoy haciendo mal??

este es el codigo.
Código PHP:
$result=mysql_query("SELECT egresado.*, usuarios.registro FROM egresado, usuarios WHERE egresado.pre7!='' GROUP BY egresado.pre1 ORDER BY egresado.pre7, egresado.pre1");
                    echo 
'<br><div align="center"><table cellpadding="1" cellspacing="1" border="0">
                            <TR>
                            <TD width=\"200\"><div align="center"><B>Nombre</B></div></TD>
                            <TD width=\"200\"><div align="center"><B>Apellido</B></div></TD>
                            <TD width=\"200\"><div align="center"><B>C&eacute;dula</B></div></TD>
                            <TD width=\"200\"><div align="center"><B>Programa</B></div></TD>
                            <TD width=\"200\"><div align="center"><B>Email</B></div></TD>
                            <TD width=\"200\"><div align="center"><B>Celular</B></div></TD>
                            <TD width=\"200\"><div align="center"><B>Tel&eacute;fono</B></div></TD>
                            <TD width=\"200\"><div align="center"><B>N&uacute;mero del Sorteo</B></div></TD>
                            <td>&nbsp;</td>
                            <TD width=\"50\"><div align="center"><B>Encuesta</B></div></TD>
                            </TR>
                            <tr>
                            <td colspan="10"><hr></td>
                            </tr>'
;
                    while(
$row mysql_fetch_array($result))
                        {
                        
printf("<tr>
                                <td align=\"left\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;%s %s</td>
                                <td align=\"left\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;%s %s</td>
                                <td align=\"center\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;%s</td>
                                <td align=\"left\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;%s</td>
                                <td align=\"left\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;%s</td>
                                <td align=\"left\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;%s</td>
                                <td align=\"left\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;%s</td>
                                <td align=\"left\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;%s</td>
                                <td align=\"center\" bgcolor=\"#EEEEEE\" height=\"20\">&nbsp;</td>
                                <td align=\"center\" bgcolor=\"#EEEEEE\" height=\"20\">
                                <a href=\"encuesta/index-individual.php?user=%s\" target=\"_blank\">ver &raquo;</a></td>
                                </tr>
                            <tr>
                            <td colspan=\"10\"></td>
                            </tr>"
$row["pre1"],$row["pre2"],$row["pre3"],$row["pre4"],$row["pre5"],$row["pre7"],$row["pre21"],$row["pre19"],$row["pre18"],$row["registro"],$row["pre296"],$row["id"]);
                        }
                    
mysql_free_result($result);
                    echo 
'</table></div>'
Gracias de antemanoo y espero me puedan ayudar
  #2 (permalink)  
Antiguo 14/06/2008, 13:50
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 21 años
Puntos: 4
Respuesta: problemas con WHILE

te falta la relacion entre ambas tablas.

Código PHP:
mysql_query("SELECT egresado.*, usuarios.registro FROM egresado, usuarios WHERE egresado.pre7!='' and egresado.cedula = usuarios.cedula GROUP BY egresado.pre1 ORDER BY egresado.pre7, egresado.pre1"); 

el problema es que no estas relacionando las tablas ademas de que no se como puedes identificar los registros usando egresado.*

Como consejo no ocupes comodines en las consultas, por otra parte yo prefiero mas lineas de código pero que sea fácil encontrar errores o hacer cambios.

Saludos
  #3 (permalink)  
Antiguo 19/06/2008, 09:28
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: problemas con WHILE

Gracias por tu respuesta, la solucion estaba en utilizar Inner
Código PHP:
$result=mysql_query("SELECT * FROM egresado INNER JOIN usuarios ON egresado.pre296=usuarios.user WHERE egresado.pre7='$pre7' AND egresado.pre276!='' GROUP BY egresado.pre1 ORDER BY egresado.pre7, egresado.pre1"); 
tema solucionado
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 14:07.