Foros del Web » Programando para Internet » PHP »

problemas con mysql_fetch_array

Estas en el tema de problemas con mysql_fetch_array en el foro de PHP en Foros del Web. Necesito visualizar el nombre de una empresa y las empresas que se encuentren relacionadas con la misma actividad. Para ello utilizo dos consultas de la ...
  #1 (permalink)  
Antiguo 04/04/2003, 11:24
Avatar de paky  
Fecha de Ingreso: septiembre-2002
Mensajes: 127
Antigüedad: 21 años, 7 meses
Puntos: 0
problemas con mysql_fetch_array

Necesito visualizar el nombre de una empresa y las empresas que se encuentren relacionadas con la misma actividad.
Para ello utilizo dos consultas de la misma tabla:

El código que he hecho es el siguiente:

Código PHP:
    $Consulta "SELECT * FROM $TableName where nombre like '%$nombre%'";
    
$Noticias mysql_query($Consulta,$link);
    while (
$recuperado mysql_fetch_object($Noticias)){
        echo 
"<table width=\"100%\" border=\"0\">";
        echo 
"<tr align=center>";
        echo 
"<td align=center valign=top><font face=\"Verdana\" size=\"1\"><a href=\"$recuperado->pagina\">$recuperado->nombre</a></td>";
        
$mensaje="Si";
        
$actividad="$recuperado->actividad";
        echo 
"</tr>";
        echo 
"</table>";
        
$Consulta2 "SELECT * FROM $TableName where actividad=$actividad";
        
$Noticias2 mysql_query($Consulta2,$link);
        while (
$recuperado2 mysql_fetch_array($Noticias2)){
            echo 
"Empresas Relacionadas:<br>";
            echo 
"<table width=\"100%\" border=\"0\">";
            echo 
"<tr align=center>";
            echo 
"<td align=center valign=top><font face=\"Verdana\" size=\"1\"><a href=\"$recuperado2[pagina]\">$recuperado2[nombre]</a></td>";
            echo 
"</tr>";
            echo 
"</table>";
        }
    } 
Me da el siguiente error:

Warning: Supplied argument is not a valid MySQL result resource in /var/www/html/pymextremadura/poligono/buscarnombre.php on line 93

La línea 93 es:

Código PHP:
while ($recuperado2 mysql_fetch_array($Noticias2)){ 
¿Qué es lo que me está ocurriendo? ¿No puedo hacer dos consultas de la misma tabla? ¿ALGUIEN PUEDE AYUDARME?

Es viernes y ya no veo ni el código ni na. GRACIAS.

  #2 (permalink)  
Antiguo 04/04/2003, 13:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tienes un lio enorme .. Porqué usas en unos casos mysql_fetch_objet() y en otros mysql_fetch_array() ?¿?

Deberias "standarizar" tu código y usar un mismo método (el que mas te guste . .. _array u _objetc . o assoc o lo que quieras ..)

el $TableName lo debes de definir antes de entrar a esos bucles .. (suponemos) .. en tal caso estás haciendo consultas para la misma tabla? .. Si es así .. para que haces dos consultas? .. usa UNa sola consulta y usa condicionales en la consulta ".... WHERE tal='$tal' AND tl2='$tal'" ...

Y aquí:
$Consulta2 = "SELECT * FROM $TableName where actividad='$actividad'";

Usa comillas preferentenmente en el condicional ..

Fijate bien tambien como compones tu código HTML .. estas haciendo "tablas" para cada registro . cuando deberias hacer solo "filas" para cada registro que muestras (es decir, sacar fuera de tus bucles while .. las definiciones de <table ..> ) eso lo puedes apreciar al ver el código funente HTML que generas en tu navegador ..

Si usas tambien estructuras tipo:
$consulta=mysql_query ($sql) or die(mysql_error());

Te darás cuenta si tienes errores en el SQL ...


En cuanto al error concreto .. Debes de usar $link diferentes de conexión a tu BD pese que apunten a la misma tabla y con el mismo usuario de conexión o usen la misma base de datos ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 19:33.