Pages: 1
Bonjour,
Je souhaiterai lorsque je clique sur une image, qu'un texte apparaisse à côté. Ce texte est dans une base de données SQL. Chaque image correspond à un id dans ma base de données.
J'ai déjà essayé pleins de choses mais rien ne fonctionne...
Si quelqu'un pouvait m'aider ce serait super cool !
Merci d'avance.
Voici mon code html :
<div class="menu_deroulant1">
<div id="img1"><img src="img/grunge/cross.jpg" alt="1"></div>
<div id="img2"><img src="img/grunge/crane.jpg" alt="2"></div>
</div>
<div id="aff">
</div>
Mon js et php :
$(document).ready(function(){
$('#img1').click(function(){
var image = $(this).val();
$.ajax
({
url:'../Site_MMI/php/index.php',
data: {r : image},
type:'POST',
success:function(res)
{
$('#aff').html(res);
}
})
})
});
<?php
$image = $_POST['r'];
$bdd= mysqli_connect("venus","lperes","","lperes");
$res=mysqli_query($bdd, "SELECT prix FROM moto where id='$image'") or die (mysqli_error($bdd));
$p=mysqli_fetch_assoc($res);
echo $p['prix'];
?>
Hors ligne
Je n'ai pas testé, mais à lire ton code, je pense que tu ne récupères pas la bonne valeur avec $(this).val(). Cette commande récupère le champ value d'un objet html et en l'occurrence tu pointe vers la div $('#img1') alors que celle-ci ne possède pas de champ value.
Je ,'ai pas fais de jquery depuis pas mal de temps, mais je pencherais pour quelque chose comme :
$('#img1').on('click', function(){
var image = $(this).next('img').attr('alt');
console.log(image);
...
};
Une bonne façon de savoir ce que l'on fait en JS, c'est d'utiliser console.log(...); Cela va t'afficher dans la console de ton navigateur (clic droit > examiner) la valeur que tu récupères.
Bonne recherche
Hors ligne
Pages: 1