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

PHP & Base de données Discussion :

[Conception] Optimisation des traitements de variable


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut [Conception] Optimisation des traitements de variable
    Bonjour ,
    voila je rencontre un probleme pour la construction de ma requette
    j'ai un formulaire qui contient beaucoup de checkbox et toutes mes variables on pour valeurs 1 ou 0 :

    une fois le formulaire posté a la page qui va traité les infos et envoyer la requette , ni a t-il pas un moyen de mettre toutes ces variables dans un tableau ,

    pour pouvoir apres avec la requette dire affiche moi toutes les lignes de la table xxx qui contiennent tous noms de champs (du tableau traiter) = 1

    un petit shéma pour etre bien compris:moi je veux que ma requette ne traite que les valeurs $a et $d et je veux rapatrié toutes les lignes qui ont pour valeur
    $a et $d =1 etc.....; en fait je veux pas traiter les 0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $a=$_POST['a'];  valeur 1
    $b=$_POST['b'];  valeur 0
    $c=$_POST['c']   valeur 0
    $d=$_POST['d'];  valeur 1

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Je ne sais pas si c'est ce que tu veux mais tu pourrais faire un traitement similaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $tab = array();
    for($i = 0; $i < count($_POST['nomcheckbox']); $i++)
    {
      if($_POST['nomcheckbox'] == 1)
          $tab[] = $_POST['nomcheckbox'][$i];
    }
    Ce qui aura pour but de stocker dans un tableau toutes tes valeurs à 1

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut
    Ok kerod , Bon Bon si je comprend bien sa veux dire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $tab = array();     $tab c'est un tableau OK
    
    for($i = 0; $i < count($_POST['nom checkbox']); $i++)   
    
    $i=0 Ok /////  $i < count($_POST['nom checkbox']) $i< au nombre de valeur posté  c sa ?  /////$i++  incrémente de 1 ok
    {
      if($_POST['nomcheckbox'] == 1) / si va leur de nomcheckbox ==1 OK
    
          $tab[] = $_POST['nomcheckbox'][$i]; / met nomcheckbox dans le $tab  c'est sa ? 
    }

    apres comment je fait ma requette comme sa
    select xxx where $tab=1 ?????????

  4. #4
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Il faut donner le nom de la table aussi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ FROM table WHERE nom_champ1= valeur1 AND nom_champ2=valeur2...
    Mais là t'es pas dans la bonne optique, qu'est-ce que tu veux faire plus précisément ? Tu veux récupérer que certains champs suivant les cases cochées ? Ou suivant une certaine condition ? Si oui laquelle parce que c'est pas du tout clair ton truc.

    Et cf signature pour l'orthographe merci.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Par défaut
    oui c'est sa

    j'ai un formulaire de recherche d'annonce automobile
    et certains paramettres de recherches sont sous forme de checkbox
    cherche une peugeot avec check1(clim ) check2(lamp xenon ) etc....

    donc c'est deux chek sont coché alors je veux que tout les annonces qui sont des peugeots qui on la clim et lampes xenon sortent ,meme si certaine peugeot on d'autre options qui non pas ete demander par le formulaire , l'important c'est que je puisse affiché les annonces qui on au moins les valeurs reclamer ( clim et lampe )

    c'est pour sa que je cherche a faire une requette qui ne prend en compte uniquement les elements demander

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Ca dépend comment tu stockes les options dans ta table, montre nous sa structure et ça sera bon.

    (bis) Et lis ma signature pour l'orthographe car tu ne l'as pas fait

    merci

Discussions similaires

  1. [PHP 5.4] Optimisation des traitements (SQL)
    Par qltmi dans le forum Langage
    Réponses: 1
    Dernier message: 06/04/2013, 11h59
  2. [C++/VB.Net]Optimiser des traitements lourds
    Par NiamorH dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/05/2006, 10h03

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