PHP - ¿Cómo hacer un filtro en una web con PHP?

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

¿Cómo hacer un filtro en una web con PHP?

Publicado por Katze (6 intervenciones) el 08/06/2018 19:25:56
Estoy haciendo un proyecto de tienda virtual con PHP y HTML en el que quiero poner un filtro con el que ordenar los productos en base al precio y al orden alfabético de los productos. Tengo el siguiente código (he quitado cosas que no interesan para lo que quiero hacer, como el menú o el footer):

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
<div class="productos">
	<section class="ordenar">
		<h3>Ordenar por:
		        <select name="id_producto">
			        <option value="1">Orden alfabético (A-Z)</option>
			        <option value="2">Orden alfabético inverso (Z-A)</option>
			        <option value="3">Precio más bajo a más alto</option>
			        <option value="4">Precio más alto a más bajo</option>
		        </select>
		        <button type="submit">Aplicar</button>
		</h3>
	</section>
 
	<div class="mostrar_productos>
		<?php 
			$conexion = mysqli_connect($servidor, $usuario_BD, $contrasena_BD, $basedatos);
			mysqli_set_charset($conexion, "utf8");
			$peticion = "SELECT * FROM producto WHERE categoria = 'cuerda'";
			$resultado = mysqli_query($conexion, $peticion);
 
			while ($fila = mysqli_fetch_array($resultado)) {
				echo "<div class='col-md-3 producto_individual'>";
				$peticion2 = "SELECT * FROM producto WHERE id_producto = " .$fila["id_producto"] . " ";
				$resultado2 = mysqli_query($conexion, $peticion2);
 
				echo "<h2>" . $fila['nombre_producto'] . "</h2>";
				echo "<img src='imagenes/" .$fila["imagen"] . "' width = 100px>";
				echo "<p>" . $fila['descripcion_corta'] . "</p>";
				echo "<p>Precio: " . $fila['precio'] . " €</p>";
				echo "<a class='btn btn-danger' href='producto_individual.php?id_producto=" .$fila["id_producto"]. "'><strong>Ver más</strong></a></p></div>";
 
			}
 
			mysqli_close($conexion);
	        ?>
        </div>
</div>

Entonces, mi pregunta es cuál es el código PHP que tengo que usar para que al seleccionar la opción que quiero en el select option me aplique las acciones que le indico. Sé que la consulta a la base de datos sería con "SELECT * FROM productos ORDER BY nombre_producto/precio ASC/DESC", pero es que llevo un rato intentando hacerlo y dando vueltas y me va a estallar la cabeza porque no sé cómo ponerlo para que me saque los productos así. Seguro que es una cosa tontísima, pero caigo en cómo ponerlo .
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
Val: 3.084
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

¿Cómo hacer un filtro en una web con PHP?

Publicado por xve (6933 intervenciones) el 08/06/2018 23:04:55
Hola Katze, recuerda que el código HTML y javascript se ejecutan en el navegador, y el codigo PHP en el servidor, por lo que cuando haces algo en la pagina web, tienes que enviar ese valor al servidor para que el PHP lo interprete y ejecute!!! Para ello, se utilizar mucho AJAX... en esta misma web, encontraras muchos código que te ayudaran a entenderlo...

https://www.lawebdelprogramador.com/codigo/JQuery/2690-Ejemplo-de-envio-de-valores-mediante-ajax-desde-un-selector.html
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