Zetomate
Messages postés11Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention 2 août 2006
-
24 juil. 2006 à 10:37
MasterCent
Messages postés83Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention14 décembre 2011
-
25 juil. 2006 à 15:50
Bonjour tous le monde.
C'est mon premier post sur ce forum et voila mon problème.
Dans mon travail, je doit developper un formulaire d'interogation de bdd pour en tirer des stats. Ce formulaire contient 10 champs en listebox et input type="text". Pour les stats je doit donc utiliser ces champs.
Le problème est que je doit pourvoir mettre en place un systeme de selection des ces champs (j'ai penser à des checkbox ) pour que les stats afficher soit celle selectionner (et voir dans l'ordre selectionner mais ca c'est optionnelle).
Deuxième souci c'est que le contenu de certaines liste box sont importer directement des la bdd et que je doit les recupere et ce à choix multiples pour pouvoir effectuer mes requetes.
J'espere que vous pourrez m'eclairer de vos conseils
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 24 juil. 2006 à 11:05
-COUNT du nombre de champs (SQL)
-check box pour chaque champ (selection ou non)
-affichage d un select contenant les valeurs 1,2,.....,COUNT(champs) <= voir 1ere ligne
-affichage du nom du champ après chaque checkbox (pour que l utilisateur sache ce qu'il fait qd mm)
OPTIONEL
-mettre un input text pour une recherche manuelle d'une valeur d'un enregistrement
-seulement apres avoir mis une coche au check box afficher le reste (ordre, input text)
SOLUTION OPTIONNEL
-après un choix dans un select, on affcihe l ordre et l input text et un nouveau select remplis des choix pas encore effectué (voir AJAX)
J'espere avoir répondu a ta question même si je suis pas sur d avoir tout compris
--------------------------------------------------------------------------------------------------
Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
Zetomate
Messages postés11Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention 2 août 2006 24 juil. 2006 à 11:19
D'abord merci ca m'ai un peu et si ta pas tous compris je recommence plus simplement.
Jai une bdd contenant plus de 1600000 enregistrements et je veux pouvoir l'interoger via un formulaire simplifier contenant dix critères, et ceux pour en tirer un tableau de stats en csv.
Le problème est que je voudrait pouvoir ne selectionner que certains critères pour pouvoir effectuer differents stats au lieu de tous avoir.
Le seconde est que certaines de mes lisste box sont dicretement remplis avec une requete sql au lieu de les ecrire à la main.
PS est ce que si mes chexbox sont cochées, la requete ne prendra que celle si. Je pense que je doit quand memes ecrire une boucle en fonction des champs selectionne.
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 24 juil. 2006 à 11:24
Salut!
Sois tu peux faire 10 test manuellement, soit faire un foreach sur $_POST pour étudier ça... :)
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Zetomate
Messages postés11Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention 2 août 2006 25 juil. 2006 à 09:55
Merci pour vos reponses, mais je n'arrive toujours pas a ce que je veut, j'arrive a recupere le contenu de mes champs, mais je n'arrive pas a emmetre une requete en fonction des checkbox selectionné.
Je ne connais pas la syntaxe pour faire un select avec des variables comme critères de recherche mais aussi dans le where.
Voici mon code php
<?php
$dbc=mysql_connect('localhost','root',''); //connexion mysql
mysql_select_db('essais'); //selection de la base
MasterCent
Messages postés83Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention14 décembre 20111 25 juil. 2006 à 12:17
Salut,
Peut-être serait-il bon de diviser le problème.
Es tu capable de faire une requete SQL, en dur, sans variable. ( directement dans MYsql, et/ou depuis une page PHP)
Par exemple Select * from matable Where annee = '2005'
- connais tu les AND, les OR, LIKE ...
Es tu capable de récupérer des informations d'un formulaire.
Un champ dans lequel on peut introduire une année. ( y a t-il réponse, est-ce un nombre, addslashes, ...)
Si oui, alors, il suffit de construire le SQL comme un string.
$critere = 'annee' ;
$value = 2005 ;
$sql = "Select * from matable Where 1=1 "; // permet de coller des AND, OR ,...$sql ." and $critere '$value'" ;
Zetomate
Messages postés11Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention 2 août 2006 25 juil. 2006 à 13:35
Salut,
Pour les requetes en dur pas de problèmes j'arrive à les afficher et meme des requetes dans lesquelles il u a une variables a recupere (d'un formulaire par exe) ne me pose pas de problèmes.
Par contre comme tu le dis j'ai du mal avec la concatenantion de variables, il me semblais possible de pouvoir le faire avec ujne seul requete mais je vais devoir me pencher sur la question de la concatenation des variables mais en tous les cas si tu as des idees pour faire avancer mon problemes je suis preneur.
<?
//- recuperation d'une "variable"
if ( isset ( $_POST['UnNom'] ) )
{ $monCritere = 'UnNom' ;
$maVariable = $_POST['UnNom'] ; // Attention à la sécurité ! addslashes()
} else $monCritere = false ; // ceci pour indiquer que ce critère n'est pas à prendre en compte !
// ...
//- construction du sql ( sur base de la réponse précédente)
if ( $monCritere ) // cad !== false
$sql ." AND $monCritere '$maVariable' " ;
?>
- pense à créer un tableau pour tous les critères,
afin d'être dynamique à la construction du formulaire, ainsi qu'à la récupération des $_POST, grâce aux boucles de programmation