Passer une cste d'une page php à une autre
Résolu
Six
-
empty Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
empty Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
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!
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:
- Passer une cste d'une page php à une autre
- Supprimer une page word - Guide
- Imprimer tableau excel sur une page - Guide
- Créer une page facebook - Guide
- Comment traduire une page - Guide
- Passer de qwerty a azerty - Guide
3 réponses
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...
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...
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!
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!
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!
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!