Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    55

    Riassunto valori select

    Ciao.

    Allora, se ho una pagina php con una lista di <select> popolata dal DB , tipo:

    echo "primo<select name=\"select1\" size=\"5\">";

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("");
    mysql_select_db($db_name, $db)
    or die ("");
    $a = $_POST['aaa'];
    $query = "SELECT * FROM tabella WHERE categoria LIKE '%$a%'";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {
    echo "<option value=\"".$row[0]."\">".$row[3]." ".$row[9]."</option>";
    }
    mysql_free_result($result);
    mysql_close($db);

    echo "secondo<select name=\"select2\" size=\"5\">";

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("");
    mysql_select_db($db_name, $db)
    or die ("");
    $b = $_POST['bbb'];
    $query = "SELECT * FROM tabella WHERE categoria LIKE '%$b%'";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {
    echo "<option value=\"".$row[0]."\">".$row[3]." ".$row[9]."</option>";
    }
    mysql_free_result($result);
    mysql_close($db);


    ....
    ecc ... ecc...
    mi trovo ad avere n conbinazioni di selezioni da fare.

    La domanda è: Come faccio poi ad accedere alle selezioni?
    La mia intenzione era o di accedere ad un ulteriore pagina in cui venissero elencati
    i 'value' degli 'option' selezionati .

    Grazie a chi mi dara' una mano ...


  2. #2
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306

    Re: Riassunto valori select

    Originariamente inviato da cnx74
    [...]La domanda è: Come faccio poi ad accedere alle selezioni?
    La mia intenzione era di accedere ad un ulteriore pagina in cui venissero elencati
    i 'value' degli 'option' selezionati .[...]
    Nella pagina dove hai messo le select devi creare un form e, nell'action metti la pagina dove andrai a recuperare i 'value' degli 'option' selezionati .
    prima pagina:
    Codice PHP:
    echo "
    <form method="
    post" action="recupera.php">
    <select name=\"select1\" size=\"5\">
    ...
    ...
    ...
    </form> 
    recupera.php:
    Codice PHP:
    $primo=trim($_POST['select1']);
    ...
    ... 

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    55
    Caspita ... me la immaginavo molto peggio

    E se le select fossero di tipo multiple?

  4. #4
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    Beh allora la tua combo diventerà qualcosa del tipo:
    Codice PHP:
    <select name="select1[]" size=\"5 \"  multiple >"
    NB ho scritto "select1[] perchè nella pagina d'arrivo questo sarà un array: ci potrà essere più di un valore!
    Dopo avere chiuso la select e prima di chiudere il form inserisci un pulsante submit
    Codice PHP:
    echo"<button type=\"submit\">Invia</button>\n"
    , questo per quanto riguardava la prima pagina. Vediamo la seconda pagina:
    recupera.php
    Codice PHP:
    if(empty($_POST['select1']))
    {
    exit(
    "Nessuna scelta effettuata");
    }


    echo
    "<pre>";
    print_r($_POST['select1']); 
    Ho messo un controllo grossolano:empty!Niente di speciale, controlla se l'array è vuoto o meno, se vuoi che l'utente possa non inserire valori togli quel controllo
    Ho poi stampato l'array con print_r, scegli tu in base alle tue esigenze il modo di estrarne e scorrerne i valori.....

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    55
    Sei stato gentilissimo, grazie 1000 !!!

    Se posso aprofittare chiedo un passaggio ulteriore qui, senza aprire un'altra discussione
    (senno' prima o poi vengo fucilato)

    ora che ho preso i valori delle select, gli elenco in una pagina unica.

    io ho fatto cosi:

    connect bla bla ...

    $p_1=trim($_POST['select1']);
    $p_2=trim($_POST['select2']);
    $p_3=trim($_POST['select3']);
    $p_4=trim($_POST['select4']);
    $p_5=trim($_POST['select5']);
    $query = "SELECT * FROM tabella WHERE id='$p_1' UNION SELECT * FROM Tabella WHERE id='$p_2' UNION SELECT * FROM Tabella WHERE id='$p_3' UNION SELECT * FROM Tabella WHERE id='$p_4' UNION SELECT * FROM Tabella WHERE id='$p_5'";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {
    echo "$row[1]
    $row[2]
    $row[3]
    $row[4]";
    }
    ...


    Ora, row[4] è un INT che dovrei sommare.
    Dopo 3 ore che leggo manuali e forum(soprattutto questo), in particolare sul SELECT SUM, vedo che tutti
    devono sommare tabelle diverse con condizioni uguali (ES: SELECT aaaa WHERE id=1 UNION SELECT bbbb WHERE id=1 UNION ... )

    Ma come faccio io a fare un SUM di row[4] su 5 record con id diverso ?

    Sara' anche l'ora ma proprio non ci arrivo ...

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.