Haciendo un buscador

Iniciado por den_22, 3 Abril 2010, 04:59 AM

0 Miembros y 2 Visitantes están viendo este tema.

den_22

Hola que tal, estoy tratando de hacer un buscador tengo este archivo search.php, que la parte del php es algo asi:

Código (php) [Seleccionar]

<?
error_reporting(E_ALL ^ E_NOTICE);
session_name('pLogin');
session_set_cookie_params(2*7*24*60*60);
session_start();

include("function.php");
include("connect.php");
include("getdata.php");

$query = mysql_query("select * from prueba where usuario='$usuario'");
   $getname = mysql_fetch_array($query);
   $firstname = $getname["firstname"];
   $lastname =$getname["lastname"];
   $gender= $getname["sexo"];
   $estadocivil=$getname["estadocivil"];
   $pais=$getname["pais"];
?>


y la parte del html asi


Código (php) [Seleccionar]
<table width="470" height="254" border="1">
<form action="search_results.php" method="post">
  <tr>
    <td width="189">Nombre:</td>
    <td width="265"><?php echo $firstname;?><input type="text" name="firstname" class="main_text_normal" style="width: 100%;"></td>
  </tr>
  <tr>
    <td>Apellido:</td>
    <td><?php echo $lastname;?><input type="text" name="lastname" class="main_text_normal" style="width: 100%;"></td>
  </tr>
  <tr>
    <td>Pais:</td>
    <td><select size=1 NAME='pais'>
         
          <option <?php if ($user_ok[pais]=="Argentina") echo "selected"?>>Argentina</option>
          <option <?php if ($user_ok[pais]=="Bolivia") echo "selected"?>>Bolivia</option>
          <option <?php if ($user_ok[pais]=="Chile") echo "selected"?>>Chile</option>
  <option <?php if ($user_ok[pais]=="Costa Rica") echo "selected"?>>Costa Rica</option>
  <option <?php if ($user_ok[pais]=="Cuba") echo "selected"?>>Cuba</option>
  <option <?php if ($user_ok[pais]=="Ecuador") echo "selected"?>>Ecuador</option>
  <option <?php if ($user_ok[pais]=="El Salvador") echo "selected"?>>El Salvador</option>
  <option <?php if ($user_ok[pais]=="Espana") echo "selected"?>>Espana</option>
  <option <?php if ($user_ok[pais]=="Guatemala") echo "selected"?>>Guatemala</option>
  <option <?php if ($user_ok[pais]=="Guinea Ecuatorial") echo "selected"?>>Guinea Ecuatorial</option>
  <option <?php if ($user_ok[pais]=="Honduras") echo "selected"?>>Honduras</option>
  <option <?php if ($user_ok[pais]=="México") echo "selected"?>>México</option>
  <option <?php if ($user_ok[pais]=="Nicaragua") echo "selected"?>>Nicaragua</option>
  <option <?php if ($user_ok[pais]=="Panamá") echo "selected"?>>Panamá</option>
  <option <?php if ($user_ok[pais]=="Paraguay") echo "selected"?>>Paraguay</option>
  <option <?php if ($user_ok[pais]=="Perú") echo "selected"?>>Perú</option>
  <option <?php if ($user_ok[pais]=="Puerto Rico") echo "selected"?>>Puerto Rico</option>
  <option <?php if ($user_ok[pais]=="República Dominicana") echo "selected"?>>República Dominicana</option>
  <option <?php if ($user_ok[pais]=="Uruguay") echo "selected"?>>Uruguay</option>
  <option <?php if ($user_ok[pais]=="Venezuela") echo "selected"?>>Venezuela</option>
        </select> </td>
  </tr>
  <tr>
    <td>Estado Civil: </td>
    <td><select size=1 NAME='estadocivil'>
          <option></option>
          <option <?php if ($user_ok[estadocivil]=="Soltero/a") echo "selected"?>>Soltero/a</option>
          <option <?php if ($user_ok[estadocivil]=="Divorciado/a") echo "selected"?>>Divorciado/a</option>
  </select></td>
  </tr>
  <tr>
    <td>Genero:</td>
    <td><select size=1 NAME='sexo'>
          <option></option>
          <option <?php if ($user_ok[sexo]=="Masculino") echo "selected"?>>Masculino</option>
          <option <?php if ($user_ok[sexo]=="Femenino") echo "selected"?>>Femenino</option>
         
        </select></td>
  </tr>
  </form>


ahora bien, al hacer click en buscar, llama al archivo search_results.php que es el siguiente:


Código (php) [Seleccionar]

<?

error_reporting(E_ALL ^ E_NOTICE);

session_name('pLogin');
session_set_cookie_params(2*7*24*60*60);
session_start();
include('connect.php');
$usuario = $_SESSION['usuario'];

$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$estadocivil=$_POST['estadocivil'];
$gender=$_POST['sexo'];
$pais=$_POST['pais'];



$query= mysql_query("select * from prueba where firstname='".$firstname."' AND lastname='".$lastname."'AND sexo='".$gender."' AND estadocivil='".$estadocivil."' AND pais='".$pais."'");
   


?>



en el html de este archivo hago un <?php echo $firstname;?>, por ejemplo.

Mi pregunta es, en qué estoy fallando porque no me busca ningun usuario. Está bien como lo estoy haciendo?

De antemano gracias, solo busco algo de orientacion.

Shell Root

Emmm, dentro del archivo search.php, se supone que donde esta seteada la variable $usuario.

PD: This application has iSQL and XSS:silbar:
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

~ Yoya ~

Hay algunos temas sobre crear un buscador en el foro, usa el buscador del foro.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

den_22

Si, me olvidé de declarar la variable, pero igual no funciona. Gracias por responder

Shell Root

Bueno, no me referia a la declaración de la variable, sino del SETEO, es decir, en donde le dás valor a esa variable. Supongo que desde allì parte la consulta!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

den_22

Algo asi?

if(!isset($usuario)){

echo 'No se ha seleccionado ningun usuario.';

}else{

Por que razon no se llegan a mostrar los resultados de los usuarios de la bd, cuando hago el select * from existe algo mal?, porque los datos los paso por post.


Shell Root

Supongo que deberia ser
Código (php) [Seleccionar]
$usuario = $_SESSION['usuario'];

Deberias de usar la tecnica del miron... :P, mostrar el query en un echo, para ver que valores estas pasando y cuales no, además de ejecutarlo en el MySQL, a ver si trae resultados.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

~ Yoya ~

usa la sentencia while y trata de no usar variables, si no datos fijos y hay sabrás si podría ser que las variables no tenga algún contenido.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

den_22

Bueno eso fue lo que hice, pero nada... Tal vez estoy haciendo algo mal en el show_results.php y por eso no se muestran los datos de otros usuarios.

~ Yoya ~

y usaste la sentencia while?
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.