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>";
?>
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


0