Récupérer javascript dans requete php

Résolu/Fermé
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 - 27 févr. 2012 à 10:58
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 - 27 févr. 2012 à 12:16
Bonjour,

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
A voir également:

13 réponses

Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
Modifié par Dge-06 le 27/02/2012 à 11:28
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
1
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
27 févr. 2012 à 11:35
Ma question, c'est comment tu lances ton php ? Sans parler de javascript et tout le reste. Imaginons une requête simple en php qui fonctionne... Comment elle se lance ? En même temps que la page lors du chargement ? Ou sinon l'utilisateur appuie sur un bouton ?
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
27 févr. 2012 à 11:36
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>
1
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
27 févr. 2012 à 11:40
Et comment tu lances ton php avec javascript ?
0
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
27 févr. 2012 à 11:12
Bonjour,

Pourquoi passer par du javascript pour récupérer l'id pour ensuite le remette dans du php ?
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
27 févr. 2012 à 11:15
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
27 févr. 2012 à 11:17
autant faire une requète javascript avec XMLHttpRequest
0
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
27 févr. 2012 à 11:17
Ta requête php se trouve sur la même page ? Comment tu l'appelles alors ?
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
27 févr. 2012 à 11:22
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.
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
Modifié par Dge-06 le 27/02/2012 à 11:42
en plein millieu
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
27 févr. 2012 à 11:43
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>   
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
27 févr. 2012 à 11:49
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!!
0
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
27 févr. 2012 à 11:56
Ma 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.
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
27 févr. 2012 à 11:58
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
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
27 févr. 2012 à 12:04
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.
0
Dge-06 Messages postés 14 Date d'inscription lundi 27 février 2012 Statut Membre Dernière intervention 2 juillet 2012 4
27 févr. 2012 à 12:16
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> 





0