Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13

    Query diversa a seconda del $_GET

    Eccomi di nuovo...ho intenzione di fare una <select> con varie <option> che quando selezionate, viene creata un url passandogli i parametri ed eseguire la query mysql a seconda della option selezionata...

    ad esempio:
    Codice PHP:
    $tipo=$_GET['tipo'];
    $regione=$_GET['regione'];
    $provincia=$_GET['provincia'];


    if (isset(
    $tipo)) { mysql_query1 }
    elseif (isset(
    $regione)) { mysql_query2 }
    elseif (isset(
    $provincia)) { mysql_query3 
    mi consigliate come fare? grazie....

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Così come hai scritto dovrebbe funzionare, ovviamente solo uno tra tipo, regione e provincia dovrà arrivare allo script, altrimenti verrà eseguito solo il primo che trova nell'ordine in cui hai messo la sequenza di if/elseif

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    Ho provato ma non va...

    Codice PHP:
    <?php
    @$tipologia=$_GET['tipologia'];
    @
    $regione=$_GET['regione'];

    // se seleziono tipologia
    if (isset($_GET['tipologia'])) {
    $query=mysql_query("SELECT * FROM annunci WHERE tipologia='$tipologia' ORDER BY id DESC") or die(mysql_error());
    }
    // se seleziono regione
    elseif (isset($_GET['regione'])) {
    $query=mysql_query("SELECT * FROM annunci WHERE regione='$regione' ORDER BY id DESC") or die(mysql_error());
    }
    // se non seleziono nulla mostra tutti gli annunci
    else {
    $query=mysql_query("SELECT * FROM annunci ORDER BY id DESC") or die(mysql_error());
    }
    ?>
    Le variabili le passa correttamente ma non mi mostra quello che seleziono...

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Cosa dovrebbe mostrarti?
    Non c'è nessun echo che stampi a video qualcosa.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    Dunque io vorrei fare cosi:

    . Quando l'utente clicca "Categoria" si apre la pagina con tutti gli annunci presenti.
    . Quando l'utente seleziona il tipo e/o la regione la pagina mostra i risultati secondo i criteri selezionati

    EDIT: aspetta che forse ho trovato l'inghippo...
    EDIT2: no, niente non va...vi posto la pagina sperando che qualche buon anima possa ottimizzare questo codice macchinoso...

    Codice PHP:
    <?php
    error_reporting
    (E_ALL);
    @
    $tipologia=$_GET['tipologia'];
    @
    $regione=$_GET['regione'];
    @
    $provincia=$_GET['provincia'];
    if (isset(
    $_GET['tipologia'])) {
    $query=mysql_query("SELECT * FROM annunci WHERE tipologia='$tipologia' ORDER BY id DESC") or die(mysql_error());
    }
    elseif (isset(
    $_GET['regione'])) {
    $query=mysql_query("SELECT * FROM annunci WHERE regione='$regione' ORDER BY id DESC") or die(mysql_error());
    }
    else {
    $query=mysql_query("SELECT * FROM annunci ORDER BY id DESC") or die(mysql_error());
    }
    ?>
    <?php 
    include("pagine/sidebar.php"); ?>
    <div id="container">
    <div class="primary" id="primary_categories_products">
    <div class="content" id="content_categories_products">
    <div class="tier-2-products">
    <div id="navigation">
    <div id="navigation_wrap">
    <div class="nav_item last_item nav_item2">
    <label>Mostra: </label>
    <select onchange="if (this.value) window.location.href=this.value" class="selectBox">
    <option value="" selected="selected"></option>
    <option value="index.php?pagina=categoria">Tutto</option>
    <?php
    if (isset($_GET['regione'])) {
    echo 
    "
    <option value=\"index.php?pagina=categoria&tipologia=cane-taglia-piccola&regione=
    $regione\">Cani taglia piccola</option>
    <option value=\"index.php?pagina=categoria&tipologia=cane-taglia-media&regione=
    $regione\">Cani taglia media</option>
    <option value=\"index.php?pagina=categoria&tipologia=cane-taglia-grossa&regione=
    $regione\">Cani taglia grossa</option>
    <option value=\"index.php?pagina=categoria&tipologia=gatto-pelo-corto&regione=
    $regione\">Gatti pelo corto</option>
    <option value=\"index.php?pagina=categoria&tipologia=gatto-pelo-lungo&regione=
    $regione\">Gatti pelo lungo</option>
    <option value=\"index.php?pagina=categoria&tipologia=animale-da-cortile&regione=
    $regione\">Animali da cortile</option>
    <option value=\"index.php?pagina=categoria&tipologia=coniglio-roditore&regione=
    $regione\">Conigli e roditori</option>
    <option value=\"index.php?pagina=categoria&tipologia=uccello&regione=
    $regione\">Uccelli</option>
    <option value=\"index.php?pagina=categoria&tipologia=rettile&regione=
    $regione\">Rettili</option>
    <option value=\"index.php?pagina=categoria&tipologia=atropode-e-aracnide&regione=
    $regione\">Atropodi e aracnidi</option>
    <option value=\"index.php?pagina=categoria&tipologia=pesce&regione=
    $regione\">Pesci</option>";
    }
    else {
    echo 
    "
    <option value=\"index.php?pagina=categoria&tipologia=cane-taglia-piccola\">Cani taglia piccola</option>
    <option value=\"index.php?pagina=categoria&tipologia=cane-taglia-media\">Cani taglia media</option>
    <option value=\"index.php?pagina=categoria&tipologia=cane-taglia-grossa\">Cani taglia grossa</option>
    <option value=\"index.php?pagina=categoria&tipologia=gatto-pelo-corto\">Gatti pelo corto</option>
    <option value=\"index.php?pagina=categoria&tipologia=gatto-pelo-lungo\">Gatti pelo lungo</option>
    <option value=\"index.php?pagina=categoria&tipologia=animale-da-cortile\">Animali da cortile</option>
    <option value=\"index.php?pagina=categoria&tipologia=coniglio-roditore\">Conigli e roditori</option>
    <option value=\"index.php?pagina=categoria&tipologia=uccello\">Uccelli</option>
    <option value=\"index.php?pagina=categoria&tipologia=rettile\">Rettili</option>
    <option value=\"index.php?pagina=categoria&tipologia=atropode-e-aracnide\">Atropodi e aracnidi</option>
    <option value=\"index.php?pagina=categoria&tipologia=pesce\">Pesci</option>"
    ;
    }
    ?>
    </select>
    </div>
    <div class="nav_item last_item nav_item3">
    <label>Regione: </label>
    <select name="regione" onchange="if (this.value) window.location.href=this.value" class="selectBox">
    <option value="" selected="selected"></option>
    <?php
    if (isset($_GET['tipo'])) {
    echo 
    "
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=abruzzo\">Abruzzo</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=basilicata\">Basilicata</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=calabria\">Calabria</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=campania\">Campania</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=emilia-romagna\">Emilia-Romagna</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=friuli-venezia-giulia\">Friuli V.Giulia</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=lazio\">Lazio</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=liguria\">Liguria</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=lombardia\">Lombardia</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=marche\">Marche</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=molise\">Molise</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=piemonte\">Piemonte</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=puglia\">Puglia</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=sardegna\">Sardegna</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=sicilia\">Sicilia</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=toscana\">Toscana</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=trentino-alto-adige\">Trentino-A.Adige</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=umbria\">Umbria</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=valle-d-aosta\">Valle d'Aosta</option>
    <option value=\"index.php?pagina=categoria&tipologia=
    $tipologia&regione=veneto\">Veneto</option>";
    } else {
    echo 
    "<option value=\"index.php?pagina=categoria&regione=abruzzo\">Abruzzo</option>
    <option value=\"index.php?pagina=categoria&regione=basilicata\">Basilicata</option>
    <option value=\"index.php?pagina=categoria&regione=calabria\">Calabria</option>
    <option value=\"index.php?pagina=categoria&regione=campania\">Campania</option>
    <option value=\"index.php?pagina=categoria&regione=emilia-romagna\">Emilia-Romagna</option>
    <option value=\"index.php?pagina=categoria&regione=friuli-venezia-giulia\">Friuli V.Giulia</option>
    <option value=\"index.php?pagina=categoria&regione=lazio\">Lazio</option>
    <option value=\"index.php?pagina=categoria&regione=liguria\">Liguria</option>
    <option value=\"index.php?pagina=categoria&regione=lombardia\">Lombardia</option>
    <option value=\"index.php?pagina=categoria&regione=marche\">Marche</option>
    <option value=\"index.php?pagina=categoria&regione=molise\">Molise</option>
    <option value=\"index.php?pagina=categoria&regione=piemonte\">Piemonte</option>
    <option value=\"index.php?pagina=categoria&regione=puglia\">Puglia</option>
    <option value=\"index.php?pagina=categoria&regione=sardegna\">Sardegna</option>
    <option value=\"index.php?pagina=categoria&regione=sicilia\">Sicilia</option>
    <option value=\"index.php?pagina=categoria&regione=toscana\">Toscana</option>
    <option value=\"index.php?pagina=categoria&regione=trentino-alto-adige\">Trentino-A.Adige</option>
    <option value=\"index.php?pagina=categoria&regione=umbria\">Umbria</option>
    <option value=\"index.php?pagina=categoria&regione=valle-d-aosta\">Valle d'Aosta</option>
    <option value=\"index.php?pagina=categoria&regione=veneto\">Veneto</option>"
    ;
    }
    ?>                        
    </select>
    </div>
    </div>
    </div>
    <div class="list_wrapper">
    <?php
    $count
    =1;
    while(
    $row mysql_fetch_assoc($query)) {
    $class_last = ($count %== 0) ? ' last_item' '';
    echo 
    "<div class=\"list_item$class_last\"> <a class=\"thumbnail\" href=\"index.php?pagina=vedi-annuncio&id=$row[id]\" title=\"\"> <img src=\"images/ex/prova1_small.jpg\" alt=\"\" width=\"209\" height=\"179\" /></a>
    <h3><a href=\"index.php?pagina=vedi-annuncio&id=
    $row[id]\" title=\"\">$row[nomeanimale]$row[tipologia]</a></h3>
    <p class=\"wrap_price\"> <span class=\"price\"><a href=\"index.php?pagina=categoria&regione=
    $row[regione]\">$row[regione]</span> </p>
    <p class=\"submit\"> <a class=\"add2cart medium_button\" href=\"index.php?pagina=categoria&provincia=
    $row[provincia]\" title=\"\">$row[provincia]</a> </p>
    </div>"
    ;
    $count++;
    }
    ?>
    </div>
    </div>
    </div>
    </div>
    </div>
    Ultima modifica di eno7; 24-11-2013 a 16:26

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    dunque, vorrei fare così....ho due form select con onchange....
    quando l'utente seleziona una delle due opzioni oppure tutte e due, devono concatenarsi creando l'url per poi eseguire la query mysql...questo è il codice che sto usando...
    Devo trovare un modo di combinare le due select in modo che formano un url unico in base a quello che seleziona l'utente...

    Codice PHP:
    <form style="margin-left:15px;" action="" method="get">
    <
    select style="display:inline;" name="" onchange="if (this.value) window.location.href=this.value"><option value="">Cosa cerchi?</option>
    <
    option value="index.php?pagina=annunci&tipologia=cortile">Animali da cortile</option>
    [...]
    </
    select>
    <
    select style="display:inline;" name="" onchange="if (this.value) window.location.href=this.value">
    <
    option value="">Seleziona Regione</option>
    <
    option value="??">Abruzzo</option>
    [...]
    </
    select>
    </
    form

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.