Tema: Buscador php
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/09/2005, 07:57
klyfa
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
bueno te dejo un ejemplo bastante completo con busqueda por un campo
y filtrado por select y por letras. tambien tiene ordenamiento por colunmas
pero creo que eso no quedo funcionando,
solo tiene que crear la tabla que
se llama tbltemp y crearle tres campos id, articulo y precio.
espero que te sea de utilidad. creo que anda correctamente.


<?php
$hostname_db = "localhost";
$database_db = ""; //nombre de la base de datos
$username_db = "";//tu usuario
$password_db = "";//tu clave
$db = @mysql_pconnect($hostname_db, $username_db, $password_db);
$tamPag=15;
$busqueda = "";
mysql_select_db($database_db, $db);

if ($_GET["rangoprecio"]==1){
if ($busqueda!=""){
$busqueda .=" and (precio >= 10)and(precio <= 20)";
}
else{
$busqueda .=" (precio >= 10)and(precio <= 20)";
}
}
if ($_GET["rangoprecio"]==2){
if ($busqueda!=""){
$busqueda .=" and (precio >= 20)and(precio <= 30)";
}
else{
$busqueda .=" (precio >= 20)and(precio <= 30)";
}
}

if ($_GET["busqueda"]!=""){
if ($busqueda!=""){
$busqueda .= " and(articulo like '".$_GET["busqueda"]."%')";
}
else{
$busqueda .= " (articulo like '".$_GET["busqueda"]."%')";
}
}



if (($_GET["modo"]!="")){
if ($_GET["modo"]=="DESC"){
$modo ="ASC" ;
}
else{
$modo ="DESC" ;
}
}else{
$modo ="ASC" ;
}
if ($busqueda!=""){
$busqueda="where".$busqueda;
}

$sql="SELECT * from tbltemp ".$busqueda;
$busqueda=$sql;
$rs_art=mysql_query($sql,$db)or die(mysql_error());
$numeroRegistros=mysql_num_rows($rs_art);
?>

<html>
<!-- DW6 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Articulos</title>
<script language="javascript" type="text/javascript">
function busq(targ,nom){
eval(targ+".location='"+nom+"?busqueda="+document. form1.busqueda.value+"&rangoprecio="+document.form 1.rangoprecio.value+"'");
}
</script>

<style type="text/css">
<!--
body {
margin-left: 10px;
margin-top: 10px;
}
.Estilo1 {color: #000000}
-->
</style></head>
<body>
<form action="" method="POST" name="form1">
<div class="infouser">
<div align="right"></div>
</div>
<div align="left"> </div>
<div align="center"> </div>
<p><a href="<? echo $_SERVER["PHP_SELF"]?>?busqueda=&departamento=<? echo $_GET['departamento']?>&grupo=<? echo $_GET['grupo']?>&estado=">TODOS</a>-<a href="<? echo $_SERVER["PHP_SELF"] ?>?busqueda=a&rangoprecio=<? echo $_GET['rangoprecio']?>">A</a>-<a href="<? echo $_SERVER["PHP_SELF"] ?>?busqueda=b&rangoprecio=<? echo $_GET['rangoprecio']?>">B</a>-<a href="<? echo $_SERVER["PHP_SELF"] ?>?busqueda=c&rangoprecio=<? echo $_GET['rangoprecio']?>">C</a>.............</p>
<p>
<input name="busqueda" type="text" maxlength="150">
<input name="Bot&oacute;n" type="button" onClick="busq('parent','<? echo $_SERVER["PHP_SELF"]?>')" value="Buscar">
<select name="rangoprecio" id="rangoprecio" onChange="busq('parent','<? echo $_SERVER["PHP_SELF"]?>')">
<option value="0" <?php if (!(strcmp(0, $_GET['rangoprecio']))) {echo "SELECTED";} ?>>Todos</option>
<option value="1" <?php if (!(strcmp(1, $_GET['rangoprecio']))) {echo "SELECTED";} ?>>entre 10 y 20</option>
<option value="2" <?php if (!(strcmp(2, $_GET['rangoprecio']))) {echo "SELECTED";} ?>>entre 20 y 30</option>
</select>
</p>
<p>
<? if($numeroRegistros > 0){
echo "<b class='tabletext'>".$numeroRegistros." registros encontrados</b><br>";
if($_GET['busqueda']!=""){
echo "<b class='tabletext'>Busqueda por: ".strtoupper($_GET['busqueda'])."</b>";
}
if(!isset($orden)){
$orden="articulo";
}
if(!isset($pagina)){
$pagina=1;
$inicio=1;
$final=$tamPag;
}
$limitInf=($pagina-1)*$tamPag;
$numPags=ceil($numeroRegistros/$tamPag);
if(!isset($pagina)){
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;
if($pagina<$numPags){
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}
if ($final>$numPags){
$final=$numPags;
}
}
$busqueda.=" ORDER BY ".$orden." ".$modo." LIMIT ".$limitInf.",".$tamPag;
$sql=$busqueda;
$rs_gru=mysql_query($sql,$curiaradb) or die(mysql_error());?>
</p>
<table width="99%" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#F4F4F4">
<tr bgcolor="#F86B01">
<td width="3%" bgcolor="#F86B01"><div align="left" class="Estilo1"> </div></td>
<td width="15%" bgcolor="#F86B01">id</td>
<? if ($ord==""){$ord="1";}else{$ord="";}?>
<td width="15%" bgcolor="#F86B01" class="margentbl">Nombre articulo.</td>
<td bgcolor="#F86B01" class="margentbl"><div align="left" class="Estilo1">precio</div></td>
</tr>
<? while($registro=mysql_fetch_array($rs_gru)) {
if ($colorfila==0){
$color="#F4F4F4";
$colorfila=1;
}else{
$color="#FFEBD7";
$colorfila=0;
}?>
<tr bgcolor="<?php echo $color ?>" onmouseover='this.style.background="#cccccc"'onmou seout='this.style.background="<?php echo $color ?>"'>
<td >&nbsp;</td>
<td width="15%" class="textonaranja10"><?php echo $registro['id']."&nbsp;" ?></td>
<td width="15%"><?php echo $registro['articulo']."&nbsp;" ?> </td>
<td class="textonaranja10"><?php echo $registro['precio']."&nbsp;" ?></td>
</tr>
<? }?>
</table>
<table width="99%" border="0">
<tr>
<td><div align="right"><span class="textonaranja10"> </span>
<?
if($pagina>1)
{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?busqueda=".$_GET["busqueda"]."&departamento=".$_GET["departamento"]."&estado=".$_GET["estado"]."&orden=codigoarticulo&modo=".$_GET["modo"]."&pagina=".($pagina-1)."'>";
echo "<font face='verdana' size='2'><< </font></a>";
}

for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<font face='verdana' size='2'><b>".$i."</b>&nbsp;</font></a>";
}else{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?busqueda=".$_GET["busqueda"]."&departamento=".$_GET["departamento"]."&estado=".$_GET["estado"]."&orden=codigoarticulo&modo=".$_GET["modo"]."&pagina=".$i."'>";
echo "<font face='verdana' size='2'>".$i."</font></a>";
}
}
if($pagina<$numPags){
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?busqueda=".$_GET["busqueda"]."&departamento=".$_GET["departamento"]."&estado=".$_GET["estado"]."&orden=codigoarticulo&modo=".$_GET["modo"]."&pagina=".($pagina+1)."'>";
echo "<font face='verdana' size='2'>>></font></a>";
}?>
<br>
</div></td>
</tr>
<tr>
<td><? }else{
echo "<b class='tabletext'>0 registros encontrados</b><br>";
if($_GET['busqueda']!=""){
echo "<b class='tabletext'>Busqueda por: ".strtoupper($_GET['busqueda'])."</b>";
}
}?></td>
</tr>
<tr>
<td><div align="center"> </div></td>
</tr>
</table>
</form>
</body>
</html>
<?php
mysql_free_result($rs_art);
?>