Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 29/10/2009, 13h03   #1
Invité régulier
 
Inscription : février 2009
Messages : 106
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 106
Points : 6
Points : 6
Par défaut Javascript et php

Bonjour à tous et déja merci à ceux qui m'aide.
Voilà pour expliquer j'ai un menu deroulant ou il y des infos d'une basse de donnée delai de livraison dans cette basse il y a le type et le prix :

livraison lente - livraison normal - livraison express

sur chaque mode de livraison y a un tarif, donc en faite j'aimerais que lors d'un personne selectionne un mode de livraison il s'affiche sur la meme page le prix.

Voici mon code :

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
 
<?php
include("header.php"); 
 
$base = mysql_connect ($host,$user,$pass);
		mysql_select_db ($bdd,$base); 
 
$zone1 = $_POST['zone'];
// lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)  
$sql = "SELECT * FROM delais";  
 
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 
while($row = mysql_fetch_array($req))
		  {
		  $rownom = $row['type'];
		  $rownom1 = $row['tarif'];
 
 
?>
	<option><?php echo $rownom;?></option>
<?php
}
?>
	</select>
 
	</td> 
      </tr>
	  <tr>
         <td align="right">Tarifs Délais Livraison<font color=red></font></td>
         <td><input name="tarif_livraison" size="15"
            value=""></td> 
      </tr>
jarod6827 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 13h56   #2
Membre habitué
 
Développeur informatique
Inscription : avril 2009
Messages : 180
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2009
Messages : 180
Points : 146
Points : 146
ALors pour faire ça le mieux c'est d'utiliser l'Ajax. En fait dans ta liste déroulante tu fais:
Code :
1
2
 
<select onChange="afficherPrix(this.value)>"
Par contre dans ta balise option : met un attribut value avec la même valeur si tu le souhaites que son contenu.
Ensuite, ta fonction JavaScript afficherPrix(this.value) va appeler un fichier PHP qui viendra récupérer le prix pour un mode de livraison.
Bref, renseigne toi sur l'Ajax et pour te simplifier la vie n'hésite pas à regarder vers des frameworks type jQuery.
Si tu as besoin d'aider, pose tes questions
yann0807 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 13h59   #3
Invité régulier
 
Inscription : février 2009
Messages : 106
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 106
Points : 6
Points : 6
Merci pour la reponse,

Mais comment faire le code java car la j'y connais rien du tout
jarod6827 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 14h06   #4
Invité régulier
 
Inscription : février 2009
Messages : 106
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 106
Points : 6
Points : 6
J'ai fais ca

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
 
<tr>
         <td align="right">Délais Livraison<font color=red></font></td>
<SCRIPT type="text/javascript">
function afficherPrix(index)
{
form1.delais.value = form1.select.options[index].value;
form1.tarif_livraison.value = form1.select.options[index].value;
}
 
</SCRIPT>
 
         <td><select  size="1" name="delais">
<?php
include("header.php"); 
 
$base = mysql_connect ($host,$user,$pass);
		mysql_select_db ($bdd,$base); 
 
$zone1 = $_POST['zone'];
// lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)  
$sql = "SELECT * FROM delais";  
 
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 
while($row = mysql_fetch_array($req))
		  {
		  $rownom = $row['type'];
		  $rownom1 = $row['tarif'];
 
 
?>
	<option value="<?php echo $rownom1;?>"><?php echo $rownom;?></option>
<?php
}
?>
	</select>
 
	</td> 
      </tr>
 
	  <tr>
         <td align="right">Tarifs Délais Livraison<font color=red></font></td>
         <td><input name="tarif_livraison" size="15"
            value="" onChange="afficherPrix(this.value)>"></td> 
      </tr>
jarod6827 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 14h22   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 4 772
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 4 772
Points : 6 716
Points : 6 716
Bonjour,
C'est sur le onchange de ton select que tu faits appel à la fonction AJAX.
Le tutoriel dont tu as besoin http://siddh.developpez.com/articles/ajax/
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2009, 15h08   #6
Membre habitué
 
Développeur informatique
Inscription : avril 2009
Messages : 180
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2009
Messages : 180
Points : 146
Points : 146
Ah ok tu as déjà recupéré le tarif dans $rownom1.
Et bien tu souhaites afficher le tarif de quelle manière?
Tu peux l'afficher directement dans ta liste déroulante en faisant:
Code :
1
2
 
<option><?php echo $rownom.' - '.$rownom1;?></option>
yann0807 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 00h03.


 
 
 
 
Partenaires

Hébergement Web