Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/07/2008, 17:37
moquehua
 
Fecha de Ingreso: agosto-2004
Mensajes: 113
Antigüedad: 20 años, 6 meses
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