Foros del Web » Programando para Internet » PHP »

Duda catálogo de productos

Estas en el tema de Duda catálogo de productos en el foro de PHP en Foros del Web. Hola amigos, estoy haciendo una pagina y al mismo tiempo aprendiendo PHP y MySQL, y necesito su ayuda por favor. Gracias a quienes puedan ayudarme. ...
  #1 (permalink)  
Antiguo 18/02/2008, 23:01
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Duda catálogo de productos

Hola amigos, estoy haciendo una pagina y al mismo tiempo aprendiendo PHP y MySQL, y necesito su ayuda por favor.

Gracias a quienes puedan ayudarme.

Tengo un catálogo de productos que estoy haciendo pueden ver aquí una muestra.

Ahi empieza mi duda, hasta ahi todo bien.

De esa página quiero una que me de la descripción del producto, la hice así:

Código PHP:
<?
         $link 
myconection();
         
$consulta mysql_query("SELECT * FROM producto WHERE MATCH (nombre) AGAINST ('".$_GET['ID']."' IN BOOLEAN MODE)"$link) or die(mysql_error());
         while (
$registro mysql_fetch_array($consulta)) 
            {
             
$nombre = ($registro[nombre]);
             
$descripcion = ($registro[descripcion]); 
             echo 
"<div id='prod-box'> <a href='prod.php?ID=$nombre'><img src=$registro[minifoto]></a>";
             echo 
"<a href='prod.php?ID=$nombre' class='borde'>$registro[nombre]</a> </div>"
            }
?>
Y funciona bien hasta cierto punto, el problema es que me lista cualquier resultado que se asemeje al nombre, no el nombre completo.

Por ejemplo, si doy click a "Rainbow" me lista ese y también el que se llama "Multi Rainbow"

¿Me hago entender?

Lo que yo necesito es que se me liste ese único producto, y no he podido; se me ocurrió hacerlo por el campo "id" pero me da un error y la verdad es que no entiendo mucho aun de PHP y MySql (estoy aprendiendo)

Mil y mil gracias.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #2 (permalink)  
Antiguo 18/02/2008, 23:48
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Re: Duda catálogo de productos

Creo que es por que estas usando Match Against.. creo que para lo que tu deseas.. lo que necesitas es una consulta con Where o bien Like
Código PHP:

<?
         $link 
myconection();
         
$consulta mysql_query("SELECT * FROM producto WHERE nombre =".$_GET['ID'].")"$link) or die(mysql_error());
         while (
$registro mysql_fetch_array($consulta)) 
            {
             
$nombre = ($registro[nombre]);
             
$descripcion = ($registro[descripcion]); 
             echo 
"<div id='prod-box'> <a href='prod.php?ID=$nombre'><img src=$registro[minifoto]></a>";
             echo 
"<a href='prod.php?ID=$nombre' class='borde'>$registro[nombre]</a> </div>"
            }
?>
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #3 (permalink)  
Antiguo 19/02/2008, 00:47
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: Duda catálogo de productos

Hola, gracias por responder, pero no me funciona, con el código que me das me muestra un error.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #4 (permalink)  
Antiguo 19/02/2008, 00:50
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Re: Duda catálogo de productos

Perdón me equivoque en esta linea.. es así..

Código PHP:
 $consulta mysql_query("SELECT * FROM producto WHERE nombre =".$_GET['ID'], $link) or die(mysql_error()); 
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #5 (permalink)  
Antiguo 19/02/2008, 11:23
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: Duda catálogo de productos

Hola, gracias por tu respuesta, pero no me funciona aun.

Con el código que me das si selecciono un articulo cuyo nombre sea de una sola palabra me dice
Cita:
Unknown column 'Rainbow' in 'where clause'
y el producto si existe, y el nombre tambien.

Y si selecciono uno que tenga mas de una palabra, por ejemplo "Multi Raiunbow" me dice
Cita:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Rainbow' at line 1
Alguien?
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #6 (permalink)  
Antiguo 19/02/2008, 11:48
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Re: Duda catálogo de productos



olvide las comillas

Código PHP:
$consulta mysql_query("SELECT * FROM producto WHERE nombre = '".$_GET['ID']."'"$link) or die(mysql_error()); 
Aunque posiblemente te haga mejor leer un poco de consultas SQL..
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #7 (permalink)  
Antiguo 19/02/2008, 12:16
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: Duda catálogo de productos

Gracias _ssx eso era lo que faltaba.

Y gracias por tu recomendación, ya lo he estado haciendo (estudiando), pero estoy en un nivel muy básico aun, y este trabajo lo tengo que entregar pronto.

Tu ayuda ha sido valiosa. Mil gracias.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
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 13:35.