Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Menù a tendina: rinvio a pagina html

    Ciao a tutti,
    devo risolvere un problema con il codice php e avrei bisogno di una mano.

    Su questa pagina in html (pagina di prova) ho un doppio menù a tendina.

    La pagina è poi collegata a una pagina php con il seguente codice:



    <?php

    // Da qui gestisci tutte le possibilità:

    if($_POST['citta'] == 'Padova' && $_POST['attivita'] == 'Giardinieri')

    { // Giardinieri a Padova
    header('location: giardinieripad.html'); //

    giardinieripad.html.html è la pagina con i giardinieri a Padova
    }

    if($_POST['citta'] == 'Padova' && $_POST['attivita'] == 'Idraulici') {

    // Idraulici a Padova
    header('location: idraulicipad.html'); // idraulicipad.html è

    la pagina con gli Idraulici a Padova
    }

    if($_POST['citta'] == 'Roma' && $_POST['attivita'] == 'Giardinieri') {

    // Giardinieri a Roma
    header('location: giarfinieriroma.html'); //

    giarfinieriroma.html è la pagina con i Giardinieri a Roma
    }

    if($_POST['citta'] == 'Roma' && $_POST['attivita'] == 'Idraulici') { //

    Idraulici a Roma
    header('location: idrauliciroma.html'); // idrauliciroma.html è

    la pagina con gli Idraulici a Roma
    }

    //eccetera...

    ?>



    Grazie a questo codice, se nel menù a tendina io seleziono una CITTA' (per esempio "Padova") e una CATEGORIA (per esempio "giardinieri") e poi premo INVIO viene fuori la pagina relativa alla ricerca fatta ("giardinieri a Padova").

    Il problema che devo risolvere è il seguente: se io seleziono una voce di un solo menù anzichè di entrambi (per esempio solo la voce "Padova") e premo invio non succede niente (vengo solo indirizzato alla pagina php) e invece vorrei che anche facendo questa operazione più semplice la pagina php mi portasse a una pagina specifica (in questo esempio mi portasse nella pagina con tutte le categorie di Padova).

    Sapete come devo fare?

  2. #2
    innanzi tutto vedo che allunghi assurdamente il sito aggiungendo pagine per ogni attività; basterebbe passare ad una unica pagina un URL con parametri tipo

    lavori.php?citta=padova&attivita=giardinieri o lavori.php?citta=padova&attivita=1

    per farlo basta creare la stringa così con la seguente funzione PHP:

    Codice PHP:
    header("Location = lavori.php?citta=" $_POST['citta'] . "&attivita=" $_POST['attivita']); 
    per la tua richiesta in questo caso basta passare alla pagina lavori uno zero come valore per il parametro attivita e qui fai un controllo:

    Codice PHP:
    if ($_REQUEST['citta'] && !$_REQUEST['attivita']) {
      
    $sql "SELECT FROM lavori WHERE citta='" $_REQUEST['citta'] . "'";
      
    // esegui la query e visualizza i record dei lavori torvati per ogni città
      
    echo '<select name="lavori" size="1">';
      while (
    $row mysql_fetch_assoc()) {
        echo 
    '<option value="' $row['id_lavoro'] . '">' $row['lavoro'] . '</option>';
      }
      echo 
    '<select>'

  3. #3
    Ciao! Grazie mille per la risposta.
    Ti chiedo dei chiarimenti perchè conosco molto poco davvero il linguaggio php per ora!

    In che senso dici che posso passare ad un unica pagina un URL con quei parametri che mi hai dato?? Non ho proprio capito in che modo lo devo fare.

    Ti do alcuni chiarimenti su quello che voglio realizzare: io in pratica devo fare un sito in cui ci saranno diverse attività al suo interno (divise per città) e ognuna di queste attività avrà la sua paginetta con descrizione e foto.

    Un esempio perfetto di qualcosa di simile a ciò che voglio realizzare è su questo sito. Come vedi nella home page c'è un doppio menù a tendina e selezionando un valore su ogni tendina e premendo sul tasto "cerca aziende" si viene indirizzati alla pagina specifica.

    Infatti io ho fatto qualcosa di simile su questa paginetta di prova su Altervista e mi sembra che funzioni, ho usato per l'appunto quel codice php che ho postato in precedenza. Ti chiedo se cortesemente mi spieghi meglio ciò che intendevi dire!

  4. #4
    certamente! dicevo che tu crei una pagina per ogni attività: è uno spreco di spazio e tempo quando puoi fare tutto con una unica pagina! supponi di avere due tabelle, una per i comuni e una per le attività. Quella per i comuni avrà solo 3 campi: ID, targa, nome. Quella per le attività avrà i seguenti campi: ID_attività, ID_comune, nome, descrizione. Quest'ultima come vedi ha un campo per recuperare il comune: se ad esempio nelle tabelle puoi avere dati così strutturati

    tabella comuni
    ------------------
    ID | targa | nome
    ------------------
    1 | PD | Padova
    2 | VR | Verona
    3 | VE | Venezia


    tabella attivita
    -----------------------------
    ID | ID_com | nome | descr
    -----------------------------
    1 | 1 | giardinieri | potano siepi ecc
    2 | 1 | idraluici | sturano lavandini
    3 | 3 | giardinieri | xyzasddd

    come vedi qui se cerchi tutte le attività disponibili nel comune con ID_com 1 (che nella prima tabella è PD, padova) ne troverà 2; al contrario se cerchi le città dove cercano giardinieri troverà padova e venezia. CHIARO??? a questo punto il resto diventa facile: clicchi su uno dei comuni, su una delel attività, rpemi su CERCA e passerai ad una pagian PHP i parametri comune e attività come nell'esempio precedente, magari passando solo gli ID per brevità e semplicità:

    lavori.php?citta=1&attivita=1

    in questo caso cerca il comune con ID=1 (padova) e le attività con codice 1 (giardinieri). Di più: se selezioni solo la città e non selezioni nessuna attività (lavori.php?citta=padova&attivita=0) allora puoi selezionare tutte le attività del comune con quell'ID. Il tutto naturalmente con query SQL:

    Codice PHP:
    if ($_REQUEST['attivita'])
      
    $query "SELECT * FROM lavori WHERE ID_com = " $_REQUEST['citta'] . " AND ID = " $_REQUEST['attivita']; //se c'è un ID per l'attività cercalo
    else
      
    $query "SELECT * FROM lavori WHERE ID_com = " $_REQUEST['citta']; 

  5. #5

  6. #6
    Spero che tutti voi utenti del forum abbiate passato un buon natale!

    Grazie per la spiegazione dettagliata Emulman
    Io attualmente conosco un pò di php ma purtroppo non conosco quasi niente di Mysql. Mi darò da fare in questo periodo per approfondirlo.

    Per essere sicuro che la soluzione che mi hai proposto darà il risultato che io voglio avere ti chiedo ancora qualche chiarimento:

    Facendo la ricerca dai due menù (città e fornitori) e utilizzando un data base Mysql il risultato sarà una pagina del sito che contiene i risultati della ricerca se ho capito bene, giusto?

    Ma questa pagina potrà essere:

    1) soltanto un elenco di voci prese dal database (con titolo, breve descrizione, recapiti etc....)

    2) una pagina con tante celle, ognuna con un attività e ognuna con breve descrizione e foto e che cliccando sulla cella dell'attività mi riporta poi alla scheda completa e specifica dell'attività?

    A me serve l'esempio numero 2, per vedere un esempio di quello che intendo puoi andare a questa pagina .

  7. #7
    innanzi tutto buon natale con effetto retro-attivo... per quel che volevi si può farie tabella ad esempio da descrizone_are, basta che ogni tabella abbia il suo indice per poter recuperare dati da una e dall'altra. Come esempio penso che avrai visto com quello riportato tanti siti che ad esempio ti dicono inserisci marca computer, inserisci modello, inserisci fascia prezzo, inserisci CPU ecc proprio per affinare la ricerca: queste voci vengono tutte da varie tabelle ; quando scegli una voce da un select ricevi il valore della scelta, di solito un iD di tabella per poter visualzizare il select successivo e così via fino a mostrare una tabella coi dati richiesti. Si tratta quindi prima di tutto di fare uan attenta pianificazione del database e delle sue tabelle...

  8. #8
    Ragazzi non riesco a venirne a capo....ho guardato diversi tutorial in rete ma niente da fare.

    Ho capito che in effetti il codice che avevo postato all'inizio non è adatto perchè allungherei assurdamente il sito, ma non ho capito come usare il codice che mi ha postato Emulman, cosa ci devo fare? come faccio a passare un link con quei valori? perchè mi ha dato due codici php diversi?

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.