Ajax avec Jquery/Php sur fonction hover()
Bonjour ,
Je me permets de laisser un message car j'ai besoin d'aide concernant une requête que je souhaite effectuer .
J'ai une base de données avec laquelle j’interagis en php .
Sur une de mes pages je boucle des résultats avec php pour générer des div avec du texte .
Je souhaite créer un événement qui me permet d'afficher des éléments de la base de données qui correspondent au texte .
Je donne un exemple plus simple pour mieux comprendre le cheminement :
Vous générez une liste de villes avec php et en passant votre souris sur une des villes , cela affiche en infobulle ( le pays , le département ) comme ce serait défini dans une base de données .
Dans mon cas , il s'agit d'attentes qui sont composées de 6 critères de filtres ( je souhaite pas en afficher autant juste 2 principaux )
Voici mes codes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| <div class="container">
<?php
$reponse = $bdd->query('SELECT * FROM activite ORDER BY activiteNom ASC');
while($donnees = $reponse->fetch())
{?>
<div class="card text-center">
<div class="card-header">
<?php echo $donnees['activiteNom'];?>
</div>
<div class="card-body">
<h5 class="card-title"><?php echo $donnees['activiteComment'];?></h5>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente1'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente2'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente3'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente4'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente5'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente6'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente7'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente8'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente9'],0,150).'<br/>';?></p>
<p class="activiteAttente"><?php echo substr($donnees['activiteAttente10'],0,150).'<br/>';?></p>
<?php echo "<a class='btn btn-info' href='modifActivite.php?activiteID=".$donnees['activiteID']."&"."activiteNom=".$donnees['activiteNom']."'> Modifier </a>";?>
<?php echo "<a class='btn btn-warning' href='dupliqueractivite.php?activiteID=".$donnees['activiteID']."'> Dupliquer </a>";?>
<?php echo "<button type='button' class='btn btn-danger' data-toggle='modal' data-target='#message". $donnees['activiteID']."'> Supprimer</button>";?>
<div id="message<?php echo $donnees['activiteID'];?>" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Suppression</h4>
</div>
<div class="modal-body">
<p>Voulez-vous supprimer cette activité ?</p>
<?php echo $donnees['activiteID']. ' - '.$donnees['activiteNom'];?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
<?php echo "<a class='btn btn-danger' href='deleteactivite.php?activiteID=".$donnees['activiteID']."&"."activiteNom=".$donnees['activiteNom']."'> Supprimer </a>";?>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer text-muted">
Cycle : <?php echo $donnees['activiteLevel'];?>
</div>
<br/>
</div>
<?php
}
$reponse->closeCursor();
?> |
Le script
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $('.activiteAttente').on(hover, function(){
var attentes = $(this).val();
console.log(attentes);
$.ajax({
url:"infoAttentes.php",
dataType:"html",
method:"GET",
data:{attentes:attentes},
success:function(data){
alert(data);
}
}); |
Et le PHP
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php
include 'bsd.php';
include 'index.php';
if (isset($_GET['attentes']))
{
$sql = $bdd->query("SELECT * FROM attentes_fondamentales WHERE attentesNom = ?");
$req = $bdd->prepare($sql);
$req->execute(array($_GET['attentes']));
while($donnees = $req->fetch()){
$detail = $donnees['Section']. ' - ' . $donnees['Cours']. ' - ' . $donnees['matieresID'];
}
$req->closeCursor();
echo $detail;
}
?> |
Dès que je passe sur l'élément , j'ai une alerte console me disant :
Citation:
jquery.min.js:2 Uncaught TypeError: Illegal invocation
at i (VM547 jquery.min.js:2)
at jt (VM547 jquery.min.js:2)
at jt (VM547 jquery.min.js:2)
at jt (VM547 jquery.min.js:2)
at jt (VM547 jquery.min.js:2)
at Function.w.param (VM547 jquery.min.js:2)
at Function.ajax (VM547 jquery.min.js:2)
at HTMLParagraphElement.<anonymous> (script.js:495)
at HTMLParagraphElement.handle (VM547 jquery.min.js:2)
at HTMLParagraphElement.dispatch (VM547 jquery.min.js:2)
Si quelqu'un peut m'expliquer ce que je dois faire dans ce cas la , ce serait sympa :)
Merci d'avance