Probleme de recuperation de chaine de caractere dans ma base

sesterces Messages postés 7 Date d'inscription dimanche 17 octobre 2010 Statut Membre Dernière intervention 13 mars 2011 - 11 mars 2011 à 11:03
sesterces Messages postés 7 Date d'inscription dimanche 17 octobre 2010 Statut Membre Dernière intervention 13 mars 2011 - 13 mars 2011 à 11:05
Bonjour et merci d avance de votre aide,
Voici mon probleme, je stocke dans ma base de donnees des chaines de caracteres pour les langues d un pays du genre : Galéique ecossais, j affiche la liste des langues dans un <select name="Langue"> afin de selectionner la langue qui m interesse, mais au moment ou je veux stocker la langue dans une variable exemple : $intitule=$_GET["Langue"]; je ne récupere qu une partie de ma chaine , soit : Galéique , comment faire pour recuperer toute la chaine ? svp ! merci !!!!

5 réponses

ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
12 mars 2011 à 15:34
Salut;
Je comprend pas trop. Tu arrives a récupérer la bonne chaine dans la bdd mais une fois quelle est passée en variable get, tu ne récupères que la première partie?
Si c'est la cas c'est surement parce que les espaces dans l'url ça doit pas le faire.
Du coup 2 solutions : soit tu passes ta variable en "post" à la place de "get", soit avant de la passer tu remplaces les espaces par un "_", mais pour la 2ème solution tu risques de rencontrer d'autre problème du même type (caractères spéciaux, apostrophes ...).
++
0
sesterces Messages postés 7 Date d'inscription dimanche 17 octobre 2010 Statut Membre Dernière intervention 13 mars 2011
12 mars 2011 à 19:29
Merci de ta réponse !! ...je vais essayer par get de suite pour tester ..
0
sesterces Messages postés 7 Date d'inscription dimanche 17 octobre 2010 Statut Membre Dernière intervention 13 mars 2011
13 mars 2011 à 09:13
Re bonjour, je vais essayer de détailler un peu plus:

Voilà, donc ceci me permet de recuperer les donnees dans ma base et ainsi avec la methode urlencode de recuperer le nom complet de la langue.

Choisir: <select name= "Langue"><option value="selected">
<?php

$serveur="";
$utilisateur="";
$motDePasse="";
$base="";
mysql_pconnect($serveur,$utilisateur,$motDePasse);
mysql_select_db($base)or die ("connexion ratee");
$requete = mysql_query("SELECT lang_nom,lang_id from langue order by lang_nom");
$num=mysql_num_rows($requete);
for ($i=0; $i<$num; $i++)
{
$ligne=mysql_fetch_row($requete);
print"<option value=" ".urlencode($ligne[0]). "">";
echo $ligne[0];
}
?>


Ensuite, je vais donc stocker dans une variable $intitule , le résultat. Si je fais un echo de $intitule c est ok la chaine est complète, mais quand je lance la requete pour recupere les infos concernant cette langue , cela ne fonctionne pas



<th>Id</th><th>Nom</th><th>Prenom</th>
</tr>
<tr>
<?php
if ( isset ($_GET['Langue']))
{
if ($_GET['Langue'] != NULL)

{

$intitule=urldecode($_GET["Langue"]);
echo $intitule;
$serveur="";
$utilisateur="";
$motDePasse="";
$base="";
mysql_pconnect($serveur,$utilisateur,$motDePasse);
mysql_select_db($base)or die ("connexion ratee");
$select "SELECT traducteur.trad_id,traducteur.trad_nom,traducteur.trad_prenom FROM traducteur,langue,jonction WHERE traducteur.trad_id jonction.trad_id and jonction.lang_id = langue.lang_id and langue.lang_nom = '".$intitule."' ";
$result mysql_query($select)or die ('requete> '.$select.'
error->' .mysql_error());
$compte = mysql_num_rows($result);
echo $select;
echo ("
$compte Ressource : $intitule
");
if ($compte > 0)
{

while ($ligne = mysql_fetch_array($result))
{
?>
<tr>
<td><?php echo $ligne[0];?></td>
<td><?php echo $ligne[1];?></td>
<td><?php echo $ligne[2];?></td>
</tr>
<?php
}
}
else
{
?>
<?php echo "Aucune ressource concernée";
}


}
}
?>

</tr>


</table>
Nom des pays ou la langue est parlée |Zone géographique |

----

<?php
if ( isset ($_GET['Langue']))
{
if ($_GET['Langue'] ! = NULL)

{
_GETecho $intitule;
$serveur=\"\";
$utilisateur=\"\";
$motDePasse=\"\";
$base=\"\";
mysql_pconnect($serveur,$utilisateur,$motDePasse);
mysql_select_db($base)or die (\"connexion ratee\");
$select = \"SELECT pays.pays_id,pays.pays_nom,pays.pays_zone FROM pays,langue,concerne where pays.pays_id=concerne.pays_id and langue.lang_id=concerne.lang_id and langue.lang_nom = '\".$intitule.\"' \";
$result=mysql_query($select) or die ('requete => '.$select.'
error->' .mysql_error());
$compte = mysql_num_rows($result);
if ($compte > 0)
{

while ($ligne = mysql_fetch_array($result))
{
?>
----

<?php echo $ligne[1];?>,
<?php echo $ligne[2];?>,

<?php
}
}
else
{
?>
<?php echo \"Aucun pays concernée\";
}

}
}
?>


</form>
La non plus bien sur cela ne fonctionne pas...avez vous une idée !?? merci !!!
0
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
13 mars 2011 à 10:21
Voir l'aide PHP et surtout l'avertissement en milieu de page qui pourrait, sauf erreur de ma part, expliquer ces difficultés...
0

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

Posez votre question
sesterces Messages postés 7 Date d'inscription dimanche 17 octobre 2010 Statut Membre Dernière intervention 13 mars 2011
13 mars 2011 à 11:05
Oui effectivement, merci de votre réponse en tous cas.
0
Rejoignez-nous