Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/07/2008, 17:37
moquehua
 
Fecha de Ingreso: agosto-2004
Mensajes: 113
Antigüedad: 22 años, 1 mes
Puntos: 0
Respuesta: ordenar resultados por cantidad de coincidencias

el formulario
Código PHP:
<form name="form1" method="get" action="">
                    Tipo</td>
                        
                          <select name="tipo" style="width:180px" size="1" id="tipo"> 
                        <option value="auto"<? if (@$_GET["tipo"] == "auto") echo " selected"; ?>>auto</option> 
                        <option value="camioneta"<? if (@$_GET["tipo"] == "camioneta") echo " selected"; ?>>camioneta</option> 
                      </select>
<?php
$col 
= 1;
$opcionid = 1;
    
$result = mysql_query("select id, opcion from opciones");
    while (list(
$id, $opcs) = mysql_fetch_array($result)) {
        if (
$col == 1) echo "<tr>\n"; ?> 
                         
                                      <input name="opcion[]" type="checkbox" id="opcion" value="<? echo $id ?>"
                                <? if (@in_array($id, $_GET["servicio"])) echo " checked" ?>><? echo $opcs; ?>
                             
                          <?php   if ($col == 3) echo "</tr>\n";
        
$col++;
        
$opcionid++;
        if (
$col > 3) $col = 1;
    }
    switch (
$col) {
        case 
1:
            break;
        case 
2:
            echo 
"<td colspan=\"2\" class=\"texto\">&nbsp;</td></tr>\n";
            break;
        case 
3:
            echo 
"<td class=\"texto\">&nbsp;</td></tr>\n";
            break;
    }
            echo 
"<input name=\"opcion0\" type=\"hidden\" id=\"opcion0\" value=\"" . ($opcionid-1) . "\">\n";
?>
<input name="buscar" type="hidden" id="buscar" value="true">
</form>
procesando la busqueda
Código PHP:
<?php
if (isset($_GET["aid"])) {
    
$criterio = " ORDER BY id DESC";
} else {
$criterio = "";
if (@
$_GET["tipo"] != "") $criterio .= " tipo = '".$_GET["tipo"]."'";
 

while(list (
$key,$val) = @each($_GET["opcion"])) { 
if (isset(
$_GET["opcion"])) $criterio .= " AND opcion LIKE '%,".$val.",%'";
}
}
$orden = "";
$tamanopagina = $aut_x_pagina;
$rstotal = mysql_query("SELECT * FROM automotores WHERE".$criterio);
$npaginas = ceil(@mysql_num_rows($rstotal) / $tamanopagina);
if (isset(
$pagina)) {
$paginacion = ($pagina-1)*$tamanopagina;
} else {
$pagina = 1;
$paginacion = 0;
}
$rs = mysql_query("SELECT * FROM automotores WHERE".$criterio.$orden." LIMIT ".$paginacion.",".$tamanopagina);
 
?>
y eso es todo el codigo, omiti el form para la cantidad de resultados por pagina que no viene al caso.
gracias