Foros del Web » Programando para Internet » PHP »

No se que esté mal

Estas en el tema de No se que esté mal en el foro de PHP en Foros del Web. HOla: Tengo una consulta que no me funcional 100%, si me arroja datos pero no los q queiro, q puedo hacer: $rescons="Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n From ...
  #1 (permalink)  
Antiguo 04/04/2007, 20:37
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta No se que esté mal

HOla:

Tengo una consulta que no me funcional 100%, si me arroja datos pero
no los q queiro, q puedo hacer:

$rescons="Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n
From producto, desc_prod WHERE
producto.id_producto=desc_prod.id_producto LIKE '%$busqueda%' Order By nombre_prod Desc";
$resquery=mysql_query($rescons);
echo mysql_errno().": ".mysql_error()."<BR>";
while($filas=mysql_fetch_array($resquery))
{
if($filas["nombre_prod"] != '')
{
$nombre=$filas["nombre_prod"];
}
if($filas["descripcion"] != '')
{
$descrip=$filas["descripcion"];
}
if($filas["caract_tecnolog"] != '')
{
$caract=$filas["caract_tecnolog"];
}
$numRegis++;
}


En Mysql pongo esta consulta:
Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n From
producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto AND
nombre_prod="celular" Order By nombre_prod Desc;

y todo marcha bien, que puedo hacer para que en mi pagina se haga
bien la consulta y me arroge segun lo que introduzca en el campo de
busqueda ?

Espero pueda ayudarme !!!!
  #2 (permalink)  
Antiguo 04/04/2007, 20:43
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: No se que esté mal

Para comprobar una consulta SQL, lo mas facil es usar un echo, asi:

Código PHP:
<?php

$rescons
="Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n
From producto, desc_prod WHERE
producto.id_producto=desc_prod.id_producto LIKE '%$busqueda%' Order By nombre_prod Desc"
;
echo 
$rescons;
?>
Revisas lo que sale por pantalla y te fijas, esta todo bien, llego bien el valor de $busqueda?

Seguramente ese sea el problema, por lo menos en la parte del codigo que mostraste falta recuperar el valor de busqueda de GET o POST, segun por donde venga:

Código PHP:
<?php
$busqueda 
$_GET["busqueda"];
?>
o

Código PHP:
<?php
$busqueda 
$_POST["busqueda"];
?>
Y finalmente lo que sigue, suponiendo que viene a traves de GET:

Código PHP:
<?php
$busqueda 
$_GET["busqueda"];
$rescons="Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n
From producto, desc_prod WHERE
producto.id_producto=desc_prod.id_producto LIKE '%$busqueda%' Order By nombre_prod Desc"
;
echo 
$rescons;
?>

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 06/04/2007, 17:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Re: No se que esté mal

Hola:

Hice lo que me recomendaste pongo echo $resquery.$busqueda; y solo me sale Resource id #3 balon, pero en los campos donde deben mostrarse los datos no sale la informacion. Tengo una tabla en la cual una celda es para nombre, descripcion y catacteristicas, y en cada campo le pongo un echo $nombre;, echo $descrip;, echo $caract;, respectivamente. Que será ?

Espero su ayuda Gracias !!!
  #4 (permalink)  
Antiguo 06/04/2007, 18:13
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: No se que esté mal

Si lees bien, yo te dije que mostraras $rescons no $resquery, de hecho, pegue el codigo

Copia la cosnulta que te saldra por pantalla, pegala en phpMyAdmin y comprueba si hay resultados en tu BD.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 08/04/2007, 15:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Re: No se que esté mal

Hola:

Ya lo hice como me dijiste y si salen registros.

La consulta es esta:
Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n From producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto LIKE '%%' Order By nombre_prod Desc

y si me salen dos registros pero a lo que veo en mi página web solo me sale uno y es siempre el mismo.
  #6 (permalink)  
Antiguo 08/04/2007, 15:43
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: No se que esté mal

Observa la consulta, no esta lleguando el parametro de busqueda.

LIKE '%%'

Deberia llegar alguna palabra al menos:

LIKE '%palabra%'


Y como te dije mas arriba, debes recibir la variable de busqueda de alguna manera, con GET o con POST:


Código PHP:
<?php
$busqueda 
$_GET["busqueda"];
?>
Código PHP:
<?php
$busqueda 
$_POST["busqueda"];
?>

Y esto depende de tu formulario de busqueda.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #7 (permalink)  
Antiguo 09/04/2007, 12:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: No se que esté mal

Hola:

ya puse lo de $busqueda=$_POST[$busqueda]; y ahora no me arroja resultados, ya busqué en mi tabla ysi está el nombre monitor, pero si me llega la palabra que pongo a buscar en mi página:

Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n From producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto LIKE '%monitor%' Order By nombre_prod Desc

Esta consulta la puse en phpmyadmin y no me salen registros, y si hago un select nombre_prod from producto where nombre_prod="monitor"; aqui si me arroja resultados.

Te dejo mi código por si se ocupa:

$busqueda=$_POST["busqueda"];
$trozo=explode(" ",$busqueda);
$numero=count($trozo);
$numRegis=0;
if($numero==1)
{
$rescons="Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n From producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto LIKE '%$busqueda%' Order By nombre_prod Desc";
$resquery=mysql_query($rescons);
echo mysql_errno().": ".mysql_error()."<BR>"; echo $rescons;
//$filas=mysql_fetch_assoc($resquery)
while($filas=mysql_fetch_assoc($resquery))
{
if($filas["nombre_prod"] != '')
{
$nombre=$filas["nombre_prod"];
}
if($filas["descripcion"] != '')
{
$descrip=$filas["descripcion"];
}
if($filas["caract_tecnolog"] != '')
{
$caract=$filas["caract_tecnolog"];
}
$numRegis++;
}
}
  #8 (permalink)  
Antiguo 09/04/2007, 12:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Re: No se que esté mal

Además fijate que tengo un problema con una tabla, en la tabla(desc_prod) donde tengo la llave foranea(id_producto) al momento de insertar un dato aquí siempre me pone el dato que tengo en la insercion y por consiguiente todos los registros tienen el mismo id, e hecho lo siguiente pero no me da resultado:

$result=mysql_query("INSERT INTO producto(tipo_producto,nombre_prod,imagen) VALUES('{$_POST['tipo']}','{$_POST['nombre']}','{$dirp}')",$link);
$resmax=mysql_query("SELECT max(id_producto) from desc_prod");
$rr=$resmax+1;
$result2=mysql_query("INSERT INTO desc_prod(id_producto,descripcion,precio_fijo,prec io_min,precio_oferta,caract_tecnolog,fecha_ingre,t iempo_ofer) VALUES ($resmax,'{$_POST['descrip']}',{$_POST['precio_fijo']},{$_POST['precio_min']},{$_POST['precio_oferta']},'{$_POST['caract']}','{$_post['fecha_reg']}','{$_POST['tiempo_ofer']}')",$link);

Aqui selecciono el id mayor y le sumo 1, pero no se que pasa que me da otro numero, por ejemplo si tengo un 2 como numero mayor en la suma me da un 4. No se como solucionar esto, espero que puedan ayudarme. Quizá este también sea un problema para lo de la consulta no crees?
  #9 (permalink)  
Antiguo 09/04/2007, 14:06
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: No se que esté mal

Esta mal la consulta:

Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n From producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto LIKE '%monitor%' Order By nombre_prod Desc


Deberia ser:

Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcio n From producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto AND nombre_prod LIKE '%monitor%' Order By nombre_prod Desc


Lo que me parece extraño es que si pegas la consulta mal hecha en phpMyAdmin, deberia tirar error ademas de no mostrar nada... o quiza si tiro error y ni te diste cuenta.

Exitos!
__________________
Federico.

Mi página: www.jourmoly.com.ar
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:07.