Récupérer javascript dans requete php
Résolu
Bonjour,
Je voudrais savoir si quelqu'un sais comment récupérer une variable javascript dans une requete PHP svp ?
Voici mon code:
Formulaire:
Code javascript qui récupère l'ID de la base de données:
Et là, je souhaite récupérer donc ce ID déclaré dans javascript pour créer ma requète php, mais c'est là que ça coince:
Si quelqu'un pourrait m'aider, ce serait vraiment super, car là je bloque.
Merci d'avance.
Création site Internet Antibes - www.jm-crea.com
Je voudrais savoir si quelqu'un sais comment récupérer une variable javascript dans une requete PHP svp ?
Voici mon code:
Formulaire:
<select name="id_client2" id="id_client2" onchange="voirclient();">
<?php while ($voir = mysql_fetch_assoc($req_clients_exec)) { ?>
<option value="<?php echo $voir['id_contact'];?>" ><?php echo $voir['societe'];?></option>
<?php } ?>
</select>
Code javascript qui récupère l'ID de la base de données:
<script language="javascript">
function voirclient() {
client_choisi = document.getElementById('id_client2');
id_contact = client_choisi.options[client_choisi.selectedIndex].value;
</script>
Et là, je souhaite récupérer donc ce ID déclaré dans javascript pour créer ma requète php, mais c'est là que ça coince:
<?php mysql_select_db($bdd); $req_choix = "SELECT * FROM contacts WHERE id_contact='<script>document.write(id_contact)</script>' "; $req_choix_exec = mysql_query($req_choix); $voir_choix = mysql_fetch_assoc($req_choix_exec); ?>
Si quelqu'un pourrait m'aider, ce serait vraiment super, car là je bloque.
Merci d'avance.
Création site Internet Antibes - www.jm-crea.com
13 réponses
-
je liste les contacts dans le menu déroulant du formulaire
<?php mysql_select_db($bdd); $req_client = "SELECT * FROM contacts ORDER BY societe ASC"; $req_clients_exec = mysql_query($req_client); ?>
ensuite javascript + php:
<script language="javascript"> function voirclient() { client_choisi = document.getElementById('id_client2'); id_contact = client_choisi.options[client_choisi.selectedIndex].value; } </script> <?php $req_choix = "SELECT * FROM contacts WHERE id_contact='<script>document.write(id_contact)</script>' "; $req_choix_exec = mysql_query($req_choix) or die(mysql_error()); $voir_choix = mysql_fetch_assoc($req_choix_exec); ?>
Ca ne doit pourtant pas être si compliqué !!!
Création site Internet Antibes - www.jm-crea.com -
non, elle se lance dans le javascript, et le javascript se lance de cette manière:
<select name="id_client2" id="id_client2" onchange="voirclient();"> <?php while ($voir = mysql_fetch_assoc($req_clients_exec)) { ?> <option value="<?php echo $voir['id_contact'];?>" ><?php echo $voir['societe'];?></option> <?php } ?> </select> -
ContributeurBonjour,
Pourquoi passer par du javascript pour récupérer l'id pour ensuite le remette dans du php ? -
Car j'ai pas envie que la page se recharge, sinon, ça m'aurrais pris 2 sec. :)
En fait, c'est surtout une question d'ergonomie.
-
autant faire une requète javascript avec XMLHttpRequest
-
ContributeurTa requête php se trouve sur la même page ? Comment tu l'appelles alors ?
-
Non, utiliser XMLHttpRequest serait beaucoup trop long, je suis sur qu'il y a plus simple.
Oui, la requete se trouve sur la même page. -
en plein millieu
-
j'ai essayé aussi:
<script language="javascript"> function voirclient() { client_choisi = document.getElementById('id_client2'); id_contact = client_choisi.options[client_choisi.selectedIndex].value; } <?php $req_choix = "SELECT * FROM contacts WHERE id_contact='<script>document.write(id_contact)</script>' "; $req_choix_exec = mysql_query($req_choix) or die(mysql_error()); $voir_choix = mysql_fetch_assoc($req_choix_exec); ?> </script> -
Là j'essaie:
<script language="javascript"> function voirclient() { client_choisi = document.getElementById('id_client2'); id_contact = client_choisi.options[client_choisi.selectedIndex].value; <?php mysql_select_db($bdd); $req_choix = "SELECT * FROM contacts WHERE id_contact='<script>document.write(id_contact)</script>' "; $req_choix_exec = mysql_query($req_choix) or die(mysql_error()); $voir_choix = mysql_fetch_assoc($req_choix_exec); ?> document.getElementById('nom').value = '<?php echo $voir_choix['nom'];?>'; } </script>
marche pas non plus :(
Je vais devenir fou!!
-
ContributeurMa question, c'est si jamais on oublie ton histoire d'id. Mets une valeur que tu sais être bonne. Ton php va fonctionner sous l'injonction de ton javascript ? Je ne crois pas non.
Et même si tu dis que tu ne veux pas de l'ajax, si tu ne veux pas recharger la page, tu n'auras pas le choix.
-
-
si, j'ai essayé de remplacer:
$req_choix = "SELECT * FROM contacts WHERE id_contact='<script>document.write(id_contact)</script>' ";
par
$req_choix = "SELECT * FROM contacts WHERE id_contact='18' ";
et ça a marché parfaitement
-
Je crois que je ne vais pas me prendre là tête, je vais créer un menu déroulant dynamique en php, ce sera plus simple.
merci quand même pour votre aide.
-
C'est bon, j'ai fais autrement, alors la page se recharge, ce n'est pas trop ce que je voulais, mais bon, pas besoin d'appuyer sur un bouton.
Je mets ma solution au cas ou ça pourrait intéressé quelqu'un:<?php //Requete pour appeler les contacts de la base de données listés dans un menu déroulant mysql_select_db($bdd); $req_client = "SELECT * FROM contacts ORDER BY societe ASC"; $req_clients_exec = mysql_query($req_client); //Requete pour afficher les informations dans les champs du formulaire $id_contact = $_GET['id_contact']; $req_voir = "SELECT * FROM contacts WHERE id_contact='$id_contact'"; $req_voir_exec = mysql_query($req_voir); $voir_contact = mysql_fetch_assoc($req_voir_exec); ?> <script language="javascript"> function voirclient() { client_choisi = document.getElementById('id_client2'); id_contact = client_choisi.options[client_choisi.selectedIndex].value; document.location="ajouter-facture.php?&id_contact=" + id_contact ; } </script>