Bonjour tout le monde.

Dans le cadre d'un module de statistiques, je cherche à implémenter une façon d'avoir accès au détail d'un calcul, ou d'une stat. Plus précisément, l'idée est d'afficher différentes informations sous forme de tableaux, où le résultat apparait dans sa globalité, à l'aide d'un COUNT en SQL, et d'avoir un bouton à côté du dit calcul (une loupe par exemple) afin d'obtenir le détail de la somme.

En clair, j'ai sur ma page différentes requêtes qui s'exécutent et affichent des pourcentages et des chiffres par exemple, qui correspondent à une section bien précise, et lorsque je clique sur la loupe à côté du résultat, le navigateur m'ouvrirait une fenêtre dans laquelle serait exécutée une requête qui rapporterait les informations sélectionnées pour le calcul.

Le problème, c'est que je n'ai pas d'idée pour réaliser ça, ou plutôt pas de solution. Mes connaissances en JS étant inexistantes (sinon j'aurais volontiers réalisé avec ce langage une solution plus user-friendly), je suis contraint de le faire en PHP, et comme y'aura tout plein de requêtes à exécuter, je trouve lourd de faire une page par requête, d'autant plus qu'on pourra repasser pour la flexibilité.

Je cherche donc un moyen de passer le texte de la requête à une page spéciale qui serait chargée de l'exécuter. Mais là encore, deux problèmes se posent : les requêtes étant stockées dans un fichier PHP, comment transmettre le texte sans qu'il ne puisse être intercepté dans l'URL? (je précise que n'importe qui ne doit pas avoir accès à toutes les fonctions disponibles). D'autre part, si une seule page suffit pour traiter toutes les requêtes, comment identifier le nombre d'arguments pour faire un tableau convenable?

Je vous remercie d'avance pour l'aide que vous pourriez m'apporter, tant au niveau des idées que du code.
Finalement, j'ai opté pour un tableau associatif qui aurait pour nom $array{$nom_fonction}, et qui contiendrait les requêtes correspondantes sous forme d'une association, puis de transmettre à la page chargée de traiter la requête le nom de la fonction, et le nom du traitement à exécuter :


// tableau associatif
$arrayTest = array('mail' => 'SELECT nom, prenom, mail FROM utilisateurs');

// requete à exécuter
$req = $array{$nom_fonction[$nom_requete]};


Seulement j'ai encore deux problèmes :
- pour transmettre les variables, je n'ai trouvé que l'url avec pour inconvénient une faille potentielle, bien qu'il y ait une vérification (en plus cette manière de faire avec les register_globals semble dépréciée pour cette raison);
- ça ne marche pas en l'état. Autrement dit, un "echo $req;" ne donne rien.

Voilà, je sollicite une fois de plus vos conseils.
Modifié par Klaq (30 Jul 2010 - 17:00)
Bonjour Christele et merci de ta réponse.

Malheureusement, l'idée c'est qu'il y a plusieurs liens sur la même page, et que je ne vois pas comment passer la valeur voulue. On clique sur un lien, généré automatiquement en récupérant la liste des modules, et les paramètres correspondants sont envoyés automatiquement à la page chargée de traite la requête spécifique.

Cependant, je ne vois toujours pas comment implémenter avec un FORM (oui c'est bien la rubrique débutant), et j'aimerais volontiers un exemple, ou un simple lien qui me permette de réaliser ça.
Bonjour,
Ce matin,j 'avais le temps de regarder cela de plus pret, en fait il serait facile lors de la création d' un calcul, de l'enregistrer dans ta base MySql
en utilisant une zone "mise en page" type "text" donc incluant la présentation.
retour chariot tabulation etc ...

Il serait alors enfantin sur un clic sur ta loupe d'ouvrir une popup
avec une simple requéte sur ta base et affichage de ce détail.

La deuxiéme solution est bien entendu dynamique, l'apparition dans la page elle même de cette zone "détail" optenue par AJAX.

A toi de voir Smiley cligne