Passer une cste d'une page php à une autre

Résolu/Fermé
Six - 14 mai 2012 à 09:46
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 - 15 mai 2012 à 09:24
Bonjour à toutes et à tous,

Dans un premier temps, j'espère sincèrement que ma question n'a pas déjà été posée précédemment. J'ai bien vu des sujets ressemblant, mais aucun ne répond parfaitement à ma question, qui est la suivante:
Je travaille actuellement sur un filtre de recherche, avec MySQL. J'ai 4 tables possédant de nombreuses entrées.
J'ai tout d'abord créé un filtre de recherche sur une première page php qui consiste à écrire le "nom" (ou un bout de nom) d'une entrée et/ou la table dans laquelle elle se trouve, et de sortir les résultats correspondants dans un tableau sur une autre page php. Jusque là, aucun souci, il suffit de tout faire passer dans un formulaire post. Maintenant, le problème apparait: chaque entrée possède pleins de champs autre que le nom (style le "type d'entrée", sa "fonction", le fait qu'il soit "câblé" ou non etc...) et j'aimerai les afficher lorsqu'on cliquerai sur le nom de l'entrée que je viens d'afficher dans un tableau.
C'est là que je suis bloqué.
Voici la façon dont j'affiche les entrées dans le tableau:

$rep=mysql_query('SELECT * FROM table LIMIT '.$premiereEntree.',15');

while($donnees= mysql_fetch_array($rep))
{
?>
<!-- Corps du tableau-->
<tr>
<td class="colonne_nom_tableau_libelle"> <?php echo htmlspecialchars($donnees['nom']); ?> </td>
<td class="colonne_type_tableau_libelle"> <?php echo htmlspecialchars($donnees['type']); ?> </td>
<td class="colonne_fonction_tableau_libelle"> <?php echo htmlspecialchars($donnees['fonction']); ?> </td>
<td class="colonne_obs_tableau_libelle"> <?php echo htmlspecialchars($donnees['obs']); ?> </td>
</tr>
<?php
}

Ce qui me plairait serait de pouvoir cliquer sur $donnees['nom'] et de pouvoir afficher toutes les caractéristiques (tous les champs) de l'entrée possédant ce nom, sur une autre page php... Pour ça, il faudrait que j'arrive à faire passer $donnees['nom'] sur la page suivante, mais je ne sais pas comment faire. Le post et le get ne sont pas une bonne idée puisqu'on est sur une boucle, et je ne pense pas qu'on puisse le faire passer par une session ou un coockie... J'ai pensé à mettre un <a href="AutrePagePhp.php"></a> entre <td class="colonne_nom_tableau_libelle"> et </td>, mais je ne sais pas si il est possible de faire passer une variable ou constante par ce biais.

Mon message est plutôt très long, quoiqu'il en soit j'espère au moins avoir été clair; n'hésitez pas à demander des précisions si vous pensez que je dis n'importe quoi, évidemment.

Merci d'avance pour votre aide!
A voir également:

3 réponses

empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
14 mai 2012 à 10:01
Si j'ai bien compris...

Pourquoi ne pas faire passer le nom en paramètre dans l'URL ?

Du genre :

<a href="?table=clients">Clients</a>
<a href="?table=fournisseurs">Fournisseurs</a>

Après sur la 2e page tu chope le GET :

$_GET['table'] et tu sais quelle sélection qui a été faite...
1
The6able Messages postés 3 Date d'inscription lundi 14 mai 2012 Statut Membre Dernière intervention 14 mai 2012
14 mai 2012 à 10:17
Cette idée n'a pas l'air mal du tout!

Je vais tenter ça, et te tenir au courant...

Ps: Ce n'est pas le même pseudo qui répond mais c'est la même personne hein, c'est juste que je me suis créé un compte entre temps.

Merci pour ta rapide réponse ceci dit!
0
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
14 mai 2012 à 10:20
Pas de problème, dès que tu as testé, tiens nous au courant ;)
0
The6able Messages postés 3 Date d'inscription lundi 14 mai 2012 Statut Membre Dernière intervention 14 mai 2012
Modifié par The6able le 14/05/2012 à 14:21
L'idée était bonne, mais je crois qu'il me manque des éléments techniques pour la faire fonctionner: en fait, à l'endroit ou tu as mis " ?table=client ", je souhaiterai mettre une donnée tirée d'une table Mysql, un truc du style " ?table=<?php $donnees['nom'] ?> ". J'ai tâtonné un peu, avec ou sans espaces, avec ou sans point-virgule, rien ne fonctionne vraiment.
Soit il ne me passe rien dans la barre de navigation, soit il m'écrit gentillement "?entree=<?php$donnees['nom'] ?>".
J'espère que ce que je demande est possible.

Voici la partie concernée de mon code, je me suis peut-être planté grossièrement... C'est quand on a la tête dans le guidon qu'on ne voit pas le mur après tout.

$rep=mysql_query('SELECT * FROM bsclibtab LIMIT '.$premiereEntree.',15');
while($donnees= mysql_fetch_array($rep))
{

?>

<!-- Corps du tableau-->
<tr>
<td><a href="detail_entree.php?entree=<?php $donnees['nom']; ?>"><?php echo htmlspecialchars($donnees['nom']); ?> </a></td>
<td> <?php echo htmlspecialchars($donnees['type']); ?> </td>
<td> <?php echo htmlspecialchars($donnees['fonction']); ?> </td>
<td> <?php echo htmlspecialchars($donnees['obs']); ?> </td>
</tr>

}

Merci d'avance!
0
The6able Messages postés 3 Date d'inscription lundi 14 mai 2012 Statut Membre Dernière intervention 14 mai 2012
14 mai 2012 à 15:06
Info de dernière minute: ton idée fonctionne!
Il suffit juste de mettre " ?table=<?php echo $donnees['nom'] ?> "
Merci encore pour ton coup de pouce empty!
0
empty Messages postés 837 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 23 février 2016 176
15 mai 2012 à 09:24
Je n'ai pas su te répondre plus vite, désolé, effectivement il manquait le echo :) et oui je n'avais pas détaillé de manière technique j'avais juste affiché le rendu, donc ce que ça donnera :)

De rien ;)
0