Ciao a tutti, ho un grosso problema.
Sto creando un sito di e-commerce.
Voglio cambiare questo valore HTML in modo dinamico:
<h5 class="item_price">
500.00 <----- QUESTO É IL PREZZO CHE DEVE CAMBIARE
</h5>
quando l'utente modifica uno, due o tutti e tre i valori di queste ComboBox:
<ul>
<li class="size-in"><i>Thickness</i>:
<select>
<?php
for($i = 0; $i < count($thicknessesRow); $i++)
{
echo '<option>'.$thicknessesRow[$i]['product_thickness'].' mm</option>';
}
?>
</select>
</li>
<li class="size-in"><i>Diameter</i>:
<select>
<?php
for($i = 0; $i < count($diametersRow); $i++)
{
echo '<option>'.$diametersRow[$i]['product_diameter'].' mm</option>';
}
?>
</select>
</li>
<li class="size-in"><i>Meters</i>:
<select>
<?php
for($i = 0; $i < count($metersRow); $i++)
{
echo '<option>'.$metersRow[$i]['product_meters'].'</option>';
}
?>
</select>
</li>
<div class="clearfix"> </div>
</ul>
Queste sono le query utilizzate per popolare le Combo:
<?php
$thicknesses = $DB_con->prepare('SELECT DISTINCT product_thickness FROM products WHERE product_subcat = 2 ORDER BY product_thickness');
$thicknesses->execute();
$thicknessesRow = $thicknesses->fetchAll(PDO::FETCH_ASSOC);
$diameters = $DB_con->prepare('SELECT DISTINCT product_diameter FROM products WHERE product_subcat = 2 ORDER BY product_diameter');
$diameters->execute();
$diametersRow = $diameters->fetchAll(PDO::FETCH_ASSOC);
$meters = $DB_con->prepare('SELECT DISTINCT product_meters FROM products WHERE product_subcat = 2 ORDER BY product_meters');
$meters->execute();
$metersRow = $meters->fetchAll(PDO::FETCH_ASSOC);
?>
Il prezzo (i cui valori sono contenuti nella tabella "prodotti") deve cambiare in modo dinamico, perché dipende dallo spessore, dal diametro e dai metri.
Suppongo di fare delle query diverse utilizzando le tre variabili PHP ($thickness, $diameters, $meters);
Ma come posso fare senza obbligare l'utente a ricaricare ogni volta la pagina?
Devo usare AJAX?
Qualcuno di voi potrebbe spiegarmi come, secondo questo codice?
Perché non ho idea di come farlo.
Grazie mille per le vostre risposte.

Rispondi quotando
