PHP - Haciendo buscador(problema)

 
Vista:

Haciendo buscador(problema)

Publicado por gaby (2 intervenciones) el 13/04/2010 03:41:20
Hola que tal, es la primera vez que escribo aqui, les comento estoy haciendo un buscador en php, o sea trabajo con los select, porque quiero que el usuario elija las opciones, y asi se pueda filtrar la busqueda.
Ya tengo un buscador por palabras, o sea del tipo buscar nombre de usuario.
Pero estoy haciendo el del select y no le encuentro la vuelta. Trabajo con sesiones, y cuando le doy a buscar mi pagina en vez de mostrarme los datos de la busqueda o sea lo que encontró, me indica los datos del usuario que está logueado. No se si se entiende mucho, aqui dejo el codigo.

<?php



error_reporting(E_ALL ^ E_NOTICE);
session_name('pLogin');
session_set_cookie_params(2*7*24*60*60);
session_start();
include_once ("connect.php");

$usuario=$_SESSION['usuario'];

if(!isset($usuario)){

echo 'No se ha seleccionado ningun usuario.';

}else{

$query=mysql_query("SELECT * FROM prueba WHERE usuario='$_SESSION[usuario]' ");

if(mysql_num_rows($query)>0){
$user_ok=mysql_fetch_array($query);



//todo comprobado, ahora solo falta mostrar los datos
echo 'Bienvenid@ <b>'.$user_ok['usuario'].'</b><br>';

}else{

echo 'La id de usuario seleccionada no existe';
}
}

function getsqlrow($query) {
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
mysql_free_result($result);
return $row;
}

function getsqlnumber($sqlQuery) {
$query=mysql_query($sqlQuery);
$result=mysql_num_rows($query);
mysql_free_result($query);
return $result;
}

if(!isset($_GET['page'])){
$page = 1;
} else {
$page = $_GET['page'];
}
$max_results = 10;
$from = (($page * $max_results) - $max_results);

$query = mysql_query("SELECT * FROM prueba WHERE sexo='".$_POST['gender']."' AND pais='".$_POST['pais']."' AND estadocivil='".$_POST['estadocivil']."' LIMIT $from, $max_results");

if (mysql_num_rows($query)==0){
} else {

while ($user_ok = mysql_fetch_array($query)){

$get_result_row = getsqlrow("SELECT * FROM prueba WHERE usuario='".$user_ok['usuario']."'");


$result_ocupacion = getsqlnumber("SELECT * FROM prueba WHERE ocupacion='".$user_ok['ocupacion']."'");

$result_hijos = getsqlnumber("SELECT * FROM prueba WHERE hijos='".$user_ok['hijos']."'");

}
}

$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM prueba WHERE sexo='".$_POST['gender']."' AND pais='".$_POST['pais']."' AND estadocivil='".$_POST['estadocivil']."'"),0);
$total_pages = ceil($result / $max_results);

if($page > 1){
$prev = ($page - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev&&firstname=".$_POST['firstname']."&&sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."\" class=\"title_text\">Previous</a>";
}

for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i ";
} else {
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i&&firstname=".$_POST['firstname']."&&sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."\" class=\"title_text\">$i</a> ";
}
}

if($page < $total_pages){
$next = ($page + 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next&&firstname=".$_POST['firstname']."&&sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."\" class=\"title_text\">Next</a>";
}
echo "</center>";



?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Haciendo buscador(problema)

Publicado por Diego Romero (14 intervenciones) el 13/04/2010 17:05:54
Tienes una ensalada tremenda...

¿Exactamente en qué consiste la búsqueda?, ¿qué quieres que se devuelva?, ¿usando qué parámetros o términos de búsqueda?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Haciendo buscador(problema)

Publicado por gaby (2 intervenciones) el 13/04/2010 19:53:57
Te comento, la búsqueda consiste mas o menos en unos select, en el que el usuario elige por ejemplo Busco >>Hombre, Estado Civil>>Soltero, algo asi...
Si queres posteo el codigo que hice del buscador por palabras. para que veas como hice ese.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Haciendo buscador(problema)

Publicado por Diego Romero (14 intervenciones) el 14/04/2010 02:38:45
No hace falta.

Para lograr la consulta que quieres es tan fácil como ir concatenando las condiciones en la cláusula WHERE de la sentencia SELECT. Por ejemplo:

SELECT * FROM personas WHERE sexo='hombre' AND estado_civil='soltero';

Todo dependerá de cómo tengas organizada la base de datos en general y la tabla 'personas' en particular.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar