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, 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
Membre du Club
 
Date d'inscription: février 2009
Messages: 91
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 :
 
<?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
Vieux 29/10/2009, 13h56   #2
Membre habitué
 
Date d'inscription: avril 2009
Messages: 153
Par défaut

ALors pour faire ça le mieux c'est d'utiliser l'Ajax. En fait dans ta liste déroulante tu fais:
Code :
 
<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
Vieux 29/10/2009, 13h59   #3
Membre du Club
 
Date d'inscription: février 2009
Messages: 91
Par défaut

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
Vieux 29/10/2009, 14h06   #4
Membre du Club
 
Date d'inscription: février 2009
Messages: 91
Par défaut

J'ai fais ca

Code :
 
<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
Vieux 29/10/2009, 14h22   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Date d'inscription: septembre 2007
Localisation: Madagascar
Messages: 2 019
Par défaut

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 actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 29/10/2009, 15h08   #6
Membre habitué
 
Date d'inscription: avril 2009
Messages: 153
Par défaut

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 :
 
<option><?php echo $rownom.' - '.$rownom1;?></option>
 
yann0807 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 09h13.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.