Foros del Web » Programando para Internet » PHP »

Error con buscador en PHP

Estas en el tema de Error con buscador en PHP en el foro de PHP en Foros del Web. Hola amigos, tengo un problema con un error que me da php. Tengo un código que le paso una id seleccionada anteriormente y me estra ...
  #1 (permalink)  
Antiguo 28/10/2010, 06:29
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Error con buscador en PHP

Hola amigos, tengo un problema con un error que me da php.
Tengo un código que le paso una id seleccionada anteriormente y me estra un error a la hora de sacar los resultados:

Código php:

Código PHP:
<?php

//Conexion con la base
$link mysql_connect("localhost","","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ernesto_coches",$link);
    
?>

<?php

$marca 
$_POST['marca'];
$idmodelo $_POST['modelo'];
$idciudad $_POST['ciudad'];

$tabla mysql_query("SELECT coches.*, ciudades.*, marcas.*, modelos.* FROM coches, ciudades, marcas, modelos WHERE coches.idciudad = ciudades.idciudad AND coches.idmarca = marcas.idmarca AND coches.idmodelo = modelos.idmodelo AND idmarca='$idmarca'");
while (
$registro mysql_fetch_array($tabla)) {
?>

<?php
$nombre 
$registro['imagen1']; 
?>

<tr>
<td><img style="border:1px solid #D5D5D5;" align=left height="70" width="90" vspace="4" hspace="10"src="/upload/<?php echo $nombre;?>" width="100" height="75"/></td><br>
<A class="LINKAZUL" HREF="detalle_coche.php?id_anuncio=<?php echo $id;?>"><?php echo $registro['marca']; ?>&nbsp;<?php echo $registro['modelo']; ?></A>
<td><?php echo $registro['marca']; ?></td>
<td><?php echo $registro['modelo']; ?></td>
<td><?php echo $registro['ciudad']; ?></td> 
<td>Precio:<?php echo $registro['precio']; ?></td><br>

<?php

}
mysql_free_result($tabla);
mysql_close($link);

?>
Sin embargo si le quito los parámetros de FROM (las tablas de las bases de datos) y solo le dejo una tabla si que funciona:

Código php:

Código PHP:
<html><?php

//Conexion con la base
$link mysql_connect("localhost","","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ernesto_coches",$link);
    
?>

<?php

$idmarca 
$_POST['marca'];

$tabla mysql_query("SELECT * FROM coches WHERE idmarca='$idmarca'");
while (
$registro mysql_fetch_array($tabla)) {
?>

<?php
$nombre 
$registro['imagen1']; 
?>

<tr>
<td><img style="border:1px solid #D5D5D5;" align=left height="70" width="90" vspace="4" hspace="10"src="/upload/<?php echo $nombre;?>" width="100" height="75"/></td><br>
<A class="LINKAZUL" HREF="detalle_coche.php?id_anuncio=<?php echo $id;?>"><?php echo $registro['marca']; ?>&nbsp;<?php echo $registro['modelo']; ?></A>
<td><?php echo $registro['marca']; ?></td>
<td><?php echo $registro['modelo']; ?></td>
<td><?php echo $registro['ciudad']; ?></td> 
<td>Precio:<?php echo $registro['precio']; ?></td><br>
<INPUT TYPE=HIDDEN NAME=marca VALUE=<?php echo $_POST['marca']?>>

<?php

}
mysql_free_result($tabla);
mysql_close($link);

?></html>
Por cierto, el error es este:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/ernesto/public_html/coches1.php on line 16

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/ernesto/public_html/coches1.php on line 35

Que puede estar pasando??
  #2 (permalink)  
Antiguo 28/10/2010, 06:33
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Error con buscador en PHP

intenta ejecutar el sql en phpmyadmin (u otro) para descubrir el error de sintaxis en el sql que puedas tener
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 28/10/2010, 07:20
Avatar de rickyper  
Fecha de Ingreso: abril-2009
Mensajes: 182
Antigüedad: 15 años
Puntos: 10
Respuesta: Error con buscador en PHP

Te dejo un ejemplo como lo puedes hacer:
Código MySQL:
Ver original
  1. $tabla = mysql_query("SELECT co.campoamostrar, ci.campoamostrar, ma.campoamostrar, mo.campoamostrar FROM coches as co, ciudades as ci, marcas as ma, modelos as mo WHERE co.idciudad = ci.idciudad AND co.idmarca = ma.idmarca AND co.idmodelo = mo.idmodelo AND co.idmarca='$idmarca'");
Obvio que campoamostrar , es el campo que quieres mostrar,tendrías que cambiarlo. Suerte.
__________________
www.granideamillonaria.com
  #4 (permalink)  
Antiguo 28/10/2010, 07:42
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Error con buscador en PHP

Que tal arquidea, prueba tu consulta de esta forma:
Código PHP:
Ver original
  1. $tabla = mysql_query("SELECT * FROM coches
  2. INNER JOIN ciudades ON coches.idciudad = ciudades.idciudad
  3. INNER JOIN marcas ON coches.idmarca = marcas.idmarca
  4. INNER JOIN modelos ON coches.idmodelo = modelos.idmodelo
  5. WHERE coches.idmarca = '$idmarca'", $link) or die( mysql_error() );


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #5 (permalink)  
Antiguo 28/10/2010, 09:11
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Respuesta: Error con buscador en PHP

Muchas gracias chicos!! con INNER JOIN funcionó de lujo!! Siempre se aprenden cosas!!

Salu2!!

Etiquetas: buscadores
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 03:15.