Probleme des combobox avec les espace en php

Fermé
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017 - 27 janv. 2013 à 15:28
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017 - 29 janv. 2013 à 10:54
Bonjour,

Bonjour, tou le monde
mon probleme c'est que : je fait un combobox dans ma page de site web ,ce combobox est alimenter a partit de la base de donnée en utilisant requéte select mais les text ou b1 les itemes qui sont afficher comporte des espace et quant je selectionner un item qui contient un espace par exemple(item:ahmed majid) l'item sera (ahmed)
comment regler le probleme d'espace pour quelle je peut inserer l'item selectionner (ahmed majid) dans la base de donnée correctement

je travail avec php + mysql
merci d'avance

A voir également:

15 réponses

Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
28 janv. 2013 à 09:03
Bonjour dalaldolla,

1) Peux-tu donner la structure de la table qui concerne le nom et le prénom que tu as désigné (ahmed majid).

2) Cette chaîne de caractères ahmed majid sort-elle d'un seul champ ou de plusieurs champs ?

3) Comment récupères-tu l'item de la combobox ?
1
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 28/01/2013 à 13:50
Salut dalaldolla,

Peux-tu me confirmer que, lorsque tu regarde dans la table de PHP My Admin, tu retrouves bien Ahmed Majid dans le champ NOM de la table Agents ??

Edit:

Toujours cette balise ouvrante <?php à la place de <?
1
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 28/01/2013 à 14:42
Attention .. ce que vous me dites là sont deux choses différentes.

$nom provient de $_POST['nom'];, c'est à dire la variable qui passe de page en page,

tandis que : echo "<option>".$result->Nom."</option>\n"; provient de la requête !!

Edit : faute d'orthographe
1
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
28 janv. 2013 à 12:58
bonjour,Heliotte ,merci boucoup
1-Table Agents :
( matricule: text c'est la clé
Nom: text
prenom:text
..........)


2-Cette chaîne de caractères ahmed majid sort d'un seul champ (champ Nom)?
3-voila mon code pour récupérer les items:



<form name="programme" id="programme" method="post" action="cong.php" >
<table >

<tr class='Ligne_R'>
<TD><FONT color="FFFFFF"><b> Selectionner Le Nom</FONT></b></TD>
<TD><select name='nom' id="nom" onchange="document.forms['programme'].submit();">

<?
$nom=$_POST['nom'];
?>

<OPTION value=<?echo"$nom"?> > <?echo"$nom"?> </OPTION>

<?

$sql = "SELECT Nom FROM Agents WHERE(CodeStatut=8 or CodeStatut=9) And CodePosition=9 AND CodeChef=$num ORDER BY Nom" ;
//exécution de la requête:
$requete = odbc_do($cnx, $sql) ;
//affichage des données:
while( $result = odbc_fetch_object( $requete ) )
{
echo "<option>".$result->Nom."</option>\n";
}

$nom=$_POST['nom'];

?>
</select>
</TD>
</TR>

il ya d'autre combobox dans ma page
combobox pour selectionner le prenom
combobox pour selectionner le Matricule
donc quan je selectionne le nom Ahmed Majid
et apres selectionne le prenom le nom devient Ahmed seul
0

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

Posez votre question
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
28 janv. 2013 à 14:15
slt,Heliotte
oui , je retrouve bien Ahmed Majid (avec l'espace)dans le champ NOM de la table Agents
j'ai remplacer <? par <?php mais le probleme rest
0
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
28 janv. 2013 à 14:19
je travail aussi avec la base de donnée access donc si vous connez comment regler ce pbm avec access ça va m'aider encore
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 28/01/2013 à 14:25
Le même problème avec ACCESS ?

Edit:
C'est quand vous quittez la combobox avec les noms que ce problème arrive ?
C'est quand vous sélectionnez dans la deuxième combobox que ce problème arrive ?
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
28 janv. 2013 à 14:36
Pouvez-vous tester ces deux codes :

-    echo "<option>".htmlspecialchars($result['Nom'])."</option>\n";
ou
-    echo "<option>".htmlspecialchars($result->Nom)."</option>\n";

à la place de : echo "<option>".$result->Nom."</option>\n";

Merci de me tenir au courant.
0
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
28 janv. 2013 à 14:37
slt
quand je sélectionne dans la deuxième combobox ce problème arrive ?
mais meme si je quitte le combobox des noms sans selection d'un autre combobox le probleme arrive car si je fait :
echo"$nom";affiche Ahmed

je pense que le probleme dans la fonction onchange="document.forms['programme'].submit();"
voila j'ai essayer de supprimer la fonction onchange et le probleme résolu est s'affiche Ahmed Majid mais il revient un autre probleme c que les autre combobox ne fonctionne pas car la deuxieme combobx utilise le resultat la premiere
la deuxieme combobox contient la reqeute suivante :
$sql = "SELECT Matricule FROM Agents where Nom='$nom' and Prenoms='$prenom' and (CodeStatut=8 or CodeStatut=9) And CodePosition=9 AND CodeChef=$num " ;
0
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
28 janv. 2013 à 14:51
regarde Mr

la variable $nom = $_POST['nom'];, c'est la valeure qui je selectionner
0
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
28 janv. 2013 à 14:52
la variable $nom = $_POST['nom'];, represente la valeure qui je selectionner
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
28 janv. 2013 à 15:06
D'accord, mais dans cette requête, je ne vois le $nom:

$sql = "SELECT Nom FROM Agents WHERE(CodeStatut=8 or CodeStatut=9) And CodePosition=9 AND CodeChef=$num ORDER BY Nom" ;
0
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
28 janv. 2013 à 15:19
je vous dite que la reqeute de la deuxieme combobox qui comport le $nom càd:


1-je selectionne le nom(Ahmed Majid) et just apres
la deuxieme combobox affiche tous prenoms des agents ayant le nom (Ahmed Majid)la requete=$sql = "SELECT prenom FROM Agents where Nom='$nom' and (CodeStatut=8 or CodeStatut=9) And CodePosition=9 AND CodeChef=$num " ;

je selectionne le prenom (dalal) et just aprés le Matricule de (Ahmed Majid dalal)
s'affiche (s'affiche un seul matricule car c'est la clé)et la requete ($sql = "SELECT Matricule FROM Agents where Nom='$nom' and Prenoms='$prenom' and (CodeStatut=8 or CodeStatut=9) And CodePosition=9 AND CodeChef=$num " ; )

je besoin les varibles:
$nom,$prenom,$mat pour les inserer dans un autr tabe

j'espr que c claire
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
28 janv. 2013 à 20:52
Ok.

Dans le code source de la page, pouvez-vous savoir ce que vaut $nom et l'équivalent dans les items <Option> ?

Avez-vous FireBug, un plug'in pour Firefox ?
0
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
29 janv. 2013 à 09:41
merci bouuuuuuuucoup
j'ai resoudre le probleme just maintenant ,voila qu'est ce je fait :

l'enciene code c'est :
dans la premiere combobox j'ai fait un appel à la fonction clear_combonom()
<select name='nompren'id="nompren" onchange="clear_combonompren();">

function clear_combonom()
{
prenom.options.length=0;//pour effacer le premier item qui est déja
selectionné dans la deuxieme combobox qui comporte les prenoms
mat.options.length=0;
document.forms['programme'].submit();
}

dans la deuxieme combobox j'ai fait un appel à la fonction clear_comboprenom()

function clear_comboprenom()
{
mat.options.length=0;
document.forms['programme'].submit();
}

dans la troisieme combobox j'ai fait un appel à la fonction clear_combomat()

function clear_combomat()
{
document.forms['programme'].submit();
}

Vous rappelez-vous ce que je vous ai dit hier,
<<je pense que le probleme dans la fonction onchange="document.forms['programme'].submit();" >>

donc q'est ce que je fait maitenant
la nouvelle code :

puisque j'ai remarquer que si je selection le nom (Ahmed Majid)
la deuxieme combox affiche tous les prenoms de cette nom donc la variable $nom
ca marche et elle contient la valeure exact mais
quand je selectionne le prenom just aprés l'item selectionné dans la premiere combobox devient (Ahmed )
donc le probleme est dans la deuxieme combobox et exactement dans la fonction on change allor je viens de supprimer l'instruction (document.forms['programme'].submit();
)de la fonction on change de la combobox des matricules et je met dans la premier combobox (le nom / et le prenom)
donc j'ai deux combobox au lieu de trois:
1-la premiere pour le nom et le peonom avec la fonction clear_combonom()
2-la deuxime pour le matricule et ne contient pas la fonction clear_combomat

pourquoi je fait le nom et le prenom dans un seule combobox car si je laisse
dans deux combobox différent

j'ai obliger de supprimer la fonction on change de la combobox des prenom et comme ca le matricule s'affiche pas
0
dalaldolla Messages postés 29 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 23 avril 2017
29 janv. 2013 à 10:54
slt,
la solution que je fait c'est just un depannage
si vous avez trouver une autre solution SVP me tenir au courant
0