Afficher résultat requete

YaUnBeug
Invité n'ayant pas de compte PHPfrance

23 juil. 2010, 16:28

Salut, jai un ptit probleme.
J'ai créé un text area ou l utilisateur peut poser sur une interface web lui meme ses propres requetes.
Ca marche parce que quand je fais un INSERT INTO je vois dans la base via phpmyadmin que l insertion a eu lieu.

Mon probleme est comment je fais pour afficher le réultat de la requete sur l interface web ?
sachant que je ne sais pas si l utilisateur posera un requete sur un ou plusieur champ
Comme la maniere pour afficher les résultat n est pas la meme pour un SELECT Id FROM bidule que pour un SELECT * FROM bidule.

Quelque bout de codes...
// zone de texte pour proposer librement ses propres requete
<FORM ACTION=free_requete2.php METHOD=post>
requete : <P>

<textarea cols=60 rows=6 name=req  </textarea>

//plus loin on recupere le contenu
$requete=$_POST['req'];
//on l exécute 
$result = mysql_query($requete);

MAIS COMMENT L AFFICHE T ON ????   :( :( :( 

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 juil. 2010, 16:36

Tu peux récupérer l'id de la ligne insérée et faire un select dessus.

C'est quoi le but de cette fenêtre, c'est pas un peu dangereux de laisser tout ouvert? Ou si c'est pour de l'administration, pourquoi ne pas utiliser phpMyAdmin par exemple, avec un utilisateur au droit limités à ce que tu veux l'autoriser à faire?

YaUnBeug
Invité n'ayant pas de compte PHPfrance

23 juil. 2010, 16:50

Ben la page est "protégé" par un mot de passe , apres c pas super utile j avoue mais bon jsuis en stage , il parait que c important de le faire..
Je vois pas comment récupérer l Id de la ligne inséré dans ce cas la :p

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 juil. 2010, 17:04

Pour récupérer l'id d'une ligne insérée, il y a un sujet dans la FAQ.

Même en stage, tu peux (et même, tu dois) demander "pourquoi ? quel est le but ?" et éventuellement proposer une solution alternative (comme phpMyAdmin par exemple, qui est fait pour ça)

Là je ne vois pas bien l'intérêt de réinventer un truc qui existe déjà, sur lequel tu vas rencontrer des tas de problème déjà résolus dans un outil existant, ouvrir des failles de sécurité, faire qqchose de moins bon (parceque t'es tout seul et que t'as moins de temps).

Franchement, je t'encourage à leur demander pourquoi ils veulent ça, pour qui, à quoi ça va servir, et pourquoi ils ne veulent pas mettre un phpMyAdmin, en gérant les droits. Parfois celui qui a pris la décision n'a pas vraiment réfléchi, ne connait pas bien ou a juste demandé la possibilité de le faire sans vraiment définir la façon dont ce sera implémenté et sera tout à fait disposé à accepter une suggestion. Après s'il reste sur son idée... tu seras bien obligé de le faire :)

Reviens nous dire ce qu'ils en pensent ;)

YaUnBeug
Invité n'ayant pas de compte PHPfrance

23 juil. 2010, 17:22

jdois etre un boulet mais je vois rien la dessus dans la faq..
bon jen parlerai lundi on verra bien :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 juil. 2010, 17:27


Invité
Invité n'ayant pas de compte PHPfrance

23 juil. 2010, 17:35

moui mais en fait tt ca ca m aidera pas si l utilisateur utlise ce text area pour des requetes de consultation, ca marcherait si a chaque fois c est des requete d insertion
mais comme je pensais utiliser ce text area quelque soit le type de requete ( consultation ou insertion) ben c plus compliqué que ca

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 juil. 2010, 17:45

S tu n'autorises que les INSERT et les SELECT, ben tu peux conditionner tes actions suivant ce mot-clé, et faire une boucle sur les colonnes renvoyées par un SELECT de sorte que quel que soit le nombre de colonne sélectionnées et leur nom, tu pourras les afficher sans problème: foreach() + mysqli_result::fetch_array()

Voilà le genre de galères dont je parlais, tu vas devoir prévoir plein de cas, sécuriser la requête, vérifier la syntaxe etc...