requête paramétrée

mathieu_13
Invité n'ayant pas de compte PHPfrance

13 nov. 2005, 22:46

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.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 nov. 2005, 22:52

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."' ";

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

mathieu_13
Invité n'ayant pas de compte PHPfrance

16 nov. 2005, 22:36

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

Scouby12
Invité n'ayant pas de compte PHPfrance

29 nov. 2005, 20:03

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])