Bonjour à tous,
Je débute dans le développement web et je n'arrive pas à appeler une variable citée dans un code PHP, variable composée du résultat d'une requête MySQL, dans un code JS.
Un exemple vaut toujours mieux que 1000 explications.
Mon code PHP:
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
| <?php
// Create connection
$con=mysqli_connect("localhost","root","","hospital_center");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"
SELECT * FROM citadelle
WHERE heure BETWEEN '$heure_moins' AND '$heure_plus'
AND date='$date'
AND localisation= '$localisation'
AND statut = 'available'
UNION
SELECT * FROM chateau_rouge
WHERE heure BETWEEN '$heure_moins' AND '$heure_plus'
AND date='$date'
AND localisation= '$localisation'
AND statut = 'available'
UNION
SELECT * FROM sainte_rosalie
WHERE heure BETWEEN '$heure_moins' AND '$heure_plus'
AND date='$date'
AND localisation= '$localisation'
AND statut = 'available'
");
while($row = mysqli_fetch_array($result))
{
echo '<div div id="resultat_requete" class="col-8">';
echo $row['date'];
echo $row['heure'];
echo $row['hopital'];
echo '</div>';
echo '<button id="button'.$row['id'].'" class="bouton col-4">Réservez maintenant</button>';
echo '
<div id="formulaire'.$row['id'].'" class="formulaire col-12">
<form id="contact-form" method="get" action="envoi.php" role="form">
</form>
</div>
';
}
?> |
Mon code JS:
1 2 3 4 5 6 7 8 9 10 11 12
| <head>
<script src="../jquery-3.4.1.min.js"></script>
<script>
var id= "<?php echo $row['id']; ?>";
alert(id);
$(document).ready(function(){
$("#button"+id).click(function(){
$("#formulaire"+id).slideToggle(300);
});
});
</script>
</head> |
Le but de l'animation JS est que le formulaire en-dessous du résultat X (avec la propriété hidden) de la requête PHP slideDown quand on clique sur le bouton correspond au résultat X de la requête PHP et slideUp quand on reclique dessus.
Cependant, quand j'exécute ma page .php dans un serveur local (via Wamp), la console m'indique cette erreur: "Uncaught SyntaxError: Invalid or unexpected token". La ligne correspond à la ligne ou j'appelle la variable PHP dans le JS, c'est à dire :
var id= "<?php echo $row['id']; ?>";
.

Est-ce quelqu'un aurait une idée de comment résoudre mon problème? Je suis quasi certain que le problème vient du fait que la variable $row est mal appelée dans le code JS.
Je vous remercie d'avance pour vos réponses!
Jerry
Partager