Page 1 sur 1

requête paramétrée

Posté : 13 nov. 2005, 22:46
par mathieu_13
bonjour à tous!

je viens à vous pour une petite question de requête!
j'utilise une première page PHP dans laquelle j'utilise une première requête, chaque lignes de cette requête renvoi un lien!
Ensuite lorsque je clique sur ce lien j'utilise une deusième requête que je paramètre en dur! Je sollicite donc votre aide afin de savoir comment paramétré une requête en fonction du lien sur lequel je viens de cliquer.

merci par avance de votre aide.

Posté : 13 nov. 2005, 22:52
par Truc
SAlut tout dépend ce que tu veut mettre en variable:
$variable="element";

$sql="SELECT ".$variable." FROM table WHERE champ='vide'";
//ou
$sql="SELECT truc FROM ".$variable." WHERE champ='vide'";
//ou 
$sql="SELECT truc FROM table WHERE ".$variable."='vide'";
//ou 
$sql="SELECT truc FROM table WHERE champ='".$variable."' ";

merci mais....

Posté : 16 nov. 2005, 22:36
par mathieu_13
slt je te remercis de ta réponse
mais un problème persiste
comment est-ce que je dois fair pour récupérer la valeur d'un lien qui est sur une aute page?
je t'explique : une page question.php reçois une requête qui renvois des questions sous forme de liens
une deusième page réponse.php reçois une requête paramétré, c'est à dire la réponse à la question sur laquelle je viens de cliquer!!
j'ais donc essayé de créer un "onclick" qui m'affiche l'ID de la question dans un messagebox, or je n'arrive pas à récupérer cette valeur dans ma deusième page Réponse.php !!
voilà j'espère être assez clair, et j'espère que quelqu'un pourra me répondre

en attendant bonne fin de soirée
@++
merci d'avance

Aide pour le passage de paramètre ...

Posté : 29 nov. 2005, 20:03
par Scouby12
As-tu essayé d'utiliser des variables de sessions ?

Voici un exemple de fonctionnement.


Au début de ta page php :

<?php
//------------------------------------
// Nom de ce fichier = page1.php
//------------------------------------
session_start();
?>

... ton code ...

(Exemple simplifié si tu utilises un form)

<form id="NomDeMonForm" name="NomDeMonForm" method="post" action="DeuxiemePageQuiTraiteLesVariablesDeLaPagePrecedente.php">

<input type="text" name="Var_Nom_DeCeForm" size="80" maxlength="70" />

<input type="submit" name="Submit" value="Envoyer" />

</form>



(Ta deuxième page)
(pour l'exemple, elle affichera l'introduction du nom donnée dans la page précédente)

<?php
//------------------------------------
// Nom de ce fichier = DeuxiemePageQuiTraiteLesVariablesDeLaPagePrecedente.php
//------------------------------------
session_start();
$_SESSION["DonneeFormulaire"]["NomEntroduit"] = $Var_Nom_DeCeForm ;

echo $_SESSION["DonneeFormulaire"]["NomEntroduit"] ;


?>


Explications :

1) session_start(); = prévient php qu'il devra retenir des valeurs DE LA page précédente, ce qui signifie que si tu veux réutiliser ces valeurs dans d'autres pages, tu dois commencer ces pages avec cette instructions.

2) $_SESSION["DonneeFormulaire"]["NomEntroduit"] = déclaration de la variable de session, tu donnes le nom que tu veux, ici, j'en ai donné 2 pour que ce soit plus clair au cas où tu travaillerais avec des dizaines de pages et des dizaines de formulaire.
J'aurai très bien pu avoir (si j'avais d'autres variables dans le même form)
$_SESSION["DonneeFormulaire"]["NomEntroduit"] = $Var_Nom_DeCeForm ;
$_SESSION["DonneeFormulaire"]["PrenomEntroduit"] = $Var_Prenom_DeCeForm ;
$_SESSION["DonneeFormulaire"]["AgeEntroduit"] = $Var_Age_DeCeForm ;

..., etc, ...

3) Si tu veux être encore plus sûre des valeurs passées en paramètre par le form, et non des valeurs passées dans l'url (avec les paramètres) tu peux utiliser ce type-ci :

$_SESSION["DonneeFormulaire"]["NomEntroduit"] = $_POST["Var_Nom_DeCeForm"] ;

A ce moment, SEULE l'introduction du form est tenu en compte.

4) Si tu as par exemple, 5 pages de suite qui doivent utiliser une valeur de la 1ère page, il n'est pas nécessaire de redéclarer tes variables de sessions à chaque fois, du moment que tu commence comme expliquer au point 1, tes valeurs voyageront sans problèmes de page en page.




Ici, j'ai utilisé un form car j'ai plus facile pour t'expliquer le fonctionnement des sessions par écrit, plutôt que de commencer à créer une db, etc, mais c'est pareil avec des variables d'une requête, même principe.



Je suis tombé par hasard sur la page de ton post en effectuant une recherche avec google, je ne suis pas sûr de savoir revenir sur cette page pour voir si j'ai pu t'aider, mais en tout cas, je l'espère.

Bonne continuation,

Scouby.
([email protected])