Foros del Web » Programando para Internet » PHP »

Ayuda con código

Estas en el tema de Ayuda con código en el foro de PHP en Foros del Web. Tengo este código que me retorna una cantidad n de usuarios de una Base de Datos: Código PHP: $query  =  mysql_query ( "SELECT * FROM profesores WHERE facultad='" . $_POST ...
  #1 (permalink)  
Antiguo 11/04/2004, 15:36
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Ayuda con código

Tengo este código que me retorna una cantidad n de usuarios de una Base de Datos:
Código PHP:
$query mysql_query("SELECT * FROM profesores WHERE facultad='".$_POST['sort']."' ORDER BY idprofesor");
               
$result mysql_num_rows($query);
               echo 
"<table width='450' border='0' align='center' cellpadding='0' cellspacing='0'>
                     <tr>
                     <td colspan='2' class='menutop'><img src='img/claustro.gif' alt='Mostrar profesores por Facultad' width='24' height='21' align='absmiddle'> Se han encontrado un total de: "
.$result." profesores en la Base de Datos </td>
                     </tr>"
;
               
$id 0;
               while(
$row mysql_fetch_assoc($query)){
                 
$id $id+1;
                 echo 
"<tr class='txt'>
                     <td width='61' class='txtrg'><strong>"
.$id."</strong></td>
                     <td width='389' class='txt'><a href=javascript:OpenUserData('datauser.php?tipo=profesor&idprofesor="
.$row['idprofesor']."')>".$row['nombre']."</a></td>
                     </tr>"
;
               }
               echo 
"</table>"
ahora la ventana Popup se me abre mediante esta funcion de javascript:
Código PHP:
function OpenUserData(URL) {
day = new Date();
id day.getTime();
eval(
"page" id " = window.open(URL, '" id "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=350,height=200,left = 345,top = 182.5');");

y el código de la página datauser.php es el siguiente:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>.: Datos del Profesor :.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language=JavaScript src=includes/mx.js></script>
<link href="includes/mx.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#a2aace" topmargin="3">
<?
 
if((isset($tipo)&&($tipo=="profesor"))){
 
//Esta es la línea 13
  
$query mysql_query("SELECT * FROM profesores WHERE idprofesor='".$_GET['idprofesor']."'");
  
$row=mysql_fetch_assoc($query);
  echo 
"<table width='300' border='0' align='left' cellpadding='0' cellspacing='0'>
        <tr>
        <td colspan='2' class='menutop'><img src='img/porfacultad.gif' alt='Mostrar profesores por Facultad' width='24' height='26' align='absmiddle'> Mostrando datos de Usuario: </td>
        </tr>
        <tr class='txt'>
        <td width='104' class='txtrg'>Nombre:</td>
        <td width='196' class='txt'>"
.$row['nombre']."</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Fijo:</td>
        <td class='txt'>"
.$row['fijos']."</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Estancia:</td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Categor&iacute;a Docente:</td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Grado Cient&iacute;fico: </td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Adiestrado:</td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Adjunto:</td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Procedencia:
        <div align='right'></div></td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>A&ntilde;o:</td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Facultad:</td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td class='txtrg'>Grupo:</td>
        <td class='txt'>&nbsp;</td>
        </tr>
        <tr class='txt'>
        <td colspan='2' class='txtrg'><a href='javascript:window.close();'><img src='img/adminimg/logout.gif' width='18' height='18' border='0'></a></td>
        </tr>
        </table>"
;
 }
?>
</body>
</html>
la cosa es que me da este error:
Cita:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\archivos de programa\apache group\apache\htdocs\marxismo\datauser.php on line 13
y creo que con razón pero no se me ocurre como hacer la consulta esa para obtener los datos de ese usuario pues lo que tengo de el es el ID pero no se como pasarselo como parametro a la pagina datauser.php

Me ayudan?
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 11/04/2004, 17:45
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
en vez que uses mysql_fetch_assoc($query); usa mysql_fetch_array($query); no crees?
  #3 (permalink)  
Antiguo 11/04/2004, 18:43
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Lo que te está diciendo ese mensaje de error es que la consulta que estás haciendo no devuelve un resultado válido... probablemente no estés generando lo que quieres... para poder ver estos errores puedes utilizar la función die()
Código PHP:
$sql "SELECT * FROM profesores WHERE idprofesor='".$_GET['idprofesor']."'";
$query mysql_query($sql) or die("Error en consulta 1 $sql :".mysql_error()); 
Prueba eso y seguramente verás el error.

SAludos
  #4 (permalink)  
Antiguo 11/04/2004, 18:49
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Ah.. Lado2mx:
mysql_fetch_array() devuelve los campos del registro actual en un array con índices numéricos y en otro asociativo.

mysql_fetch_assoc() devuelve únicamente el array asociativo.. por lo que si vas a trabajar con los nombres de los campos, resulta un poco más económico en términos de recursos. O sea que el problema definitivamente no va por ahí.

SAludos
  #5 (permalink)  
Antiguo 11/04/2004, 21:14
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
1000 Gracias

Muchas gracias JPinedo eso mismo era un simple errorcito mío: No Database Selected.

Salu2
__________________
Ing. Reynier Pérez Mira
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 21:50.