Probleme de recuperation de variable en tableau associatif

Résolu
lespleiades Messages postés 25 Date d'inscription lundi 8 mai 2006 Statut Membre Dernière intervention 6 août 2007 - 29 mai 2007 à 19:02
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 30 mai 2007 à 14:35
salut tt le monde^^

bon voila j ai un probleme et la je cale vraiment, d'habitude je m'en sort comme un grand, mais la je ne sais vraiment pas comment le resoudre :/

la chose est simple:
je crée un script qui va appelé dans la base SQL  une table "article" avec les auteurs, la date, et leurs noms,.(liste_article.php)

donc la j'affiche a l'aide d'un tableau associatif  j affiche tout les champs; auteurs par auteurs, dates par dates, etc..
jusque la tout va bien.

c'est maintenant que ca se complique:
donc sur ma pages j ai tout les articles parus, avec les auteurs etc..,  et j'aimerais qu'en cliquant sur le titre d'un article cela affiche l article.

donc pour ca j'ai utilisé un form,

et mon probleme c'est qu il affiche bien le classement "id" mais lorsque je veut renvoyer l'"id" vers la page de lecture il m envoi toujours le meme "id" :/

----------------------------------------------------------------------------------------------------
liste_article.php
----------------------------------------------------------------------------------------------------
<html>
  <head>
     <title>articles</title>>
     <link rel="stylesheet" href="style.css" type="text/css" media="all"/>
  </head>

     ----
    <center>Articles

<?php
 
  require ("php/connection.php");
     
      $sql = 'SELECT id,login,date,titre FROM articles ORDER BY id DESC;
      $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
      $resultat = mysql_num_rows($req);
      while($data = mysql_fetch_array($req))
    {

echo "<table border=\"1\" cellpadding=\"0\">";
echo "----
";
echo ", <form method=\\"post\\" action=\\"lire.php\\" name=\\"lire\\">par: \" .$data['login']. \" le: \" .$data['date']. \" titre: \" .$data['titre']. \"</td>\";
echo \"\";
echo "
";
   
     }
   mysql_close();

?>

      </td></tr>
    </table>
 
</html>

-----------------------------------------------------------------------------------------------------
lire.php
-----------------------------------------------------------------------------------------------------
<html>
   <head>
      <title>articles</title>
       <link rel="stylesheet" href="style.css" type="text/css" media="all" />
    </head>

<table border="0" cellpadding="0" cellspacing="0"><tr><td width="700px" height=100px" background="textures/background.jpg"></td></tr>
    <tr><td valign="top" width="700px" height="700px" background="textures/background2.jpg" style="padding:50px;">

<?php

require ("php/connection.php");

    $afficher=($_POST['lire2']);
    $sql = "SELECT * FROM articles WHERE id='$afficher'";
    $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
    $enr = mysql_fetch_array($req);
    $article = $enr['article'];
      {
echo $article;
       }
mysql_close();
?>

</html>
------------------------------------------------------------------------------------------------------

bon voila :/ si vous avez une idée je suis preneur^^

10 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 mai 2007 à 14:35
Salut

:)
fais reponse acceptee stp

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
29 mai 2007 à 19:22
Salut

si tu regardes le code source, tu t'appercevra que tout tes formulaires ont le meme nom... et ca c'est pas possible

remplace
      while($data = mysql_fetch_array($req))
    {

echo "\";
echo \"----
\";
echo
\"<form method=\"post\" action=\"lire.php\"
name=\"lire\">recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
lespleiades Messages postés 25 Date d'inscription lundi 8 mai 2006 Statut Membre Dernière intervention 6 août 2007
29 mai 2007 à 20:22
en tout cas merci ca m'avance un peu^^
mais le probleme se pose maintenant de comment recuperer ma variable:

name="lire".$data["id"]."

sur ma page de recuperation

$afficher=($_POST['lire2']);

car evidament maintenant elle varie de lire1 a lire2 etc..

*pffff  j ai le cerveau en bouilli*
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
29 mai 2007 à 20:32
Salut
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0

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

Posez votre question
lespleiades Messages postés 25 Date d'inscription lundi 8 mai 2006 Statut Membre Dernière intervention 6 août 2007
29 mai 2007 à 21:08
ok oui en fait je l'avais laissé aussi, mais le probleme c que la variable envoyé du coup n'est plus forcement $lire2 donc dans ma recuperation si c' est l'article qui possede l'id 2 ca va, mais si ont choisi l article n°150 la variable seras alors $lire150 et donc sur la page de recuperation ca marche plus, puisque ma variable sur la recuperation est fixe T.T

est il possible en recuperation de faire un truc du genre

$lire2=($_POST['lire2.$data['id'].']);???

sinon j voit pas trop comment  +_+
0
lespleiades Messages postés 25 Date d'inscription lundi 8 mai 2006 Statut Membre Dernière intervention 6 août 2007
29 mai 2007 à 21:12
p.s j ai mis <
input type="text" name="lire2"... juste pour verifier la variable qui est traitée normalement c'est en "hidden".
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
29 mai 2007 à 23:14
Salut

....

tu n'as qu'a modifier le nom du champ et pas celui du form....
si tu veux voir de plus pres ce que tu fais :
print_r($_POST);

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
lespleiades Messages postés 25 Date d'inscription lundi 8 mai 2006 Statut Membre Dernière intervention 6 août 2007
30 mai 2007 à 12:43
regarde je t'ai mis un exemple ici:

 http://harmonia-guildwars.ifrance.com/liste_articles.php

je pense que tu cerneras mieu le probleme

dans lliste_article.php mes id sont bonnes
c'est dans la transmission que ca merde
j ai essayé toutes tes solution mais rien n 'y fait

en fait je veut tout simplement que lorsque l'ont click sur le liens d un article ca affiche celui-ci.
hors il me réaffiche toujours le meme a savoir l'id:1

je pense que mon raisonement n'est pas bon de A-Z
mais je ne voit pas comment faire autrement.

j ai essayer toute sortes de tableaux associatif comme fetch_assoc,
mais rien n y change.

vraiment la je sais pas.
faudrait je pense que je trouve une autre maniere d'arriver a mes fins, mais je tiens beaucoup a un submit pas un lien.
ca serait beaucoup plus simple avec un boutton, mais ce n'est pas ce que je veut.

en attendant j essaye de trouver une autre solution
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 mai 2007 à 13:28
Salut
je crois avoir suffisement detaille... je ne te ferais pas ton code...
une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
lespleiades Messages postés 25 Date d'inscription lundi 8 mai 2006 Statut Membre Dernière intervention 6 août 2007
30 mai 2007 à 14:32
Rhhhaaaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!! chui un gros nul! T.T

ta methode etait la bonne :_(  j'avais juste oublié de fermer le form T.T
1 journée 1/2 pour un truc aussi bete que ca, *va se pendre* +_+

en tout cas merci beaucoup pour ta patience^^, si ca avait été moi j me serait envoyé chier^^
0
Rejoignez-nous