• User Newbie

    Un chiarimento su PHP e select

    Salve a tutti, da alcuni giorni sto cercando di risolvere un problema ma non ci riesco, avrei bisogno di una mano, se qualcuno può aiutarmi, davvero grato!
    Accorcio il codice perchè troppo lungo, ho una select popolata da mysql, contiene quantità e prezzo, del tipo : pezzi 100 ? 20,00 - 200 ? 30,00 etc..
    Devo dire che funzionamento c'è,ma parziale non riesco a capire come ottenere sia la quantita che il prezzo.

    la parte del codice che permette la selezione , al click attivo una funzione solo per capire cosa intercettare, ma poi non servirà!
    Da qui ho visibilità solo del prezzo, ma la quantità come la prendo????

    [HTML]
    <select name="select" class="item_price" id="item_quantity" value ="item_quantity" onClick="calcola(this);">
    <?php popola();?>
    </select>

    [/HTML]

    la funzione popola è questa :

    [PHP]
    Function Popola()
    {
    $query = $data->query("SELECT * FROM manifesti order by quantita asc ");

    while($row=mysql_fetch_array($query)){

    $prezzi[] = array('prezzo' => $row['prezzo'], 'quantita' => $row['quantita'] );
    ?>

    <option value="<?php echo($row['prezzo']);?>"><?php echo($row['quantita']);?></option> ")
    <?PHP

    }
    [/PHP]

    $data->disconnetti();
    }

    return ;

    ?>

    Grazie per eventuale aiuto.


  • ModSenior

    Ciao marcopa,
    l'unico valore inviato è quello del prezzo, dovresti poi ricalcolare in php la quantità basandoti sul prezzo ricevuto.


  • User Newbie

    ciao, grazie per la risposta, il problema è proprio questo, non c'è modo di ripescare dal db in base al prezzo, ci possono essere altre stampe che hanno lo stesso prezzo!!
    Non so proprio dove sbattermi! possibile non ci sia un rimedio?
    :bho:


  • ModSenior

    Il problema è che il javascript probabilmente funziona male, di norma il value dell'option dovrebbe essere appunto la quantità, il prezzo te lo calcoli poi lato server, non lo fai passare per il client.


  • User Newbie

    niente da fare quindi, da quello che mi dici mi pare non ci sia un rimedio.
    devo permettere di selezionare la quantità dalla select ed in base alla quantità mi deve dare ilprezzo, e fin qui è ok!
    Ma non so cosa rimandare nel carrello! La quantità non riesco a tirarla fuori, eppure è li! visibile nella selezione!
    Mannaggia, devo sbattermi ancora! e forse inutilmente
    ma mi chiedo, nella funziona calcola(this)
    il prezzo è giusto, corrisponde alla quantità selezionata.

    <script type="text/javascript" language="javascript">
    function calcola(obj) {
    val prezzo = obj.valore;
    alert(prezzo);
    return false;
    }
    </script>

    la benedetta quantità che è li! nella select da quale funzione la posso estrarre?
    select.selected?


  • ModSenior

    Allora le option che dovresti avere tu sono:
    [code]
    <option value="quantità">Testo quantità 1</option>
    [code]

    Tu invece di quantità hai il prezzo, in php il "Testo quantità 1" invece non viene inviato per cui NON si può recuperare.
    Quindi devi modificare questa cosa, e dopo adattare javascript a questa esigenza, e non il contrario.