c'est la requete du formulaire, donc je dois définir la variable $data c'est ca ?
Code:
1
2
3
4
5
6 LIGNE 23 ---->>> echo "<option value=".$data[id].">".$data[sujets]."</option>\r\n"; } echo "
Version imprimable
c'est la requete du formulaire, donc je dois définir la variable $data c'est ca ?
Code:
1
2
3
4
5
6 LIGNE 23 ---->>> echo "<option value=".$data[id].">".$data[sujets]."</option>\r\n"; } echo "
Bon... alors pour accéder à un tableau, c'est $data["id"], ou $data[$id] si $id contient une chaîne de caractère.Citation:
Envoyé par loady
En fonction de ton script et du nom des champs dans ta base de données, à toi de corriger.
Encore un conseil, efforce-toi de passer tes requêtes comme indiqué dans le second point de ma signature.
Mais t'est certain, si je fais ca je recois une erreur parse : Parse error: parse error, expecting `','' or `';'' in
Code:
1
2
3
4 echo "<option value="$data[$id]">"$data[$sujets]"</option>\r\n"; ou echo "<option value="$data["id"]">"$data["sujets"]"</option>\r\n";
Je te renvoie au tutoriel que Yogui t'a déjà indiqué :Citation:
Envoyé par loady
http://pbnaigeon.developpez.com/tuto...phe-guillemet/
SVP :lol: , Est ce que quelqu'un veut bien m'aider concrètement, j'ai l'impression d'être tournée en bourrique (ceci, cela, guillements plus de guillements....) j'en sort plus, please AIDEZ MOI (voir code au début du post) MERCI ....:lol: :lol: :lol: :lol: :lol: :lol:
A toi de choisir suivant ce que contiennent les variables $id et $sujets, et les noms de tes champs.Code:
1
2
3
4 echo '<option value=' . $data[$id] . '>' . $data[$sujets] . '</option>\r\n'; ou echo '<option value=' . $data["id"] . '>' . $data["sujets"] . '</option>\r\n';
C'est un premier pas vers la victoire...
Bon le premier fonctionne Pas :? les données de la BDD n'apparaissent pas. Le 2ème :
echo '<option value=' . $data["id"] . '>' . $data["sujets"] . '</option>\r\n';
semble fonctionner mais pour la suite comment je fais ? :lol: sur la page de resultat je recois toujours : Array ( [collecID] => [imageField_x] => 12 [imageField_y] => 9 )
Eusebius > Moi, je suis graphiste, je veux pas devenir programmeur professionnel, juste me dépanner sur des petit trucs lorsque c'est nécessaire. J'ai pas envie d'être tournée en bourique. Donc si tu veux pas me donner la solution laisse tomber. Y'a bien quelqu'un d'autre qui voudras bien m'aider :lol: mais plus de renvoi vers des tutorial, des bout de code, Merci, j'en peux plus de ces morceaux de code en plus c'est un formulaire Basic, je te demande pas de me révéler tes secrets de programmation. :lol: :lol: :lol: :lol:
Ecoute, ton application je la connais pas, alors le code je peux pas l'inventer, je t'ai donné ce que je pouvais te donner, maintenant si tu me mets ça sur les épaules alors que tu ne peux pas spécifier ton problème, tu te débrouilleras sûrement très bien sans moi. Comme tu le dis il y a beaucoup de gens très coopératifs sur ce forum. Ils se feront une joie de deviner ce qu'il y a dans ta base de données.Citation:
Envoyé par loady
Juste une question : tu as bien sélectionné une des options avant de soumettre le formulaire ? et les $data["id"] ont bien des valeurs correctes ?
L'appel à or die(mysql_error()) nous permettrait de savoir ce qui ne va pas dans ta requête, puisque tu ne nous l'as pas donnée et qu'elle ne fonctionne pas...
Si tu veux de l'aide, donne-nous les moyens de te l'apporter.
Déjà dit deux fois... Ceci dit je suis prêt à parier mes chaussettes dépareillées qu'il n'y a pas d'erreur mysql.Citation:
Envoyé par Yogui
Comment je fais pour vous transmettre : or die(mysql_error()) ? comment je l'obtient, ca n'apparait nulle part ?
Si rien ne s'affiche, c'est qu'il n'y a pas d'erreur. On te demande de mettre ce code parce que pour le passage de requête à mysql, même s'il y a une erreur, elle n'est pas affichée par défaut, il faut donc tout faire soi-même (ah la la...)Citation:
Envoyé par loady
Remplace :
par :Code:mysql_query($sql);
ou (mieux) :Code:mysql_query($sql) or die(mysql_error());
Code:
1
2
3
4
5 mysql_query($sql) or die('Error in file '.basename(__FILE__).'<br />' .'on line '.__LINE__.'<br />' .mysql_error() );
ou encore mieux :Citation:
Envoyé par Yogui
Code:
1
2
3
4
5 mysql_query($sql) or die($sql . ' -- Error in file '.basename(__FILE__).'<br />' .'on line '.__LINE__.'<br />' .mysql_error() );
Bon, j’ai réécrit tout le script du formulaire, pouvez vous jeter un œil pour voir ce qui cloche, je recois tjs : parse error : Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c…………….form.php on line 39
IL y a des erreurs, mieux que ca je peux pas :
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
26
27
28
29
30
31
32
33 <?php // connex base $base = mysql_connect ('localhost', '*****', '******'); mysql_select_db ('ma_db', $base) ; ?> <?php // lancement requet $sql = ("select * from collections order by sujets asc"); // lance requete (mysql_query) message erreur (or die) $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // recup resultat while($data = mysql_fetch_assoc($req)) { // stocke donnees $store=$data; } echo " <form action= 'formraffichage.php' method='post'> LIGNE39 ---- - - - ---- >>>>>> <option value= '.$data['id'].'>'.$data['sujets'].'</option>\r\n'; <select name= 'collecID'> "; echo " </select> <input name='imageField' type='image' src='../../imgs/go.gif' align='middle'> </form> "; ?>
Tu ne vas pas récupérer grand-chose avec ça, les informations s'écrasent les unes les autres. Mets ça dans un tableau... Sinon tu ne récupères que le dernier enregistrement.Citation:
Envoyé par loady
Ca serait bien de faire attention à ne pas te mélanger les pinceaux entre guillemets simples et doubles. Mais bon j'espère pas trop, ça fait maintenant trois fois qu'on te conseille ce tuto : http://pbnaigeon.developpez.com/tuto...phe-guillemet/Code:
1
2
3
4 echo "<form action= 'formraffichage.php' method='post'>" . "<option value= '" . $data['id'] . ">" . $data['sujets'] . "</option>\r\n";
Je rappelle à tous ceux qui viennent sur Developpez que nous sommes un forum d'entraide, pas de travail gratuit. Nos membres passent une partie de leur temps libre à vous aider, ayez la décence de suivre leurs conseils sans les envoyer balader.
Vous pouvez être graphistes ou ce que vous voulez, cela ne change pas le fait que vous venez sur un forum d'entraide et que, par conséquent, nous nous attendons à ce que vous y mettiez un peu du vôtre. C'est fondamental car cela nous assure que vous apprenez de vos erreurs et que vous ne poserez pas 50 fois la même question...
:merci:
J'avance ou pas ? :lol: c'est un vrai casse tête ces guillements c'est pas clair visiblement ont ne peut pas les melanger mais si ont regarde le tuto, ils sont parfois mélangé (ex: echo '<p><a href="#" class="test" onclick="rien();">'.$i.'</a></p>';) En tout cas moi je vois pas quand y faut en mettre ou pas en mettre Oui quand c'est un truc simple c'est clair mais dès c'est plus complexe ca devient hyper compliqué.
Pouvez me dire si je brule :lol: ?
Yogui > ZEN Man ! :lol: c'est souvent par l'exemple et en faisant des erreurs qu'on apprends.Code:
1
2
3
4
5
6
7
8
9
10 // stocke donnees $store[] =$data; } echo ' <form action= 'formraffichage.php' method='post'> <option value= '.$data['id'].>'.$data['sujets'].</option>\r\n'; <select name= 'collecID'> ;
Tu apprendrais de tes erreurs si tu écoutais nos réponses. Je t'ai fait le code que tu essaies de corriger...Citation:
Envoyé par loady
Pour les guillemets, en deux mots : pour les chaines de caractères en PHP, tu as le choix entre les simples et les doubles.
Si tu choisis les simples, alors tout nouveau guillemet simple (à moins d'être "échappé" avec un backslash : \' )fermera la chaîne ouverte.
Idem pour les doubles, sauf qu'en plus, sous certaines conditions, les variables php son interprétées à l'intérieur de la chaîne de caractères.
On peut faire se côtoyer du PHP et du Javascript, une fois qu'on a compris exactement ce que faisaient l'un et l'autre, et que ce qu'on fait est clair dans sa tête : on ne construit pas une application en tâtonnant à l'aveugle.
Deux possibilités :
etCode:echo '<a href="truc.html">azerty</a>';
Avec concaténation :Code:echo "<a href='truc.html'>azerty</a>";
Avec un tableau associatif :Code:
1
2
3
4
5
6
7 $url = 'truc.html'; $texte = 'azerty'; echo '<a href="' . $url . '">' . $texte . '</a>'; // <a href="truc.html">azerty</a> echo "<a href='" . $url . "'>" . $texte . "</a>"; // <a href='truc.html'>azerty</a> echo '<a href="' . $url . '">' . $texte . "</a>"; // <a href="truc.html">azerty</a> echo "<a href='" . $url . "'>" . $texte . '</a>'; // <a href='truc.html'>azerty</a>
Tu peux les mettre dans l'ordre que tu veux (les guillemets dans les apostrophes ou l'inverse). La seule règle est que le premier que tu mets (entre guillemet et apostrophe) devient le délimiteur de la chaîne PHP. La prochaine fois que ce même caractère apparaît termine donc la chaîne PHP, tandis que tout ce qui est à l'intérieur en fait partie.Code:
1
2
3
4
5
6
7
8 $lien = array( 'url' => 'truc.html', 'texte' => 'azerty'); echo '<a href="' . $lien['url'] . '">' . $lien['texte'] . '</a>'; // <a href="truc.html">azerty</a> echo "<a href='" . $lien['url'] . "'>" . $lien['texte'] . "</a>"; // <a href='truc.html'>azerty</a> echo '<a href="' . $lien["url"] . '">' . $lien['texte'] . "</a>"; // <a href="truc.html">azerty</a> echo "<a href='" . $lien["url"] . "'>" . $lien['texte'] . '</a>'; // <a href='truc.html'>azerty</a>
[Edit] Tu peux y voir plus clair en faisant de la sorte :
Ici, les sous chaînes sont clairement identifiables.Code:
1
2
3
4
5
6
7
8
9 $lien = array( 'url' => 'truc.html', 'texte' => 'azerty'); echo '<a href="' . $lien['url'] . '">' . $lien['texte'] . '</a>';