IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

probleme avec formulaire


Sujet :

HTML

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 59
    Par défaut probleme avec formulaire
    Bonjour j'aimerai savoir si c'est possible de demander a un formulaire html d'executer une requete mysql.Car en fait j'ai un tableau avec des commandes d'un site, mais ce tableau met de plus en plus de temps a charger vu le nombre de commandes.J'aimerai donc utiliser un menu deroulant pour pouvoir afficher ce tableau par tranche.

    Merci de vos reponses

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    En fait, vous pouvez soit reloader la page avec de nouveaux paramètre (et donc une nouvelle requête), soit en utilisant de l'Ajax. C'est-à-dire que l'on contacte le serveur sans reloader la page. Il faut ensuite gérer le résultat en Javascript.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 59
    Par défaut pb avec formulaire
    Je suis debutant et je ne connait pas bien le javascript si tu pouvait un peu developper ta premiere methode. Merci

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    A mon avis les deux méthodes utiliseront le Javascript. Ca dépend de la complexité de la requête.
    Dans votre code actuel, vous avez déjà un select vers la DB, non ? Le but va être de rajouter une clause where à ce select pour n'obtenir que certains tuples. Puis, selon la valeur du menu déroulant, vous allez soumettre à la page avec une valeur différente pour la clause where donc le résultat reçu sera différent du premier.
    Vous utilisez du PhP ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 59
    Par défaut Problème avec formulaire
    oui toutes ma page est en php voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    // Affiche les commandes sous forme de tableaux 
    ?>
    <?php
    function show($all,$sort)
    {
            $db=&$GLOBALS["db"];
            $etat=&$GLOBALS["etat"];
            $query="SELECT k_commande,dt,k_typ_clt,genre,nom,prenom,poids,ss_total,prix_trans,t_commandes.tva,status,etat,t_clt.k_clt,paie_des_c_fr,trans_des_c_fr FROM t_commandes,t_clt WHERE t_commandes.k_clt=t_clt.k_clt";
    //     0           1        2        3      4     5       6       7      8          9      10    11      12    13     14       15 
    // k_commande  datetime  k_typ_clt  genre  nom  prenom  poids ss_total prix_trans  tva  status  etat  k_clt  paie_des_c_fr  trans_des_c_fr
            if(!$all) $query.=" AND etat!='Trait&eacute;e' AND etat!='Annul&eacute;e'";
    ?>
    <form method="post" action="http://localhost/htdocs/admin/com.php?todo=show">
    <label for="nombres">Combien de commandes voulez-vous voir ?</label>
    <select name="nombres">
    <option value=<?php $query.=" ORDER BY dt LIMIT 0,30";?>>0-30</option>
    <option value=<?php $query.=" ORDER BY dt LIMIT 0,60";?>>0-60</option>
    <input type="submit" value="OK" />
    </form>
    <?php
            //$query.=" ORDER BY dt LIMIT 0,30";
            fill_array(&$query,$coms);
            print_return_ex();
            // Calcul les totaux
            for($i=0;$i<count($coms);++$i)
            {
                    $com=&$coms[$i];
                    $com[3]=sprintf("%s %s %s",$com[3],$com[4],$com[5]);
                    $com[4]=$com[7]+$com[8];        // total_ht
                    $com[5]=$com[4]*$com[9];        // total_ttc
            }
            unset($com);
            _sort($coms,$sort,($sort==0 || $sort==1 || $sort==4 || $sort==10)?"DESC":"ASC");
            if(_in_array($etat[0],$coms,11)!==false) { print_com_table($all,$sort,$coms,true); echo "<BR>"; }
            print_com_table($all,$sort,$coms,false);
    }
    ?>
    et moi j'ai un problème au niveau du select

  6. #6
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Hé bien le select SQL se terminerait ainsi:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(!$all) $query.=" AND etat!='Trait&eacute;e' AND etat!='Annul&eacute;e'";
    $query.= " ORDER BY dt LIMIT " . $_POST["nombres"];
    ?>


    Et le select HTML aurait cette tête:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <select name="nombres" onchange="nom_formulaire.action = 'cette_page_ci.php'; nom_formulaire.submit()";>
    <option value="0,30";?>>0-30</option>

    Seulement, au premier passage, $_POST["nombres"] n'aura pas de valeur, donc à vous de gérer ce cas.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 59
    Par défaut pb avec formulaire
    merci je vais essayer ca

  8. #8
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    je pense qu'a terme si le nombre d'enregistrement augmente, il faudra faire une seconde requête permettant de compter le nombre d'enregistrement total et donc de rendre dynamique ta liste <option></option>
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

Discussions similaires

  1. probleme avec formulaire rappelant la page
    Par zorba49 dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2007, 12h10
  2. Problème avec formulaire PHP
    Par silvain dans le forum Langage
    Réponses: 8
    Dernier message: 28/08/2006, 23h58
  3. probleme avec formulaire
    Par rane dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 20
    Dernier message: 26/06/2006, 13h27
  4. Réponses: 4
    Dernier message: 25/04/2006, 11h10
  5. Réponses: 3
    Dernier message: 24/02/2005, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo