Récupérer des données Sql dans un input...

Résolu/Fermé
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 - 5 mars 2008 à 16:57
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 - 14 mars 2008 à 11:33
Bonjour à tous,
Mon problème est que j'aimerai récupérer des données qui contiennent des espaces dans un input.
Car j'arrive à récupérer les données (en parti). Voilà un exemple:
ma données stocké est un club: AS karnac
et bien dans le input je ne récupère que AS

Donc voilà si vous avez des solutions.
N'hésiter pas!
Merci d'avance

4 réponses

chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
5 mars 2008 à 17:20
Euh.. Salut, un petit bout de code pour qu'on puisse voir de quoi on parle stp ? ;o)
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2
6 mars 2008 à 08:38
Alors qu'est ce que tu penses du code?
Je suis aidé des principales sites et de mes cours...
Merci de ton aide qui va arrivé bientot...
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2
5 mars 2008 à 17:23
ok!

$requete2="Select * from insc_club where NumClub='".$numclub."';";
//echo $requete2;
$résultat2=mysql_query($requete2,$connexion);
$ligne=mysql_fetch_array($résultat2);
$nomclub=$ligne[1];
//echo $nomclub;
if($résultat2)
{
}else
{
echo 'Problème de récupération de donnés';
echo 'Ca ne fonctionne pas<br />';
}

echo ' <p class="formulaire">Nom du club :
<input type="text" name="nomclub" value='.$nomclub.'/></p>
<p><input type="submit" value="Enregistrer">
<input type="reset" value="Annuler"></p>';
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 mars 2008 à 10:23
Salut,

tu as un ; en trop dans la ligne $requette2=..

essayes comme ça et en rajoutant une trace d'erreur.

$requete2="Select * from insc_club where NumClub='".$numclub."'";
$résultat2=mysql_query($requete2,$connexion) or die ("pb requette ".mysql_error());


@lain
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
6 mars 2008 à 10:54
Je suis en php donc le 2eme ";"; et pour finir la ligne php.
Comme on fait une trace d'erreur?
Merci de ton aide alain
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
6 mars 2008 à 13:57
Excuse moi je viens de me rendre compte qu'il y a la solution dans ton message.
Mais ça ne change rien car il n'y a aucune erreur puisqu'il récupère quelque chose.
Mon problème est de récupérer tout le contenu de l'enregistrement NomClub.

Merci d'avance à ce qui sauront éclairer ma lanterne.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009
6 mars 2008 à 16:50
Permet moi d'insister mais dans $requette2=... il ne faut pas les deux ;

exemple en php si tu veux faire echo $var;
tu mets $var="Bonjour";

et pas $var="Bonjour;";

essayes en l'enlevant.

essayes aussi avec $ligne['nom_champ_club'] au lieu de $ligne[1]

Sinon dans ta table tu as bien AS Karnac
et le champ il est en varachar latin bin 1 ?

@lain
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
6 mars 2008 à 16:53
C'est une requête SQL. SQL requiert un ; au bout des requêtes si plusieurs se suivent.
S'il n'y a qu'une requête, le ';' n'est pas de trop pour autant.
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2
7 mars 2008 à 08:30
Oui, d'accord mais pour mon problème de données ou je récupère que le premier segment
exemple:" AS karnac" dans la table me renvoie "AS" dans un input alors qu'en php avec un echo
ca me renvoie "AS karnac". Qui a une solution pour récupérer la donnée entière dans un input.

Merci d'avance à ceux qui me répondront
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 mars 2008 à 09:05
Bonjour,

Essayes comme ça:
il faut les balises <form></form>

tu modifies les <p></p> si la présentation ne te va pas

<?php

$requete2="SELECT * FROM insc_club WHERE NumClub='".$numclub."'";
//echo $requete2;
$résultat2=mysql_query($requete2,$connexion) or die ("pb avec la requette ".mysql_error()); //si il y a une erreur on arrete le script et on trace l'erreur
if(mysql_num_rows($résultat2)>0){
	//si on a trouve un on continue
	$ligne=mysql_fetch_array($résultat2);
	$nomclub=$ligne['NomClub'];// si le nom du champ nom du club est bien celui la sinon adaptes
?>	
	<p class="formulaire">Nom du club :
	<form name="form1" method="post" action="script_a_appeler.php">	
	<input type="text" name="nomclub" value="<?php echo $nomclub; ?>"/></p>
	<p><input type="submit" value="Enregistrer">
	<input type="reset" value="Annuler">
	</form>
	</p>
<?php
}else{
	echo 'Pas de donnés trouvées !';
}
?>
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
7 mars 2008 à 09:55
Merci Alain ca fonctionne très bien la seule chose, c'est que j'ai le même problème pour une adresse.
Faut il que je procède le même manière? En sachant que dans la table adresse j'ai 34 champs.

<?php
$IdPart=$_POST['dejaNouvEd'];
//echo $IdPart;
$connexion=mysql_connect("localhost","root","");
if($connexion)
{
mysql_select_db("spip_essai",$connexion);
$requete="select * from insc_mdc_nouv where IdPart=" .$IdPart. ";";
$resultat=mysql_query($requete,$connexion);
$ligne=mysql_fetch_array($resultat);
if ($ligne)
{..........
echo '<p class="formulaire">Adresse :
<input type="text" name="adresse" value='.$adresse.' />
...........................}


Merci Alain pour ta réponse précise et rapide
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009
7 mars 2008 à 11:33
34 champs dans une adresse tu fais fort ?

Il faut faire pareil, mais n'interroge pas la base 34 fois.

si tout est dans la même table, tu fais une seule requette
SELECT * FROM....
et tu as dans l'array $ligne tous tes champs $ligne['code_postal'] par exemple etc...


remarque au passage: il faut mettre les SELECT , FROM WHERE en majuscules dans une requette, c'est plus facile à lire,et les nom de table de champ en minuscules si ils sont ainsi dans la base

et n'oublies pas les <form ...> </form>
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
7 mars 2008 à 11:45
Désolé je me suis mal exprimé dans ma table il y a 34 champs mais mon champs adresse n'est que sur un champs.
en faite pour le club ca ne fonctionne pas mais c'est pas ton code.
Dans mon code j'utilise un isset et reset mes variables car quand je veux faire le update et bien il ne trouve plus le $numclub (est vide). Donc si tu sais comment éviter ce désagrément, j'attend ta réponse.

Merci
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2
7 mars 2008 à 12:03
C'est bon j'ai trouvé une bidouille pour le club mais ca ne fonctionne pas avec adresse:

$requete2="SELECT * FROM insc_club WHERE NumClub='".$numclub."'";
//echo $requete2;
$résultat2=mysql_query($requete2,$connexion) or die ("pb avec la requette ".mysql_error()); //si il y a une erreur on arrete le script et on trace l'erreur
if(mysql_num_rows($résultat2)>0)
{ $numclub=$_POST['numclub'];//je récupère la variable par la méthode POST
//echo $numclub;
//si on a trouvé un on continue
$ligne=mysql_fetch_array($résultat2);
$nomclub=$ligne['NomClub'];// si le nom du champ nom du club est bien celui la sinon adaptes

echo' <p class="formulaire">Nom du club :
......

Merci
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2
7 mars 2008 à 12:23
et j'ai mis ca au debut du code:
echo '<input type="hidden" name="numclub" value="'.$numclub.'"/>';

J'espère que je vous embrouille pas trop...
merci de votre aide!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009
7 mars 2008 à 13:01
Ok

Mais qd tu dis au debut du code , c'est j'espère entre les balises <form> </form> que tu l'as mis

Mais j'avoue ne pas trop comprendre ce que tu veux faire.

A+

@lain
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
10 mars 2008 à 08:53
Oui, c'est bien entre les balises form.
En fait ce qui s'est passé s'est que ta solution ne fonctionnait pas car j'utilise isset et apparemment ca réinitialise les variables mais bon moi non je comprend pas trop mais j'ai testé et ça fonctionne. Pour ce cas.

Mais pour le cas de l'adresse ça ne fonctionne pas pourtant je fais ça:

$requete2="SELECT * FROM insc_mdc_nouv WHERE IdPart='".$IdPart."'";
//echo $requete2;
$résultat2=mysql_query($requete2,$connexion) or die ("pb avec la requette ".mysql_error()); //si il y a une erreur on arrete le script et on trace l'erreur
if(mysql_num_rows($résultat2)>0)
{
//si on a trouve un on continue
$ligne2=mysql_fetch_array($résultat2);
$adresse=$ligne2[4];// si le nom du champ nom du club est bien celui la sinon adaptes

echo '<p class="formulaire">Adresse :
<input type="text" name="adresse" value='.$adresse.' />';

}else{
echo 'Pas de donnés adresse trouvées !';
echo '<p class="formulaire">Adresse :
<input type="text" name="adresse" />';
}

En sachant qu'il y a déjà une autre requete en cours quand je fais ceci, et que "ligne2[4]"= champs d'adresse.

Merci Alain pour avoir suivi et pour ton aide!
0
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
12 mars 2008 à 15:03
j'ai toujours pas trouvé donc la je me sers de urlencode() même si c'est pas fait pour ça c la seule chose qui m'affiche quelque chose mais il m'affiche des + à la place des espaces, et j'aimerai bien que la chaine soit retranscrit correctement.

Ce qui est fort c'est que kan je fais un echo je vois "14 rue abel guy" alors qu'avec urlencode() je vois "14+rue+abel+guy". Donc si qu'elqu'un à une solution qu'il ne se prive pas de la partager.

Merci d'avance
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009
12 mars 2008 à 17:58
Bonjour,

Dans ta base de données quel est l'interclassement de ton champ adresse ? "latin1_bin" ou autre.

Je vais essayer de prendre du temps pour me faire une petite base identique à la tienne pour tester ton code en réel.


@lain
0