Probleme de recuperation de variable en tableau associatif

Résolu
Signaler
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
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

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007

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*
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007

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  +_+
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007

p.s j ai mis <
input type="text" name="lire2"... juste pour verifier la variable qui est traitée normalement c'est en "hidden".
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007

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
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
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
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007

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^^