Comment recuperer plusieur variable sui sont dans une BDD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment recuperer plusieur variable sui sont dans une BDD

par Invité » 10 juin 2005, 17:22

Merci a tous, mais vraiment merci. Pour votre aide.

Le fait d'utilisé des champs de type hidden fait que l'on ne voit le contenu du champ , alors a la place j'ai mis des champs de type text la j'ai pu visualiser la reference et le titre de l'annonce en question .

OUFFF SA FAIT DU BIEN QUAND SA MARCHE , je peut enfin faire une pose
Et encors UN GRAND MERCI A VOUS TOUS :wink: :wink:

par zeus » 10 juin 2005, 17:07

C'est quoi le code concerné ?

par Invité » 10 juin 2005, 16:49

Mais dans le formulaire d'inscription je ne vois pas , la reference ainsi que le titre de l'annonce.

par Invité » 10 juin 2005, 16:48

c'est bon j'ai trouvé
l'erreur .

par Invité » 10 juin 2005, 16:43

C'est vrai tu a reson, bien vu !

Mais maintenant j'ai cette erreur
Notice: Undefined index: numero in, c:\program files\easyphp1-8\www\htdocs\annonce\essai22.php on line 177

"C'est a se tordre le coup" ce programme :?

par zeus » 10 juin 2005, 16:38

PAs de base de données sélectionnée

Bon, allez, je ferme les yeux en me disant que tu ne connais pas la syntaxe :
mysql_select_db($db);

par Cyrano » 10 juin 2005, 16:37

tu n'as pas quelque part une ligne du genre
mysql_select_db("nom_de_ta_base")
:?:

par Invité » 10 juin 2005, 16:35

J'ai sa maintenant comme erreur;

No Database Selected

par zeus » 10 juin 2005, 16:14

Code : Tout sélectionner

$requete="SELECT ref,titre FROM annonce WHERE numero=".$num; //Sors les variables du code $res = mysql_query($requete); while($tableau = mysql_fetch_array($res)) // { $numero = $tableau['numero']; $titre = $tableau['titre']; } ?>
Dans $tableau, tu va avoir un champ retourné par ta requete par colonne, ta requete retourne les champs ref et titre, donc le tableau $tableau contient les colonnes ref et titre mais ne contient pas la colonnes numero

Ensuite, pour l'erreur, c'est que ta requete sql est fausse

teste la directement depuis phpMyAdmin

par Invité » 10 juin 2005, 16:08

Voila ... J'ai repris mon code , mais sa ne marche toujour pas, j'ai une erreur du type

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\htdocs\essai22.php on line 173
Code:

Code : Tout sélectionner

return true; } </script> </head> <? $num = $_GET['numero']; $db = mysql_connect("******","*****","******"); $requete="SELECT ref,titre FROM annonce WHERE numero=$num" ; $res = mysql_query($requete); while($tableau = mysql_fetch_array($res)) // 173 { $numero = $tableau['numero']; $titre = $tableau['titre']; } ?> <body> <table width="100%" border="0" cellspacing="2" cellpadding="0"> <form name="formulaire" enctype="multipart/form-data" method="post" action="valider.php" onSubmit="return verif_formulaire()"> </td> <tr> // voila ce que j'ai rajouter mais la reference ne s'affiche pas <td height="19" colspan="2" ><span class="style2">R&eacute;ference de l'offre : </span><input type='hidden' name='ref' value="<?php echo $numero; ?>"></td> </tr> <tr> <td height="19" colspan="2" ><span class="style2">Intitil&eacute; de l'offre : </span><input type='hidden' name='ref' value="<?php echo $titre; ?>"> </td> </tr><tr> <td height="19" colspan="2" ><span class="style2"><strong>Votre identité</strong></span></td> </tr> <tr> <td height="2" colspan="2" style="background-image:url(C:charte\nav_relief.gif)" ></td> </tr> <tr> <td class="style2">Nom* :</td> <td width="73%" class="style2"><input name="nom" type="text" id="nom" maxlength=30 value=""></td> ------------ --------- ------------ </form> </body> </html>

Code de la page des annonce

Code : Tout sélectionner

<? $db = mysql_connect("***.***.***", "root",""); mysql_select_db("root",$db); $requete = "SELECT * FROM annonce ORDER BY date DESC"; $envoi = mysql_query($requete); while($tableau = mysql_fetch_array($envoi)) { $numero = $tableau['numero']; $date = $tableau['date']; $titre = $tableau['titre']; $contenu = $tableau['contenu']; $contenu = str_replace("\n","<br>",$contenu); $contact = $tableau['contact']; $email = $tableau['email']; $ref = $tableau['ref']; ?> <br> <font color="#333333" size="2" face="Arial, Helvetica, sans-serif"><b> <? print $titre; ?></b></font> <br><br> <font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><? print $contenu; ?></font> <br><br> <font color="#333333" size="2" face="Arial, Helvetica, sans-serif">Si vous etes interressé par cette annonce [b] // Voici la partie que tu m'a dis de rajouter j'ai rajouté[/b] <? echo "<a href='essai22.php?numero=".$tableau['numero']."'>cliquer ici </a>"; ?> <br> E-Mail : <a href="mailto:<? print $email; ?>"><? print $email; ?></a></font><br> <hr size="1" noshade> <? } mysql_close($db); ?> </td>
La je commence a m'enbroiller grave , :shock:
MERCI

par Cyrano » 10 juin 2005, 15:54

Alors en récupérant les informations sur chaque annonce, tu dois pouvoir récupérer un identifiant que tu ajoutes en paramètres à l'url du lien pour chaque annonce: ensuite tu récupères cet identifient dans la superglobale $_GET et tu crée la requête sur la base de cet identifiant.... j'avoue que je vois pâs trop où se trouve la difficulté, mais bon, c'est vrai que pour moi c'est un peu devenu l'enfance de l'art

par zeus » 10 juin 2005, 15:52

Guakamol a raison, la requete n'est pas exécutée

Tu passe directement la requete et non pas le résultat de la requete

par Invité » 10 juin 2005, 15:51

Au niveau des annoce cela s'affiche , tous le contenu le titre tous s'affiche dans la page des annonces. La où sa ne s'affiche pas c'est dans le formulaire . ATTEND.... je vais reprondre mon probleme;

Enfaite comme je l'ai expliquer plus haut,

il y a un formulaire qui permet de mettre(editer) des annonce en ligne (avec les champ; reference, titre, contenu ...)

Une fois les annonces editer , on peut les voirs les une en dessous des autres sur une page (page annonce) , dans cette page il ya un menu deroulant qui permet de selectionner le type d'annonce que l'on souhaite voir .

Moi ce que je souhaite faire c'est mettre dans la page des annonces (en dessous de chaque annonce )un lien vers un formulaire d'inscription (identité de la personne interréssé par l'annonce) . Dans ce formulaire il faut que je recupere la reference et le titre de l'annonce de maniere automatique .

Ainsi celui qui est interréssé par l'annonce n'aurra plus qu'a mettre son nom prenom .....

Pour ma part le formulaire d'inscription je les faits ainsi que la base de donnée qui va avec .
Ce que je veus faire c'est recuperer la reference et le titre de l'annonce et les mettre automatiquement dans le formulaire d'inscription

Voila j'espere que c'est pes tros confu ce que j'ai ecris :?
Merci bien

par Cyrano » 10 juin 2005, 15:02

ok, alors si il revient bien des données et qu'elles ne s'affichent pas, on va essayer autre chose:
Il faut faire afficher les variables qui arrivent: si c'est un tableau, avec print_r() pour voir ce qu'on a comme retour.

Remplace aussi ta fonction
$contenu = str_replace ("\n", "<br />",$contenu)
par
 $contenu = nl2br($contenu);

par Guakamol » 10 juin 2005, 14:58

Code : Tout sélectionner

<input type='hidden' name='ref' value="<?php echo $result; ?>">
c ici que ca va pas

Pour recuperer la valeur de ta reference il faut que tu "execute" ta requete (si j'ai bein suivi ca doit etre

Code : Tout sélectionner

$req = mysql_query($result)
puis que tu enregistre le resultat de cette requete dans une variable (on appelle ca un recordSet)
Generalement on utilise une boucle du genre
(while($data=mysql_fetch_array)
{
$ref = $data["ref"];
.....
....
}

Code : Tout sélectionner

Je ne peux que te conseiller de jeter un oeil au tuto tres bien fait de phpFrance :wink: