[PHP] Urgent code pour le BAC

Fermé
Rambaldi_47 - 18 mai 2007 à 09:42
saisas Messages postés 21 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 13 juin 2007 - 21 mai 2007 à 11:44
bonjour, je suis éléve en terminale STG option GSI et là je séche!
j'ai un projet à réalisé pour le BAC:

contexte:
Je créer une page php pour une agence de voyage qui permet de reservé en ligne, je n'arrive pas a afficher le resultat d'une requete dans un champs de formulaire, voici le code:

$req="select codeclient from client where nomclient=\"$_POST[nomcli]\" ";
$res=mysql_query($req) or die ("impossible");

while ($donnees=mysql_fetch_array($res))
{echo $donnees['codeclient'];};

echo"<td><input type='text' name='nomcli2' value=$donnees></td>";
(je n'est pas mis le code de tout le tableau car le reste marche

je voudrais afficher donc le résultat dans ce champs (nommé nomcli2)

merci d'avance

cela fait 4 heures que nous sommes dessus avec la prof!

Rambaldi_47

14 réponses

jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 10:17
t'es sur de ta ligne :
$req="select codeclient from client where nomclient=\"$_POST[nomcli]\" ";

moi je verrais plustot :


$req="select codeclient from client where nomclient=$_POST[nomcli]";

ou


$req="select codeclient from client where nomclient=\".$_POST[nomcli]."\";

enfin, une chose est sur, c'est linplantation de $_POST[nomcli] qui te fait merdouiller ton code..

Pourquoi les 2 "\" ?? et regarde bien le nb de " .. ca doit toujours etre un nombre pair.
Pour moins d'erreurs, je te conseil d'utilisé un éditeur de code type UltraEdit qui te met un code couleur spécial pour chaque type de donné (text, fontion, commentaire, ect).
0
Rambaldi_47
18 mai 2007 à 10:25
Merci de m'aider jjsteing
mais les deux requêtes
proposer ne marchent pas...surtout que mon problème c'est que la requete marche, mais c'est l'affichage dans le champs <input....> qui ne marche pas

merci de me dire qi tu as une autre solution
c'est vraiment sympas!
rambaldi_47
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 10:59
essaaye :

<input type='text' name='nomcli2' value=".$donnees.">

sinon, j'ai un ptit code de degub qui peut etre util rajoute cette function dans ton code php :


function MsgBox($Message){
echo "<script language='javascript'>alert(\"".$Message."\");</script>";
}

et avant ta ligne input met:

Msgbox ($donnees);

pour voir deja si il te remonte bien l'info que tu veux...
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 11:04
oups...

function MsgBox($Message){
echo "<script language='javascript'>alert("\".$Message."\");</script>";
}
0
Rambaldi_47
18 mai 2007 à 11:08
j'ai bien essayé ton code, mais il ne veut toujours pas m'afficher dans le <input...> le résultat, l'info remonte bien, la requete est OK c'est juste que je ne sais pas comment lui dire de l'afficher dans le champs de formulaire

mais merci beaucoup, beaucoup j'atend ta reponse avec impatience!

rambaldi_47
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 11:19
trouvé !!! (enfin, je crois, g + ou- le meme code sur mon site, mais avec une checkbox ;) )


value='$donnees'
0
Rambaldi_47
18 mai 2007 à 11:25
j'ai encore essayé mais sans succées encore une fois, quand je te dit qu'on séche!!
peut être peux tu me donner l'adresse de ton site ou alors veut tu mon code complet (même si cela ne change pas grand chose!)

merci de t'acrocher je comprendrais que tu perde espoir!!!

merci encore

Rambaldi_47
0

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

Posez votre question
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 11:39
T inquiet, il m en faut plus pour perdre espoir ;)

Ben je veux bien te donner l adresse de mon site, mais ca t avancera pas a grand chose, vu que tu vera que le code html...

Mais je veux bien voir ton code, balance moi ton adresse mail en message privé (la ptite enveloppe a coté d'une de mes reponse) , et je te répondrais avec ;)
0
Rambaldi_47
18 mai 2007 à 11:46
merci beaucoup pour ton aide
petite precision: le champs du formulaire

echo"<td><input type='text' name='prix' value=$_POST[prixvoy]></td>";
ne marche pas, mais ça je le resoudrais aprés...donc ne t'inquiete pas c'est normal si cette ligne ne marche pas!

si tu as besoin de quoi que ce soit d'autre (même un verre d'eau!)mon adresse e-mail c'est:
rambaldi_47@hotmail.fr

merci encore voici le code:

<html>
<head>
</head>
<body background="fond.jpg">
<?php
$maconnexion=mysql_connect("localhost","root","root")
or die("Connexion au serveur impossible");
$db=mysql_select_db("paradise",$maconnexion)
or die("Sélection de la base de données impossible");

$req="select codeclient from client where nomclient=\"$_POST[nomcli]\" ";
$res=mysql_query($req) or die ("impossible");

while ($donnees=mysql_fetch_array($res))
{echo $donnees['codeclient'];};



echo"<form action='AjouterPiece.php'method='post'>";
echo"<h3>Etape 2 : Choisissez votre date de départ et votre date de retour</h3>";
echo"<b>Informations sur le voyage</b><br>";
echo"<p><table>";
echo"<tr><td align='right'>Code du voyage:</td>";
echo"<td><input type='text' name='choix' value=$_POST[Choixtype]></b></td></tr><br>";
echo"<tr><td align='right'>Votre code Client:</td>";
echo"<td><input type='text' name='nomcli2' value='$donnees'></td>";
echo"<tr><td align='right'>Prix du Voyage (/personne)<br>-50% Pour les moins de 12 ans</td>";
echo"<td><input type='text' name='prix' value=$_POST[prixvoy]></td>";

?>
<tr>
<td align="right">Date de départ </td>
<td><input type="text" name="datedep" size="20" maxlength="255"></td></tr>
<tr>
<td align="right">Date de retour </td>
<td><input type="text" name="dateret" size="20" maxlength="255"></td></tr>
<tr>

</table>
<input type="submit" value="Résérvez!">
</form>
</body>
</html>

merci infiniment, je continu moi aussi à chercher de mon coté
merci

rambaldi_47
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 12:00
j'espere que tu adore les spam, car donner son adresse en clair comme ca... c risqué.. modifi ton message...

t membre de commentcamarche???

Alors, déjà, ta ligne qui marche pas, change la en :

echo"<td><input type='text' name='prix' value='$_POST[prixvoy]'></td>";


pareil pour :

echo"<td><input type='text' name='prix' value='$_POST[prixvoy]'></td>";

ptetre que ca ira mieux ;)

manque un espace entre 'AjouterPiece.php' et method :
echo "<form action='AjouterPiece.php' method='post'>";


Prix du Voyage (/personne) : Aie aie aie.. ca aime pas trop les /, remplace plutot par un %2f...
mais des fois, ca passe, alors, concentrons nous sur le plus fatidique :

fait un echo pour vérifier $donnees

echo"<tr><td align='right'>Votre code Client:</td>";
echo"<td>$donnees</td>";

et dis moi si il t affiche bien la valeur de $donnee...

de plus, enfin, ca c un avis personnel, mais la syntax est tres importante. moi je met un espace entre le echo et "

et vérifie bien les ' ' apres value=, ca peut tout changer !!
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 12:37
euh, apres une ptite relecture, mon 1er post est faux :

$req="select codeclient from client where nomclient=\"$_POST[nomcli]\" "; // ca c bon, normal qu il y est 3 "

mais pour estre + clair change par :

$req="select codeclient from client where nomclient='$_POST[nomcli]' ";
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 12:48
de plus, en regardant uin peut mon code perso j'ai trouver une légère différence au niveau des guillemets ( ` et pas '):

mon code :
$selection=SQL("SELECT * FROM `panier` WHERE `NomConnection` = '".$_SERVER['REMOTE_ADDR']."'");

fait gaffe, y a des " collés a des ' sans espaces, sinon, erreurs...

mais bon, ton $donnees te remonte t il bien l info que tu veux (sans ces changements) ???

ps, je t ajouter a ma liste de contact msn ;)
0
Bonjour,
Je mettrai plutôt:
$req="select codeclient from client where nomclient='$_POST["nomcli"]' ";


et non pas :
$req="select codeclient from client where nomclient='$_POST[nomcli]' ";
nomcli est une variable récupérée à partir d'un formulaire par la methode post et doit être entre guillemets dans les crochets du $_POST.
A essayer...
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
18 mai 2007 à 18:37
Tout a fait d accoird...

A.. ces pt1 de " ' " a la con, c crée toujours des sushis ;)
0
rambaldi_47 Messages postés 10 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 9 mars 2008
19 mai 2007 à 11:58
merci je vais tester tout ça quand je pourrais et je vous tiens au courant merci encore
j'ai hâte de voir si cela marche

rambaldi_47
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
20 mai 2007 à 19:30
alors, c concluant ou pas??
0
rambaldi_47 Messages postés 10 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 9 mars 2008
21 mai 2007 à 08:40
merci les gars, ma requête marche impec; mais y'a un soucis qui persoste c'est l'affichage du resultat dans le champs:

<input type='text' value='...là je met quoi???...'>

merci encore

ps: je me connecte rarement à MSN
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
21 mai 2007 à 09:36
pourquoi, ca marche pas avec :

echo"<td><input type='text' name='prix' value='$_POST[prixvoy]'></td>";

sinon, essaye :

echo"<td><input type='text' name='prix' value='".$_POST[prixvoy]."'></td>";

gaffe aux guillemet : "blabla value = ' " . $variable ou code php . " ' blabla";
0
saisas Messages postés 21 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 13 juin 2007 5
21 mai 2007 à 11:44
Bonjour,

réponse à la question initiale : sauf erreur de ma part, mysql_fetch_array renvoie un tableau, donc ton code devrait au minimum être :
echo"<td><input type='text' name='nomcli2' value='$donnees[0]'></td>";

De plus, si tu as plusieurs valeurs, il faut mettre chaque ligne de la table dans ta boucle.

Cordialement.
0