• User Newbie

    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 neofita ❌x 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


  • User Attivo

    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à?