Charger une image suivant 2 select
sahar1994
Messages postés
42
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
salut!
je suis en train de réaliser un site e-commerce...
mon probleme c'est que je veux à la selection de la couleur et la taille (à travers 2 select) l'image et le stock correspondant à ce produit s'affiche... aprés un peu de recherche j'ai constaté que je dois utiliser ajax ou jquery... dont je ne connait pas...
j'ai fait un essai mais ça ne fonctionne pas ....
voici le code de la page de l'affichage des détails:
<?php
if(isset($_GET['cat']) && isset($_GET['s_cat'])){
$reponse ="SELECT * FROM `products` WHERE `cat`='".$_GET['cat']."' AND `s_cat`='".$_GET['s_cat']."' AND `nom_product`='".$_GET['nom_product']."' AND `prix`='".$_GET['prix']."'";
$stm1=$bdd->prepare($reponse);
$stm1->execute();
$result1 = $stm1->fetchAll();
$taille = array();
$couleur = array();
foreach($result1 as $row)
{
if(!in_array($row['couleur'], $couleur, true)){
array_push($couleur,$row['couleur']);
}
if(!in_array($row['taille'], $taille, true)){
array_push($taille,$row['taille']);
}
}
?>
<select id="couleur1">
<?php
for($i=0 ; $i < count($couleur) ; $i++){
echo '<option>'.$couleur[$i].'</option>';
}
?>
</select>
<select id="taille1">
<?php
for($i=0 ; $i < count($taille) ; $i++){
echo '<option>'.$taille[$i].'</option>';
}
?>
</select>
<?php
}
?>
<div id="image">
<img src="" />
</div>
</div>
<script>
$(function() {
$('#couleur1').change(function() {
var param = 'couleur=' + $('#couleur').val()+'taille=' + $('#taille').val();
$('#image').load('image.php?cat='.'<?php echo $row['cat']; ?>.'&s_cat='.<?php echo $row['s_cat']; ?>&nom_product=<?php echo $row['nom_product']; ?>&prix=<?php echo $row['prix']; ?>',param);
});
});
</script>
et la page image.php
<?php
$bdd= new PDO('mysql:host=localhost;dbname=magasin','root','');
$reponse ="SELECT * FROM `products` WHERE `cat`='".$_GET['cat']."' AND `nom_product`='".$_GET['nom_product']."' AND `prix`='".$_GET['prix']."' AND `couleur`='".$_GET['couleur']."' AND `taille`='".$_GET['taille']."'";
$stm1=$bdd->prepare($reponse);
$stm1->execute();
$result1 = $stm1->fetchAll();
foreach($result1 as $row){
?>
<img src="<?php echo $row['image']; ?>" />
<?php
}
?>
merci d'avance :)
je suis en train de réaliser un site e-commerce...
mon probleme c'est que je veux à la selection de la couleur et la taille (à travers 2 select) l'image et le stock correspondant à ce produit s'affiche... aprés un peu de recherche j'ai constaté que je dois utiliser ajax ou jquery... dont je ne connait pas...
j'ai fait un essai mais ça ne fonctionne pas ....
voici le code de la page de l'affichage des détails:
<?php
if(isset($_GET['cat']) && isset($_GET['s_cat'])){
$reponse ="SELECT * FROM `products` WHERE `cat`='".$_GET['cat']."' AND `s_cat`='".$_GET['s_cat']."' AND `nom_product`='".$_GET['nom_product']."' AND `prix`='".$_GET['prix']."'";
$stm1=$bdd->prepare($reponse);
$stm1->execute();
$result1 = $stm1->fetchAll();
$taille = array();
$couleur = array();
foreach($result1 as $row)
{
if(!in_array($row['couleur'], $couleur, true)){
array_push($couleur,$row['couleur']);
}
if(!in_array($row['taille'], $taille, true)){
array_push($taille,$row['taille']);
}
}
?>
<select id="couleur1">
<?php
for($i=0 ; $i < count($couleur) ; $i++){
echo '<option>'.$couleur[$i].'</option>';
}
?>
</select>
<select id="taille1">
<?php
for($i=0 ; $i < count($taille) ; $i++){
echo '<option>'.$taille[$i].'</option>';
}
?>
</select>
<?php
}
?>
<div id="image">
<img src="" />
</div>
</div>
<script>
$(function() {
$('#couleur1').change(function() {
var param = 'couleur=' + $('#couleur').val()+'taille=' + $('#taille').val();
$('#image').load('image.php?cat='.'<?php echo $row['cat']; ?>.'&s_cat='.<?php echo $row['s_cat']; ?>&nom_product=<?php echo $row['nom_product']; ?>&prix=<?php echo $row['prix']; ?>',param);
});
});
</script>
et la page image.php
<?php
$bdd= new PDO('mysql:host=localhost;dbname=magasin','root','');
$reponse ="SELECT * FROM `products` WHERE `cat`='".$_GET['cat']."' AND `nom_product`='".$_GET['nom_product']."' AND `prix`='".$_GET['prix']."' AND `couleur`='".$_GET['couleur']."' AND `taille`='".$_GET['taille']."'";
$stm1=$bdd->prepare($reponse);
$stm1->execute();
$result1 = $stm1->fetchAll();
foreach($result1 as $row){
?>
<img src="<?php echo $row['image']; ?>" />
<?php
}
?>
merci d'avance :)
A voir également:
- Charger une image suivant 2 select
- Supercopier 2 - Télécharger - Gestion de fichiers
- Légender une image - Guide
- Image iso - Guide
- 2 ecran pc - Guide
- Reduire taille image - Guide
1 réponse
Bonjour,
Appuie toi sur l'exemple suivant pour ton AJAX :
https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2
Appuie toi sur l'exemple suivant pour ton AJAX :
https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2