Ver Mensaje Individual
  #15 (permalink)  
Antiguo 26/04/2005, 16:44
iarrieta
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Gracias Neuron pero no me funciona... me da un error.

Pongo aqui el form a ver si se ve mejor la posibilidad:

inicio.php

Código PHP:
]<script language="javascript"> 
function recarga(){ 
window.location = "<?php echo $_SERVER['PHP_SELF']; ?>?var="+document.buscador.categoria.value; 
onChange="location.reload()"; 

</script>

<form name="buscador" id="buscador" method="post" action="resultados.php">
                      <table width="370" border="0" cellpadding="5">
                        <tr>
                          <td><div align="right">Ingrese el nombre a consultar </div></td>
                          <td><div align="right">
                            <input name="textfield" type="text" class="texto" size="30">
                          </div></td>
                        </tr>
                        <tr>
                          <td colspan="2"><div align="right">
<?php 
include("config.php"); 

$sql="SELECT categoria FROM categorias"
$result=mysql_db_query("bogonli_principal",$sql); 

echo 
'<select name="categoria" id="categoria"  class="texto" onChange="recarga()">'
$var=$_GET["var"]; 
while (
$row=mysql_fetch_array($result)) 
{echo 
'<option value="'.$row["categoria"].'"'
if(
$var==$row["categoria"]){echo " selected"; } 
echo 
'>'.$row["categoria"];} 
echo 
'</select>';

if(!empty(
$var)){ 
$var=$_GET["var"]; 
$sql2="SELECT subcategoria FROM categorias WHERE categoria='$var'"
$result2=mysql_db_query("bogonli_principal",$sql2); 
?>
&nbsp;&nbsp;
    <?
echo '<select name="subcategoria" id="subcategoria"  class="texto">'
while (
$row2=mysql_fetch_array($result2)) 
{echo 
'<option value="'.$row2["subcategoria"].'">'.$row2["subcategoria"];} 
echo 
'</select>'

?>
</div></td>
                        </tr>
                        <tr>
                          <td colspan="2"><div align="center">
                            <input name="submit" type="submit" class="texto" value="Realizar la consulta">
                          </div></td>
                        </tr>
                      </table>
                  </form
El form funciona perfecto, con su select que crea el otro y demas.

Lo que no doy es en query de la pagina de resultados, al hacer click en el boton voy a resultados.php pero siempre me arroja todo lo que hay.

Tengo un codigo que he venido usando desde hace tiempo y me funciona muy bien. Es resultado de algo de estudio y ayuda de este mismo foro. El problema es que es un buscador muy basico con paginacion incluida (tambien la requiero para este caso). Busca segun cualquier cosa que pongas en un solo campo de texto. Lo adapte para este caso pero siempre me arroja lo mismo, todo lo que hay. Ademas, no se como incluir los selct en el query

Lo pongo a ver si ayuda:

resultados.php

Código PHP:
<? 
   
include("config.php"); 
   
//$link=Conectarse(); 

//inicializo el criterio y recibo cualquier cadena que se desee buscar 
$criterio ""
$txt_criterio "";
if (isset(
$Buscacriterio)){
 
$txt_criterio=$Buscacriterio;
 
$criterio " where nombre like '%" $txt_criterio "%' or categoria like '%" $txt_criterio "%' or subcategoria like '%" $txt_criterio "%'"
}
 else{ 
if (
$_GET["criterio"]!=""){ 
   
$txt_criterio $_GET["criterio"]; 
   
$criterio " where nombre like '%" $txt_criterio "%' or categoria like '%" $txt_criterio "%' or subcategoria like '%" $txt_criterio "%'"
}
else
  if (
$_POST){ 
   
$txt_criterio $_POST["palabra"]; 
   
$criterio " where nombre like '%" $txt_criterio "%' or categoria like '%" $txt_criterio "%' or subcategoria like '%" $txt_criterio "%'"
   }
}
 
$sql="SELECT * FROM clientes".$criterio
$res=mysql_query($sql); 
$numeroRegistros=mysql_num_rows($res); 
if(
$numeroRegistros<=0

    echo 
"<div align='center'>"
    echo 
"<font face='arial' class='texto'>No se encontraron resultados</font>"
    echo 
"</div>"
}else{ 
    
//////////elementos para el orden 
    
if(!isset($orden)) 
    { 
       
$orden="nombre"
    } 
    
//////////fin elementos de orden 

    //////////calculo de elementos necesarios para paginacion 
    //tama&ntilde;o de la pagina 
    
$tamPag=5

    
//pagina actual si no esta definida y limites 
    
if(!isset($_GET["pagina"])) 
    { 
       
$pagina=1
       
$inicio=1
       
$final=$tamPag
    }else{ 
       
$pagina $_GET["pagina"]; 
    } 
    
//calculo del limite inferior 
    
$limitInf=($pagina-1)*$tamPag

    
//calculo del numero de paginas 
    
$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
       } 
    } 
//////////fin de dicho calculo 

//////////creacion de la consulta con limites 
$sql="SELECT * FROM clientes ".$criterio." ORDER BY ".$orden.",nombre ASC LIMIT ".$limitInf.",".$tamPag
$res=mysql_query($sql); 
//////////fin consulta con limites 

/// estadisticas/////
echo "<div align='center'>"
echo 
"<font face='arial' class='texto'>Han sido encontrados ".$numeroRegistros." resultados<br>"
echo 
"Mostrando la p&aacute;gina " $pagina " de un total de " $numPags "<p>";
?>
                    <hr noshade style="color:#616161;height:1px">
                    <?
/// mostrar los resultados encontrados//////
while($registro=mysql_fetch_array($res)) 

echo 
"<div align='left'>";
echo 
"<b><a href=".$registro[url]."  target=_blank>".$registro[nombre]."</a></b><br>";
echo 
"".$registro[descripcion]."<br><br>";
echo 
"Direcci&oacute;n: ".$registro[direccion]."<br>";
echo 
"Tel&eacute;fonos: ".$registro[telefonos]."<br>";
echo 
"Correo electr&oacute;nico: <a href='mailto:".$registro[email_uno]."'>".$registro[email_uno]."</a>, ";
echo 
"<a href='mailto:".$registro[email_dos]."'>".$registro[email_dos]."</a><br>";
echo 
"Ubicaci&oacute;n: ".$registro[zona]."";
echo 
"<div align='right'>";
if (!empty(
$registro[capa])){
echo 
"<a href='detalles.php'  target=_blank>".$registro[capa]."</a><br>";
}
?>
                    <hr noshade style="color:#616161;height:1px">
                    <?
}//fin while     

//////////a partir de aqui viene la paginacion 
?>
                    <br>
                    <table border="0" cellspacing="0" cellpadding="0" align="center">
                      <tr>
                        <td align="center" valign="top" bgcolor="#FFFFFF">                    
                        <td><font size="1" color="#2278BB">
                          <? 
    
if($pagina>1
    { 
       echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>"
       echo 
"<font face='arial' class='texto'>Anterior</font>"
       echo 
"</a> ";
    } 

    for(
$i=$inicio;$i<=$final;$i++) 
    { 
       if(
$i==$pagina
       { 
          echo 
"<font face='arial' class='texto'><b>".$i."</b> </font>"

       }else{ 
          echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&criterio=".$txt_criterio."'>"
          echo 
"<font face='arial' class='texto'>".$i."</font></a> "
       } 
    } 
    if(
$pagina<$numPags
   { 
       echo 
" <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&criterio=".$txt_criterio."'>"
       echo 
"<font face='arial' class='texto'>Siguiente</font></a>"
   } 
//////////fin de la paginacion 
?>
                          </font></td>
                      </tr>
                    </table>                    <hr noshade style="color:#616161;height:1px">
                    <div align="center"><font face="arial" class="texto"><a class="p" href="inicio.php">Buscar de nuevo</a></font></div>                    <? 
    mysql_close
(); 
?>