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

Langage PHP Discussion :

Afficher la variable qui a le plus de point dans un tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Par défaut Afficher la variable qui a le plus de point dans un tableau
    Bonjour,

    J'ai fait un formulaire pour assister une personne pour le choix d'un produit.

    J'attribut des point aux produits selon les checkbox cochées.

    Seulement à la fin j'aimerai faire apparaitre uniquement le produit qui a le plus de points et je ne sais pas comment m'y prendre...

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    // Formulaire HTML
    echo '	<p>Cochez les case qui correspondent à votre activité.</p>
     
    		<form action="test.php" method="post">
    				<br/>
    				<input type="checkbox" name="test[]" value="q1" /> Avez-vous des salariés?<br/>
    				<input type="checkbox" name="test[]" value="q2" /> Faites-vous de la facturation?<br/>
    				<input type="checkbox" name="test[]" value="q3" /> Passez-vous des écritures comptable?<br/>
    				<br/>
    				<input class="btn2" name="submit" type="submit" value="Voir le Résultats" />
    		</form>';
     
    // Vérification si un checkbox a bien été saisi	
    if (isset($_POST['test']))
    {
     
    // Premier tableau
    foreach ($_POST as $key=>$value)
    	if ($key == 'test') {
     
    // Deuxième tableau
    		foreach ($value as $newVal) {
     
    	// Définition des points par checkbox
    			switch ($newVal) {
    				case 'q1':
    					$products['b1'] += 5;
    					$products['b2'] += 3;
    					break;
    				case 'q2':
    					$products['b3'] += 5;
    					$products['b1'] += 3;
    					break;
    				case 'q3':
    					$products['b2'] += 5;
    					break;
     
    			}
    		}	
    	}
     
    echo '<br/>
    	  <br/>
    	  <div>Le produits le plus adpatés pour vos besoins</div>
    	  <br/>
    	  <br/>';
     
    // Les résultats
    if ($products['b1'] > 4) { 
    	echo 'b2 est parfait pour vous';
    	}	
     
    if ($products['b2'] > 4) {
    	echo 'b2 est parfait pour vous';
    	}
     
    if ($products['b3'] > 4) {
    	echo 'b2 est parfait pour vous';
    	}
     
    }
    Quelqu'un pourrait m'aider, s'il vous plait !?

    Merci

    Brkahh

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Par défaut
    Bonjour,

    Je ne vois pas ton soucis, je viens de tester, et cela a l'air de fonctionné. Bien sur, dans tes resultat de fin, evite de mettre b2 au 3 echo, sinon, tu auras toujour la même chose.

    Yasen77

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Par défaut
    Oui excuse moi le echo''; est faux...

    Mais le problème c'est que si je coche tout il peut avoir tout les textes qui s'affiche...

    Moi ce que j'aimerais faire c'est faire afficher uniquement celui qui a le plus de points....

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Par défaut
    ok, je comprend mieux ton soucis, mais au niveau de tes product, il y en a deux qui on la même somme, donc tu en auras deux qui vont s'affiché si tu coche tous. C'est normal?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Par défaut
    Enfaite en ce moment le formulaire n'est pas terminé... Il y aura donc plus de case et les points vont également changer...

    Mais c'est sur le principe, j'aimerai faire afficher uniquement le produit qui a le plus de point. S'il y a une égalité on affiche les deux....

    Comment je pourrais faire ceci ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Par défaut
    essaye un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // Les résultats
    if ($products['b1'] > $products['b2'] && $products['b1'] > $products['b3']) { 
    	echo 'b1 est parfait pour vous';
    	}	
     
    if ($products['b2'] > $products['b1'] && $products['b2'] > $products['b3']) {
    	echo 'b2 est parfait pour vous';
    	}
     
    if ($products['b3'] > $products['b1'] && $products['b3'] > $products['b2']) {
    	echo 'b3 est parfait pour vous';
    	}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Afficher l'occurrence qui apparait le plus de fois selon critère
    Par lacouls dans le forum Excel
    Réponses: 2
    Dernier message: 18/04/2015, 21h52
  2. Réponses: 4
    Dernier message: 09/09/2013, 15h24
  3. Réponses: 3
    Dernier message: 19/12/2012, 13h23
  4. affiche le champ qui apparait le plus
    Par junty dans le forum Access
    Réponses: 4
    Dernier message: 15/12/2006, 13h09
  5. Variable qui évolue en fonction des choix dans formulaire
    Par stefou007 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/09/2005, 22h40

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