- Home
- Categorie
- Coding e Sistemistica
- PHP
- Un chiarimento su PHP e select
-
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.
-
Ciao marcopa,
l'unico valore inviato è quello del prezzo, dovresti poi ricalcolare in php la quantità basandoti sul prezzo ricevuto.
-
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:
-
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.
-
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?
-
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.