- Home
- Categorie
- Coding e Sistemistica
- Coding
- Risultati query con select option
-
Risultati query con select option
Salve a tutti, ho una pagina nella quale faccio una select per visualizzare una serie di dati da Mysql.
Ora, vorrei inserire dei menù a discesa (prima di stampare i div con gli echo) contenenti i valori del Db, in modo da dare la possibilità all'utente di "filtrare" i dati della select (nel mio caso, filtri per Società e Città). Ma non riesco a trovare una soluzione. Premettendo che sono un neofitax chi mi può aiutare? Di seguito, il codice:
<?
// variabile dove imposto il numero di record // da mostrare in ogni pagina
$x_pag = 15;// Recupero numero di pagina corrente.
$pag = isset($_GET['pag']) ? $_GET['pag'] : 1;// Controllo valorizzazione $pag e se è numerico. in caso contrario gli assegno valore 1
if (!$pag || !is_numeric($pag)) $pag = 1;// connessione DB
$conn = mysql_connect("host","user","pass");
mysql_select_db("database", $conn);// Uso del mysql_num_rows per contare il totale delle righe presenti all'interno della tabella
$all_rows = mysql_num_rows(mysql_query("SELECT id FROM negozi"));// definisco il numero totale di pagine
$all_pages = ceil($all_rows / $x_pag);// Calcolo da quale record iniziare
$first = ($pag - 1) * $x_pag;// Recupero record per la pagina corrente... utilizzando LIMIT per partire da $first e contare fino a $x_pag
$rs = mysql_query("SELECT * FROM negozi ORDER by ID DESC LIMIT $first, $x_pag");
$nr = mysql_num_rows($rs);
if ($nr != 0){
for($x = 0; $x < $nr; $x++){
$row = mysql_fetch_assoc($rs);
echo "<div class='row'>";
echo "<div class='col-1-3'>";
echo "<div class='wrap-col gallery'>";
echo "<div align='center'><img src='" . $row['url_immagine'] . "'</div>";
echo "<div align='center'><h2>" . $row['societa'] . "</h2></div>";
echo "<div align='center'>" . $row['indirizzo'] . " - " . $row['cap'] . "</div>";
echo "<div align='center'>" . $row['citta'] . " (" . $row['provincia'] . ")</div>";
echo "<div align='center'>" . $row['telefono'] . " " . $row['cellulare'] . "</div>";
echo "<div align='center'>" . $row['email'] . "</div>";
echo "<a class='button' href='" . $row['url_pagina'] . "'>vedi spot</a>";
echo "</div>";
echo "</div>";
echo "</div>";
}
}else{
echo "Nessun record trovato!";
}// Se le pagine totali sono più di 1 stampo i link per andare avanti e indietro tra le diverse pagine!
if ($all_pages > 1){
if ($pag > 1){
echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag - 1) . "">";
echo "pagina precedente</a> ";
}
// faccio un ciclo di tutte le pagine
for ($p=1; $p<=$all_pages; $p++) {
echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . $p . "">";
echo $p . "</a> ";
}
if ($all_pages > $pag){
echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag + 1) . "">";
echo "pagina successiva</a>";
}
}// chiudo connessione
mysql_close($conn);
?>Grazie in anticipo. Marco
-
Per filtro intendi ad esempio un menù a tendina che, se selezionato, filtra per elemento?
Ad es: menu a tendina "società", seleziono "società X" e lui mi va a pescare tutti i record dove società è uguale a X e idem per città?