• Domingo 22 de Diciembre de 2024, 02:23

Autor Tema:  Problema Con Busquedas Php Y Mysql  (Leído 1684 veces)

moyo18

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Problema Con Busquedas Php Y Mysql
« en: Jueves 7 de Junio de 2007, 05:56 »
0
bueno la cosa esta asi, en un hostlocal q tengo en mi pc con appserv, las busquedas me sirven perfecto, pero al pasar a un sevidor me tira q no he introducido los datos y si los pongo.

estos son los codigos del form y el php

Código: Text
  1. <html>
  2. <head>
  3.  <title> Busqueda de Miembros del Grupo</title>
  4. </head>
  5. <body>
  6.  <h1> Resultados busqueda</h1>
  7.  
  8. <?php
  9.  
  10. // confirmacion de entrada de datos
  11.  
  12. trim($buscar);
  13.  if (!$opcion || !$buscar)
  14.  {
  15.    echo "No has introducido los datos necesarios para la busqueda.";
  16.    exit;
  17.  }
  18. $opcion = addslashes ($opcion);
  19. $buscar = addslashes ($buscar);
  20.  
  21. // conexion base d datos cambiar los datos de la base de datos por los tuyos
  22.  
  23. @ $db = mysql_pconnect ("localhost","miuser","mipass");
  24.  if (!$db)
  25.  {
  26.    echo "No ha conectado con la base datos";
  27.    exit;
  28.  }
  29.  
  30. // llamar a la base de datos usar cambiar por el nombre de su base de datos
  31.  
  32. mysql_select_db ("nombredb");
  33.  
  34. // consulta
  35.  
  36. $consulta = "select * from registro where ".$opcion." like '%".$buscar."%'";
  37. $resultado = mysql_query($consulta);
  38. $num_resultado=mysql_num_rows($resultado);
  39. echo "<p>Miembros encontrados: ".$num_resultado."</p>";
  40.  
  41. for ($i=0; $i<$num_resultado; $i++)
  42. {
  43.   $row = mysql_fetch_array ($resultado);
  44.   echo "<p><strong>".($i+1).".Nombre: ";
  45.   echo stripslashes($row["nombre"]);
  46.   echo "</strong><br>Apellido:";
  47.   echo stripslashes ($row["apellido"]);
  48.   echo "</p>";
  49. }
  50.  
  51. ?>
  52.  
  53. </body>
  54. </html>
  55.  
  56.  
  57.  

aki esta el form

Código: Text
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Documento sin título</title>
  6. </head>
  7.  
  8. <body>
  9. <h1>Busqueda de Miempbros</h1>
  10.  
  11. <form action="buscar.php" method="post">
  12.  Elige tipo de busqueda<br>
  13.  <select name="opcion">
  14.   <option value="nombre">Nombre
  15.   <option value="apellido">Apellido
  16.  </select>
  17.  <br>
  18.  Escribe el termino de busqueda: <BR>
  19.  <input name="buscar" type=text>
  20.  <br>
  21.  <input type=submit value="buscar">
  22. </form>
  23.  
  24. </body>
  25. </html>
  26.  
  27.  


pngo los datos y al darle enviar me sale esto


No has introducido los datos necesarios para la busqueda

porq me sale eso ? si tengo el dato introducido para la busqueda, pero en mi localhost me sirve bien con el appserv pero en el servidor q estoy pagando no.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Problema Con Busquedas Php Y Mysql
« Respuesta #1 en: Jueves 7 de Junio de 2007, 08:52 »
0
Hola

mira  

Código: Text
  1.  
  2. trim($buscar);
  3. if (!$opcion || !$buscar)
  4. {
  5.   echo "No has introducido los datos necesarios para la busqueda.";
  6.   exit;
  7. }
  8.  
  9.  

para que la funcion trim, sea efectiva recibe un parametro por valor no por referencia por lo tanto debes hacer esto

Código: Text
  1. $buscar=trim($buscar);
  2.  

pues la variable buscar no sera modificada sino le regresas el resultado de la funcion

prueba cambiando tu comparacion en el if...
ahora tu validacion es una negacion (de ?!) si lo que quieres es saber si una variable esta vacia o nula puedes usar otras funciones

puedes echar un vistazo a este mensaje tal vez te se de ayuda

http://foros.solocodigo.com/index.php?show...ndpost&p=109326

espero te sirva

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Problema Con Busquedas Php Y Mysql
« Respuesta #2 en: Jueves 7 de Junio de 2007, 10:05 »
0
Hola. Es posible que en el servidor de pago no tengas activado el register_globals con lo que no podrás acceder a las variables que se han enviado de la forma $opcion sino que deberás acceder a ellas mediante $_POST['opcion'].

Para que no tengas que modificar el código y sustituir todas las apariciones de $opcion por $_POST['opcion'] y $buscar por $_POST['buscar'] puedes añadir lo siguiente al principio de tu código PHP.

Código: Text
  1. while ($HTTPVAR = each($_POST)) {
  2.   ${$HTTPVAR[0]} = $HTTPVAR[1];
  3. }
  4.  

Con esto crearás variables con el respectivo nombre de cada elemento del array $_POST y su valor correspondiente.


Salu2,
Avalon

moyo18

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Problema Con Busquedas Php Y Mysql
« Respuesta #3 en: Jueves 7 de Junio de 2007, 19:58 »
0
ya intente como dice F_Tanori

mira la nueva parte del nuevo codigo me queda asi

Código: Text
  1. $buscar=trim($buscar);
  2.  if (trim($buscar)!="" )
  3.  {
  4.    echo "No has introducido los datos necesarios para la busqueda.";
  5.    exit;
  6.  }
  7.  

viendo la otra pagina q dejaste probe asi y no funciono , ptambien probe usando nada mas esat linea , ya ni tira el mensaje  

Citar
No has introducido los datos necesarios para la busqueda

Código: Text
  1. $buscar=trim($buscar);
  2.  
y no funciiono no muestra los resultados siempre me sale q ponga los datos y ya lo estoy poniendo, pero en mi server local me funciona bien :S.

tambien cuando pongo el codigo d arriba

Código: Text
  1. buscar=trim($buscar);
  2.  if (trim($buscar)!="" )
  3.  

me sale un error

Citar
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/nuevajer/public_html/registro/buscar.php on line 38

borro esa parte del codigo q nada mas es como un contador para ver los miembros q saldrian encontrados por la busqueda, pero al darle buscar me sale nada mas Miembros encontrados y no muestra nada.


por el de avalon me sirvio de maravilla el codigo, muchas gacias  ;) . no necesite modificar nada.

truxo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Problema Con Busquedas Php Y Mysql
« Respuesta #4 en: Viernes 8 de Junio de 2007, 04:06 »
0
Hola
Opino igual que Avalon,  es por register_globals

Código: Text
  1.  
  2. if ( !isset ( $_POST['buscar'] ) || empty ( $_POST['buscar'] ) )
  3. {
  4.   die ( 'Campo x vacio' );
  5. }
  6.   $opcion = addslashes ( $_POST['opcion'] );
  7.   $buscar = addslashes ( $_POST['buscar'] );
  8.  
  9.  

Saludos

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Problema Con Busquedas Php Y Mysql
« Respuesta #5 en: Viernes 8 de Junio de 2007, 15:55 »
0
Cita de: "Avalon"
Código: Text
  1. while ($HTTPVAR = each($_POST)) {
  2.   ${$HTTPVAR[0]} = $HTTPVAR[1];
  3. }
  4.  

Con esto crearás variables con el respectivo nombre de cada elemento del array $_POST y su valor correspondiente.
extract($_POST);  ;)

Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |