PHP - Ordenar Consulta al seleccionar combobox

   
Vista:

Ordenar Consulta al seleccionar combobox

Publicado por Alejandro (6 intervenciones) el 01/05/2013 01:41:30
Hola que tal estoy haciendo una pagina donde me traigo de algunos valores de una tabla, en eso no tengo problema me lo hace bien mi problema es que quiero poner un select(combobox) y al seleccionar una opcion se este ordenando por el valor seleccionado (filtro). mi codigo es este, pero como lo modifico para ke me este ordenando por la opcion, si tienen un ejemplo que me ayude en algo se los agradecere

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
		$cn=Conectarse2();
		$registros = 4;
		$index=0;
		$pie_paginacion="";
		$cadenacatalogo="";
		if (!isset($_GET["pagina"])){
			$inicio = 0;
			$pagina = 1;
		}
		else{ $pagina = $_GET["pagina"]; $inicio = ($pagina - 1) * $registros; }
		/* ----------------------- */
		/* -- QUERY             -- */
		/* ----------------------- */
 		$resultados = mysql_query("select C.IdCarro, C.Modelo, M.Marca,   C.Precio, C.Anio,
		case when C.Transmision = 1 then 'Automatica' else 'Estandar' end as Transmision, C.Imagen from tblcarro C left join tblmarca M on C.IdMarca=M.IdMarca   Where C.bSeccion=0");
 
		$total_registros = mysql_num_rows($resultados);
		$resultados = mysql_query("select C.IdCarro, C.Modelo, M.Marca, C.Precio, C.Anio, 			        case when C.Transmision = 1 then 'Automatica' else 'Estandar' end as Transmision, C.Imagen from tblcarro C left join tblmarca M on C.IdMarca=M.IdMarca   Where C.bSeccion=0 ORDER BY C.IdCarro asc LIMIT $inicio, $registros");
 
						$total_paginas = ceil($total_registros / $registros);
						/* ----------------------- */
						/* -- GENERAR GRID -- */
						/* ----------------------- */
						//$cadenacatalogo="";
						while($r=mysql_fetch_array($resultados)) {
						echo '<div class="marco" ><a href="detalledelauto.php?id='.$r["IdCarro"].'">';
						echo	'<img alt="'.$r['Modelo'].'"src="catalogo/'.$r["Imagen"].'" /></a>';
						echo '<div class="marco-info">';
						echo    '<p class="etiquetatitulo"><span>Modelo: </span>'.$r['Modelo'].'</p>';
						echo    '<p class="etiqueta"><span>Marca: </span>'.$r['Marca'].'</p>';
						echo    '<p class="etiqueta"><span>Año: </span>'.$r['Anio'].'</p>';
						echo    '<p class="etiqueta"><span>Transmision: </span>'.$r['Transmision'].'</p>';
						echo    '<p class="etiqueta"><span>Precio: $</span>'.$r['Precio'].'</p>';
						echo '</div>';
						echo '</div>';
 
 
 
						}
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ordenar Consulta al seleccionar combobox

Publicado por xve (5515 intervenciones) el 01/05/2013 09:14:11
Hola Alejandro, me cuesta un poco seguir tu código, pero seria utilizando la clausula ORDER BY del MySQL, no?

No se si he entendido bien tu problema...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ordenar Consulta al seleccionar combobox

Publicado por Alejandro (6 intervenciones) el 03/05/2013 00:43:59
ah ok es ke pegue la otra parte donde hago una paginacion para ke solo me muestre ciertos registros en pantalla pero en realidad es asi osea llamo a una funcion donde guardo la conexion a la base de datos en MySQL

1
2
3
4
5
6
7
8
9
<?php
include("cn/conexion.php");
 
$cn=Conectarse2();
 
$resultados = mysql_query("select C.IdCarro, C.Modelo, M.Marca,   C.Precio, C.Anio,
		case when C.Transmision = 1 then 'Automatica' else 'Estandar' end as Transmision, C.Imagen from tblcarro C left join tblmarca M on C.IdMarca=M.IdMarca   Where C.bSeccion=0 Order BY  " Aqui deseo ponerlo dinamico "      ");
 
?>


mi idea es poner un combobox y al seleccionar una opcion me ordene por la opcion que seleccione lo hice asi, pero aun no tengo bien la idea.

1
2
3
4
5
6
7
8
9
10
<select id="cboFiltrar" name="cboFiltrar"  class="objinput"  style="width:300px" >
    <option value="-1">-- filtrar busqueda --</option>
    <option value="0" <?php if($filtro == 0){ ?> selected="selected" <?php } ?> >por año más antiguo</option>
    <option value="1" <?php if($filtro == 1){ ?> selected="selected" <?php } ?> >por año más alto</option>
    <option value="2" <?php if($filtro == 2){ ?> selected="selected" <?php } ?> >por kilometraje más bajo</option>
    <option value="3" <?php if($filtro == 3){ ?> selected="selected" <?php } ?> >por kilometraje más alto</option>
    <option value="4" <?php if($filtro == 4){ ?> selected="selected" <?php } ?> >por transmision estandar</option>
    <option value="5" <?php if($filtro == 5){ ?> selected="selected" <?php } ?> >por transmision automatica</option>
    <option value="6" <?php if($filtro == 1){ ?> selected="selected" <?php } ?> >por marca</option>
</select>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar