Bonjour,Bonsoir,
Voilà déjà plusieurs heures qu'un ami et moi rencontrons un gros problème,
Nous nous trouvons dans une alert javascript, voici le code :
alert("Liste des membres participant à l'évènement n° "+$id+" : "+
"<?php
$idev = '"+$id+"';
$pdo = new PDO('mysql:host=localhost;dbname=mlr4', 'root','');
$sql = "SELECT * FROM inscrire where idevenement ={$idev}";
$reponse = $pdo->query($sql);
while ($donnees = $reponse->fetch())
{
echo $donnees['idmembre'];
}
$reponse->closeCursor();
?>");
Le soucis est que notre variable $idev renvoie bien le chiffre 9.
Lorsque nous faisons un echo $idev;
Le chiffre 9 apparait bien.
En revanche la requête SQL ne trouve pas du tout la valeur de $idev.
Nous avons essayé :
= $idev
".$idev
{$idev}
".{$idev}
et tout un tas d'autres solutions qui n'ont pas fonctionné...
Nous sommes réellement bloqués et ne comprenons pas pourquoi cela ne fonctionne pas dans la requête SQL alors que le echo renvoie bien la valeur de $idev.
Si vous avez une solution je vous remercie d'avance.
Sujer résolut :D
Au final on a créé des divs invisibles contenant le nom des membres inscrits à l'évènement en PHP, et on récupère leur contenu en javascript pour l'afficher dans le popup d'alerte :)
Merci pour votre aide ! ;)
Salut,
Non, la variable $idev
ne contient pas un entier, elle contient une chaîne de charactère : $idev = '"+$id+"';
. Je te laisse regarder ton code.
Oui je suis d'accord, étant donné que je me trouve dans un alert("#code"); en javascript, les " " de $idev coupent le code php pour laisser place au jevascript ce qui donne la valeur de $id variable js à ma variable $idev php.
Faut-il que j'utilsie un == ?
Merci de ta réponse :)
Bonjour.
Il n'y a pas de double égal à ma connaissance dans les requêtes SQL.
Tu devrais utiliser les requêtes préparées, tu t’embêteras moins avec les variables en plus.
Mais cette variable, elle est du côté JS donc ? PHP lui ne voit qu'une string, il ne voit pas la valeur de la variable JS qui est du côté client.
Bonjour je ne vois pas l'intérêt de ce code si c'est un alert précharger fais plutot un appel ajax ce sera plus simple?
Ton IDevenement est un nombre ? pourquoi $idev = '"+$id+"'; alors que $id existe déjà 2 variables avec la même chose ça sert à rien .
ensuite ta requete fonctionne t-elle dans phpmyadmin ou mysql ou autre ... ?
alert("Liste des membres participant à l'évènement n° "+$id+" : "+ je ne voit même pas comment l'ID peut etre retourné sans les balise PHP qui autour de $id ?
c'est flou tout ça et un peu brouillons
Bonjour, comme précisé plus haut :
$id est une variable JS donc c'est normal qu'elle soit retournée sans balise php
$idev est une variable PHP donc c'est pour cela que j'ai du mettre $idev = "+$id+"
J'appelle ma variable Javascript dans ma variable PHP.
En tout cas merci de vos réponses :)
Je vais continuer mes recherches et vous tient au courant ! :)