Foros del Web » Programando para Internet » PHP »

Problemas al crear Buscador. AYuda!!!!

Estas en el tema de Problemas al crear Buscador. AYuda!!!! en el foro de PHP en Foros del Web. tengo una introduccion de texto que envio a un archivo php donde recibo la variable llamada palabra y hay hago un selec de la base ...
  #1 (permalink)  
Antiguo 21/02/2008, 07:19
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Problemas al crear Buscador. AYuda!!!!

tengo una introduccion de texto que envio a un archivo php donde recibo la variable llamada palabra y hay hago un selec de la base de datos

Código HTML:
$palabra = utf8_decode($_POST['palabra']);
    echo "<center>";
	 $sql1="select * from exportec WHERE (nom_marca like '%".$palabra."%') order by 'id' asc";  
	 $buscar=@mysql_query($sql1,$con) or die ("<p class=\"MSG\">¡ERROR! Ha ocurrido un error al intentar listar los registros</P>");
	 $n_registros=mysql_num_rows($buscar);
y no me muestra nada la verdad esuqe mi nivel de php es bajo y no se que puede estar pasando si alguien me puede echar una mano... gracias
  #2 (permalink)  
Antiguo 21/02/2008, 07:24
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: Problemas al crear Buscador. AYuda!!!!

el problema esta en la codificacion!
si los datos de la base de datos estan codificados en utf8 los de $palabra tambien deberian estarlo
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 21/02/2008, 07:28
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

entonces lo que tendria que hacer es no decodificar los datos de $palabra?
  #4 (permalink)  
Antiguo 21/02/2008, 08:41
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

hola de nuevo sigo con el problema y le he dao mil y una vueltas no se que hacer ... plis ayudita....
  #5 (permalink)  
Antiguo 21/02/2008, 08:46
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Problemas al crear Buscador. AYuda!!!!

Prueba asi:

Código PHP:
$palabra utf8_encode($_POST['palabra']);
echo 
"<center>";
$sql1 "select * from exportec WHERE nom_marca like '%$palabra%' order by id asc";  
$buscar mysql_query($sql1$con) or die ("<p class=\"MSG\">¡ERROR! Ha ocurrido un error al intentar listar los registros</P>");
$n_registros mysql_num_rows($buscar); 
Saludos.
  #6 (permalink)  
Antiguo 21/02/2008, 08:55
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

ya probe de esta forma y el tema es que no me devuelve ningun resultado
pongo todo el porceso a ver si me puedes echar una mano por que estoy desesperado llevo 4 horas intentandolo y me bailan las letras

El buscador:
Código:
<FORM METHOD=POST ACTION="buscador.php"> 
Buscar: <INPUT TYPE="text" NAME="palabra"> 
</FORM>
El php:
Código:
function listar($con,$el_id)
{
	$palabra = utf8_encode($_POST['palabra']); 
//	$palabra = utf8_encode($_POST['palabra']);
    echo "<center>";
	 $sql1="select * from exportec WHERE (nom_marca like '%".$palabra."%') order by 'id' asc";  
	 $buscar=@mysql_query($sql1,$con) or die ("<p class=\"MSG\">¡ERROR! Ha ocurrido un error al intentar listar los registros</P>");
	 $n_registros=mysql_num_rows($buscar);
	//Si no existen registros en la tabla (tabla vacia)
	if ($n_registros == 0) {echo "<p class=\"MSG\">No existen registros en la base de datos</P>";}
y efectivamente lo que me devuelve es que NO EXISTEN REGISTROS EN LA BASE DE DATOS

Gracias tio de veras que si te tubiera delante te daba hasta besos jeje
  #7 (permalink)  
Antiguo 21/02/2008, 09:22
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Problemas al crear Buscador. AYuda!!!!

Prueba asi:

Código PHP:
$palabra $_POST['palabra'];
echo 
"<center>";
$sql1 "select * from exportec WHERE nom_marca like '%$palabra%' order by id asc";  
$buscar mysql_query($sql1$con) or die ("<p class=\"MSG\">¡ERROR! Ha ocurrido un error al intentar listar los registros</P>");
$n_registros mysql_num_rows($buscar); 
Quitale el utf8_encode a tus variables, ademas veo que estas utilizando una función como es que la invocas? y otra cosa ya miraste en la BD que existen coincidencias con tu criterio de busqueda?

Saludos.
  #8 (permalink)  
Antiguo 21/02/2008, 09:22
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

me vuelvo loco ya no se que hacer alguien puede darme una alternativa¿
  #9 (permalink)  
Antiguo 21/02/2008, 09:25
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

perdoname carlojas que no habia visto tu respuesta

tambein lo porbe asi antes y lo que hace es devolverme todos los datos que hay en la BD y no los filtra
  #10 (permalink)  
Antiguo 21/02/2008, 09:26
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Problemas al crear Buscador. AYuda!!!!

jositosov,

¿Que tipo de codificaciçón tiene la página en el que esta puesto el formulario? Quizás el problema radique ahi.

Saludos
  #11 (permalink)  
Antiguo 21/02/2008, 09:26
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

te pongo todo el codigo a ver si me ves el fallo

Código PHP:
<?php
$palabra 
$_POST['palabra']; 
function 
listar($con,$el_id)
{
    
//$palabra = utf8_encode($_POST['palabra']); 
//$palabra = utf8_encode($_POST['palabra']);
    
echo "<center>";
     
$sql1="select * from exportec WHERE (nom_marca like '%".$palabra."%') order by 'id' asc";  
     
$buscar=@mysql_query($sql1,$con) or die ("<p class=\"MSG\">¡ERROR! Ha ocurrido un error al intentar listar los registros</P>");
     
$n_registros=mysql_num_rows($buscar);
    
//Si no existen registros en la tabla (tabla vacia)
    
if ($n_registros == 0) {echo "<p class=\"MSG\">No existen registros en la base de datos</P>";}
    else 
//Si existen registros en la tabla 
    
{
        echo 
"<table class=\"list\">
                <tbody>"
;
        while(
$registro mysql_fetch_array($buscar))
        {
            if (
$usu_id!=$registro['id']) {echo "<tr onmouseover=\"this.bgColor='#990000'\" onmouseout=\"this.bgColor='#990000'\">";}
            else {echo 
"<tr style=\"background-color:#990000;\">";}
            
                        
//Vamos a ver cual es la marca
    
$SQL_cat="SELECT nombre FROM marcas WHERE id=".$registro['nom_marca']."";
    
$cat=@mysql_query($SQL_cat,$con) or die ("<p class=\"MSG\">No se pudo mostrar la categoría</P>");
    
$aux_cat mysql_fetch_array($cat);    
    
$la_marca $aux_cat['nombre'];                  
            
//Vamos a ver cual es el modelo
    
$SQL_cat="SELECT modelo FROM modelos WHERE id=".$registro['nom_modelo']."";
    
$cat=@mysql_query($SQL_cat,$con) or die ("<p class=\"MSG\">No se pudo mostrar la categoría</P>");
    
$aux_cat mysql_fetch_array($cat);    
    
$el_modelo $aux_cat['modelo'];    
                        
            echo 
"<table>
                    <tbody>
                    <tr>
                    <td>
                    <a href=\""
.$_SERVER['PHP_SELF']."?accion=view&amp;el_id=".$registro['id']."\" title=\"Mostrar detalles\"><img style=\"border:0px solid #000; margin:5px;\" src=\"images/th_".$registro['foto01']."\" alt=\"".$registro['nombre']."\" title=\"".$registro['nombre']."\" /></td>
             </a><td class=\"listdat\" style=\"text-align:center;\"><a href=\""
.$_SERVER['PHP_SELF']."?accion=view&amp;el_id=".$registro['id']."\" title=\"Mostrar detalles\">".$la_marca."&nbsp;".$el_modelo."</a></td>
                    </tr>"
;
        } 
//EndWhile
        
echo "</tbody>
            </table>"
;
        echo 
"<div class=\"nregistros\">Existen $n_registros registros</div><br />";            
    } 
//EndIf
    
mysql_free_result($buscar);
    echo 
"</center>";
//EndFunction
  #12 (permalink)  
Antiguo 21/02/2008, 09:28
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

la funcion listar la invoco al inicio cuando carga la pagina
  #13 (permalink)  
Antiguo 21/02/2008, 09:31
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Problemas al crear Buscador. AYuda!!!!

jositov,

No me referia a la parte del código que captura los valores marcados en el formulario, sino a la parte de la cabecera del FORMULARIO en si, ya que puedes haber definido un tipo de códificación diferente a UTF-8 o a la declarada en la bbdd que puede hacer que los terminos empleados en el campo "palabra" cambien por caracteres especiales y hagan que no coincidan con los datos introducidos en la bbdd.

Saludos
  #14 (permalink)  
Antiguo 21/02/2008, 09:38
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Problemas al crear Buscador. AYuda!!!!

Prueba agregando esto al inicio de te formulario dentro de la etiqueta <head>

Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
Saludos.
  #15 (permalink)  
Antiguo 21/02/2008, 09:39
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

la codificacion de la pagina es utf-8
aqui te pongo el script

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  #16 (permalink)  
Antiguo 21/02/2008, 09:41
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Problemas al crear Buscador. AYuda!!!!

En la página donde recoges los valores de los resultados ya tienes declarada la misma códificación?!

A mi no se me ocurre otra causa... la verdad!

Saludos
  #17 (permalink)  
Antiguo 21/02/2008, 09:48
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

gracias tio si tengo la misma codificacion tambien en la base de datos
gracias de todos modos
  #18 (permalink)  
Antiguo 21/02/2008, 09:49
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

alguna alternativa?
  #19 (permalink)  
Antiguo 21/02/2008, 09:54
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Problemas al crear Buscador. AYuda!!!!

Ok,

Prueba a realizar lo siguiente:

1. Imprime el contenido de la variable $palabra con el fin de cercionarte de que tiene algún contenido.

2. Modifica la consulta dejandola de la siguiente manera:

Código PHP:
$sql1="select * from exportec WHERE nom_marca like '%$palabra%' order by id asc"
A ver que contenido de devuelve la variable y a ver si te tira así la consulta.

Saludos
  #20 (permalink)  
Antiguo 21/02/2008, 10:23
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

nada de nada no se que lexes hago mal... me entran ganas de llorar y todo je je

no se si enviaros los archivos no se que hacer
  #21 (permalink)  
Antiguo 21/02/2008, 10:27
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Problemas al crear Buscador. AYuda!!!!

No te devuelve algun contendio la varibale? imprimiste la consulta a ver que datos esta pasando?

Saludos.
  #22 (permalink)  
Antiguo 21/02/2008, 10:36
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

me refiero que al poner el echo $palabra; no sale nada ... ya no se si es por que estoy saturado del problema .. o no se que hacer ya o que ya ni siquiera ser imprimir una variable no se .. voy a empezar otra vez desde el inicio
  #23 (permalink)  
Antiguo 21/02/2008, 10:46
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Problemas al crear Buscador. AYuda!!!!

El problema esta aqui....

Código HTML:
<FORM METHOD=POST ACTION="buscador.php"> 
Buscar: <INPUT TYPE="text" NAME="palabra"> 
</FORM> 

Cambialo por esto:

Código HTML:
<FORM METHOD="POST" ACTION="buscador.php"> 
Buscar: <INPUT TYPE="text" NAME="palabra"> 
</FORM> 
Te has dejado las comillas apañero!!!

Saludos
  #24 (permalink)  
Antiguo 21/02/2008, 11:05
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

ya he probado que locura ahora si que me devuelve resultados pero me los devuelve todos otra vez no me flitra
  #25 (permalink)  
Antiguo 21/02/2008, 11:11
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

millones de gracias
  #26 (permalink)  
Antiguo 21/02/2008, 11:14
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

na no me hace el filtro
snif snif
  #27 (permalink)  
Antiguo 21/02/2008, 11:28
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Problemas al crear Buscador. AYuda!!!!

jositosov,

Prueba a cambiar la consulta

Código PHP:
$sql1="select * from exportec WHERE (nom_marca like '%".$palabra."%') order by 'id' asc"
por esto:

Código PHP:
$sql1="select * from exportec WHERE nom_marca like '%$palabra%' order by id asc"
Saludos
  #28 (permalink)  
Antiguo 21/02/2008, 11:46
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas al crear Buscador. AYuda!!!!

nada esta todo comprobadisimo la variable $palabra la pasa bien pero no me filtr no me hace el select probado de las 2 maneras....

alguna alternativa mas ... o quizas hacerlo de otra forma
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 09:03.