Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 16/02/2008, 15h00   #1
Invité régulier
 
Inscription : mai 2002
Messages : 45
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 45
Points : 8
Points : 8
Par défaut [PHP-JS] Listes liées par JavaScript

bonjour,
voila mon problème : j'ai une balise select qui est alimentée par ma base de données CLIENTS (pas de souci). J'aimerais lorsque je selectionne un client, que les informations (adrsse,cp,ville etc...) s'affichent dans mes balises text.
j'ai obté pour la solution javascript au lieu de ajax.
le code de ma fonction onchange du select :
Code :
1
2
3
4
5
6
7
8
 
<script language="JavaScript">
   	    function go()   
		   	{
			 valeur = document.getElementById('nom_client').options[document.getElementById('nom_client').selectedIndex].text;
			 window.location.href="http://127.0.0.1/extranet/edit_client.php?nom_client="+valeur;
		   	}
</script>
le code pour afficher les infos :
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
 
<?php 
if(isset($_POST['nom_client'])) 
	{
	$nom_client=$_POST['nom_client'];
	include("./lib/connect_base_site.php");
    $sql = "SELECT * FROM CLIENTS WHERE nom_client = ".$_POST['nom_client']." ";
	$res = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 		
	mysql_close();
	}	
?>
<?php
include("./lib/connect_base_site.php");
$nom_client = mysql_query("SELECT nom_client FROM clients ORDER BY nom_client" );
echo'<select name="nom_client" onchange="go()">';
while ($donnees = mysql_fetch_array($nom_client))
{
?>
<option value="<?php echo $donnees['nom_client']; ?>"><?php echo $donnees['nom_client']; ?></option>
<?php
}
echo'</select>';
mysql_close(); // Déconnexion de MySQL 
<input name="adresse_client" type="text" size="60" value="'.$adresse.'"/>
?>
Le nom du client se retrouve bien dans la barre d'adresse, mais rien ne s'affiche dans ma case.
merci
manplum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2008, 15h15   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
S'il y a bien passage dans la barre d'adresse alors la variable ne transite pas par la méthode POST mais GET ($_POST['nom_client'] => $_GET['nom_client']).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2008, 15h21   #3
Invité régulier
 
Inscription : mai 2002
Messages : 45
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 45
Points : 8
Points : 8
Ne marche pas du tout avec la méthode GET.
Au contraire j'ai un message d'erreur :
Code :
1
2
3
4
 
Erreur SQL !
SELECT * FROM CLIENTS WHERE nom_client = AMT BTP 
Erreur de syntaxe près de 'BTP' à la ligne 1
.
manplum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2008, 15h27   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Ça prouve bien que cette partie du code est maintenant exécutée, non ?

Quant à votre requête, elle n'est pas syntaxiquement correcte :
Code :
$sql = "SELECT * FROM CLIENTS WHERE nom_client = '" . mysql_real_escape_string($_GET['nom_client']) . "'";
Dernière chose, je vous recommande de ne vous connecter à la base et d'inclure le fichier qu'une seule fois. Inclure un fichier comportant des fonctions plusieurs fois peut conduire à des erreurs (PHP tentera de redéclarer ces mêmes fonctions) ; votre code n'en sera aussi que plus simple et plus lisible.
julp 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 +2. Il est actuellement 19h35.


 
 
 
 
Partenaires

Hébergement Web