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 :

Requete pour Combobox [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut Requete pour Combobox
    Salut,
    Apres de longues recherches dans les tutoriaux et les exemples sur le net, j'arrive pas a un résultat clair qui résout mon problème. Je désire faire une liste défilante (Combobox) qui va contenir des informations dans ma base de donnée (les variables seront de la forme ($donnees['id'])) et après, chaque variable va exécuter une certaine tache en la choisissant dans la liste. je veux juste savoir comment créer cette liste et comment appliquer une tache a chaque variable ajoutée.
    merci d'avance ^^'

  2. #2
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    Bonjour,

    A tu fais quelque chose qui ne marche pas à nous montrer.

  3. #3
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Salut,
    J'ai rien posté parceque j'ai honte de ce que j'ai fait qui ne vaut presque rien
    voila ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Liste des BSC
    <select name="5" id="5">
      <option>Gjakovë</option>
      <option>Pejë</option>
      <option>Prizren</option>
    </select>
    J'ai juste construit la forme d'un Combobox avec des variables insérée directement pas extraites de la base de donnée et je peux pas affecter des taches a chaque option..
    merci pour la reponse

  4. #4
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    Bonjour,

    Pour l'instant je suis un peu occupé, en attendant regarde ce source il te sera utile.


    http://php.developpez.com/sources/?p...rms#gestlistes

  5. #5
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Merci pour le lien je l'ai déjà consulté ^^'
    Il m'a aidé et j'ai compilé ce code a partir:
    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
     
    <?php
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("tuniproject"); 
    $sql = "SELECT * FROM qyteti" ;
    $result = mysql_query ( $sql ) ;
    $region = array() ;
    while ( $row = mysql_fetch_assoc ( $result ) )
    {
    $region[] = $row['name'] ;
    }
    function listbox ( $name , $array_value = array() , $array_selected , $multiple = 0 , $size = 1 )
        {
            $select = '<select' . ( ( $multiple == 1 ) ? ' multiple name="' . $name . '[]"' : ' name="' . $name . '"' ) . 
    ' size="' . $size . '">' . "n" ;
     
                foreach ( $array_value as $key => $value )
                {
                    $select .= '<option value="' . $key . '"' .
                    ( ( $multiple == 1 ) ? ( in_array ( $key , $array_selected ) ? ' selected="selected"' : '' ) : 
    ( $key == $array_selected ? ' selected="selected"' : '' ) ) .
                    '>' . $value . '</option>' . "n" ;
                }
     
            $select .= '</select>' ;
     
            return $select ;
        }
    echo listbox ( 'region' , $region , ( isset ( $_POST['region'] ) ? $_POST['region'] : 4 ) ) ;
    ?>
    C'est un combobox qui extrait sa liste de la base de donnée je l'ai compilé et il marche parfaitement. Le problème qui se pose maintenant c'est que je veux affecter suite a la sélection de cette liste une instruction. Cette instruction consiste a faire un histogramme dont j'ai le code tout prêt. J'ai juste a modifier mes variables a chaque fois qui ne pose pas de problème. Et enfin me voila ne connaissant même pas la commande qui va exécuter cette instruction suite a la sélection de la liste.
    voila le code de l'histogramme :
    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
     
    <?php
     
    $values=array('Vingt' => 20, 'Cinquante' => 50, 'Trente'=>30, 'bla'=>80);
    $colors=array('blue','purple');
    histogram($values,1,true,200,12,10,6,300,$colors);
     
     
    function histogram($values,$order, $showValue, $maxLength, $barHeight, $spacing, $gap, $tableWidth , $colors) {
     
    	$a=$values;
    	rsort($a);
    	$maxValue=$a[0]; 
     
     
    	($order==0 ? "" : ($order==1 ? asort($values) : arsort($values)));
     
     
    	$captions=array_keys($values);
    	$values=array_values($values);
     
     
    	$ratio=$values;
    	for ($i=0;$i<count($ratio);$i++) {
    		$ratio[$i]/=$maxValue;
    	}
     
    	$numberValues=count($values);
     
     
    	$defaultColors=array('purple','green','gold','gray','blue');
     
    	if (empty($colors)) {
    		($colors=$defaultColors);
    	}
     
     
    	while (count($colors)<$numberValues) {
    		$colors = array_merge($colors,$colors);
    	}
     
     
    	echo "<table width=$tableWidth cellpadding=0 cellspacing=0 border=0 align='left' class='bodystyle'><tbody>";
     
    	for ($i=0;$i<$numberValues;$i++){
    		echo "<tr height=".($barHeight+$spacing)." valign='middle'>";
    		echo "<td width=".($tableWidth/5-$gap)." align='right'>".$captions[$i]."</td>";
    		echo "<td width=$gap align='right'><IMG src='./Images/bar.png' height=100% width=1px></td>";
    		echo "<td width=".(4*$tableWidth/5).">";
     
    		for ($j=0; $j<($maxLength*$ratio[$i]); $j++) {
    			echo "<IMG src='./Images/".$colors[$i].".png' height=$barHeight width=1>";	
    		}
     
    		echo ($showValue ? "  (<I>".$values[$i]."</I>)" : "");
     
    		echo "</td></tr>";
    	}
     
    	echo "</tbody></table>";
    }
    ?>
    Merci pour la réponse ^^'

  6. #6
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    regarde dans cette discussion tu verras comment déclencher l'action en Javascript.

  7. #7
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Salut,
    J'ai pas bien compris ce que contient la discussion et je pense aussi que mon cas est un peu différent. J'arrive enfin a afficher ma combobox et faire la fonction entiere qui s'execute normalement mais je fais pas encore le lien entre le Combobox et ma fonction, en effet je desire lors du choix dans la liste ma fonction intervient avec des valeurs que je dois choisir selon la selection de la liste.
    voila mon code du combobox final :
    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
     
    <?php
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("tuniproject"); 
    $reponse = mysql_query("SELECT * FROM updated_inputs");
     
    	$o=0;
    	$tableau = array(); 
            while($donnees = mysql_fetch_array($reponse)) 
            { 
                $tableau[] = substr($donnees['BEARER_NAME'],0,8); 
    			$o++;
            } 
    		$m=0;
    		for ($nombr = 1; $nombr <= $o; $nombr++)
    		{
    		while ($tableau[$nombr]=$tableau[$m] and $nombr != $m)
    		{
    		for ($nombr2 = $m; $nombr2 <= $o-$m-2; $nombr2++)
    		{
    		$tableau[$nombr2]=$tableau[$nombr2+1];
    		}
    		$m++;
    		}
    		}
    		$h=0;
    		while ($tableau[$h]!=$tableau[$h+1])
    		{
    		$h++;
    		}
    		for ($nombr3 = $h+1; $nombr3 <= $o; $nombr3++)
    		{
    		unset($tableau[$nombr3]);
    		}
     
    function listbox ( $name , $array_value = array() , $array_selected , $multiple = 0 , $size = 1 )
        {
            $select = '<select' . ( ( $multiple == 1 ) ? ' multiple name="' . $name . '[]"' : ' name="' . $name . '"' ) . 
    ' size="' . $size . '">' . "n" ;
     
                foreach ( $array_value as $key => $value )
                {
                    $select .= '<option value="' . $key . '"' .
                    ( ( $multiple == 1 ) ? ( in_array ( $key , $array_selected ) ? ' selected="selected"' : '' ) : 
    ( $key == $array_selected ? ' selected="selected"' : '' ) ) .
                    '>' . $value . '</option>' . "n" ;
                }
     
            $select .= '</select>' ;
     
            return $select ;
        }
    echo listbox ( 'region' , $tableau , ( isset ( $_POST['region'] ) ? $_POST['region'] : 4 ) ) ;
    ?>
    et l'entete de ma fonction est comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function histogram($values,$order, $showValue, $maxLength, $barHeight, $spacing, $gap, $tableWidth , $colors)
    merci.

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Pour appeler une fonction à partir du choix d'un select, tu appelles la fonction dans son onchange qui doit être une fonction Javascript. Dans ton cas, tu veux appeler une fonction PHP, ainsi tu dois envoyer le formulaire au serveur ou utiliser une fonction ajax qui se chargera l'échange client-serveur.

  9. #9
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Ôo
    Bon je dois dire que je suis debutant en php et meme des trucs qui vous semblent evidents ne le sont pas pour moi Par la suite j'avoue que j'ai rien compris de ton poste
    Merci quand meme pour votre reponse.

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Une fois que la page est chargée, tu ne peux pas appeler la fonction histogram qui est sur le serveur si tu ne faits pas un submit pour envoyer la valeur du select au serveur parce que l'évènement sur ton select (coté client) n'est pas connue par le serveur.
    Un exemple :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <select onchange="this.form.submit()" name="sonNom">
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['sonNom']))
    {
      histogram($values,1,true,200,12,10,6,300,$colors);
    }

  11. #11
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Salut,
    J'ai ajouté le code que tu m'as ecris et j'ai voulu juste pour le moment le tester en affichant le texte selectionnée dans la liste, c'est a dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo listbox ( 'BSC' , $tableau , ( isset ( $_POST['BSC'] ) ? $_POST['BSC'] : 4 ) ) ;
     
    if(isset($_POST['sonNom']))
    {
      echo ($_POST['sonNom']);
    }
    pour moi c'est pas une forme qui affiche le combobox c'est une fonction et je pense que c'est pas la même procédure. Il faut dire que si ce code marche et il m'affiche le texte je peux par la suite faire ce que je désire dedans
    La fonction qui affiche le combobox a partir d"un tableau je l'ai copié collé du tutoriel du site et je peux rien faire dedans. J'ai meme voulu ajouter une valeur par defaut qui s'affiche initialement nommée 'select' qui n'execute rien mais j'arrive pas .
    merci pour la réponse ^^'

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    Tu peux nous donner ton vrai code pour pouvoir t'aider un peu plus.
    Sinon tu faits:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <select name="sonNom" onchange="if(this.selectedIndex!=0) this.form.submit()">
    <option>SELECT</option>
    .......

  13. #13
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Bon voila le code tout entier:
    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
    <?php
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("tuniproject"); 
    $reponse = mysql_query("SELECT * FROM updated_inputs");
     
    	$o=0;
    	$tableau = array(); 
            while($donnees = mysql_fetch_array($reponse)) 
            { 
                $tableau[] = substr($donnees['BEARER_NAME'],0,8); 
    			$o++;
            } 
    		$m=0;
    		for ($nombr = 1; $nombr <= $o; $nombr++)
    		{
    		while ($tableau[$nombr]=$tableau[$m] and $nombr != $m)
    		{
    		for ($nombr2 = $m; $nombr2 <= $o-$m-2; $nombr2++)
    		{
    		$tableau[$nombr2]=$tableau[$nombr2+1];
    		}
    		$m++;
    		}
    		}
    		$h=0;
    		while ($tableau[$h]!=$tableau[$h+1])
    		{
    		$h++;
    		}
    		for ($nombr3 = $h+1; $nombr3 <= $o; $nombr3++)
    		{
    		unset($tableau[$nombr3]);
    		}
     
    function listbox ( $name , $array_value = array() , $array_selected , $multiple = 0 , $size = 1 )
        {
            $select = '<select' . ( ( $multiple == 1 ) ? ' multiple name="' . $name . '[]"' : ' name="' . $name . '"' ) . 
    ' size="' . $size . '">' . "n" ;
     
                foreach ( $array_value as $key => $value )
                {
                    $select .= '<option value="' . $key . '"' .
                    ( ( $multiple == 1 ) ? ( in_array ( $key , $array_selected ) ? ' selected="selected"' : '' ) : 
    ( $key == $array_selected ? ' selected="selected"' : '' ) ) .
                    '>' . $value . '</option>' . "n" ;
                }
     
            $select .= '</select>' ;
     
            return $select ;
        }
    echo listbox ( 'BSC' , $tableau , ( isset ( $_POST['BSC'] ) ? $_POST['BSC'] : 4 ) ) ;
     
    if(isset($_POST['sonNom']))
    {
      echo ($_POST['sonNom']);
    }
    ?>
    Je procède au début pour construire mon tableau a partir de la base de donnée et le combobox débute a partir de la fonction le combobox s'affiche comme je désire mais reste le problème de l'affectation.
    merci pour la réponse ^^'

  14. #14
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Je n'ai pas le temps de décortiquer ton code mais le principe c'est que tu mets la valeur de l'option sélectionnée par défaut dans un input hidden puis tu le testes avant le submit.
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="sonNom" onchange="if(this.options[this.selectedIndex].value!=document.getElementById('cache').value) this.form.submit()">
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<input type="hidden" value="'.$lavaleur.'" id="cache"/>'

  15. #15
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Il faut dire que c'est pas du tout mon code ><
    C'est un code copié du tutoriel de ce site qui affiche une combobox d'un tableau donnée comme je l'ai dis deja. Les premières instruction sont a negliger juste des condition pour remplir mon tableau mais le reste que j'ai copié je l'ai pas compris du tout et je peux rien faire dedans Et le pire que ça marche parfaitement xD
    Je fouille presque la plupart des turoriels sur le net et on dit que la valeur choise par l'utilisateur dans le combobox se met automatiquement dans une variable nommée $_post['nom']. c'est pour ca j'ai fait ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['sonNom']))
    {
      echo ($_POST['sonNom']);
    }
    Merci quand même pour l'aide mais rien ne marche chez moi pour l'instant.

  16. #16
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    On tourne en rond là.
    Tu peux préciser ton problème?

  17. #17
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Ok je reprend du debut,
    Je veux creer un combobox avec des valeurs extraites d'un tableau. Supposant qu'on a un tableau tout prés et voila le code que j'ai copié qui permet de faire ce combobox :
    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
    function listbox ( $name , $array_value = array() , $array_selected , $multiple = 0 , $size = 1 )
        {
            $select = '<select' . ( ( $multiple == 1 ) ? ' multiple name="' . $name . '[]"' : ' name="' . $name . '"' ) . 
    ' size="' . $size . '">' . "n" ;
     
                foreach ( $array_value as $key => $value )
                {
                    $select .= '<option value="' . $key . '"' .
                    ( ( $multiple == 1 ) ? ( in_array ( $key , $array_selected ) ? ' selected="selected"' : '' ) : 
    ( $key == $array_selected ? ' selected="selected"' : '' ) ) .
                    '>' . $value . '</option>' . "n" ;
                }
     
            $select .= '</select>' ;
     
            return $select ;
        }
    echo listbox ( 'region' , $region , ( isset ( $_POST['region'] ) ? $_POST['region'] : 4 ) ) ;
    C'est une fonction que j'ai copié de ce site meme :
    http://php.developpez.com/sources/?p...rms#gestlistes
    Maintenant je veux affecter une tache pour chaque valeur selectionnée dans la liste, peu importe la façon que ce soit juste en cliquant ou en cliquant sur un bouton a coté. J'ai essayé ce code puisque dans tout les tutoriels sur le net on dit que la valeur de la variable selectionnée dans la liste sera enregistrée automatiquement dans une variable nommée $_post['nom']
    voila ce que j'ai ecris tout juste aprés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['sonNom']))
    {
      echo ($_POST['sonNom']);
    }
    Je voulais juste essayer l'affectation marche ou non en ecrivant la valeur meme choisie juste aprés le choix dans la liste.
    J'espere etre assez clair ^^'

  18. #18
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    La réponse est déjà dite :
    http://www.developpez.net/forums/d77...x/#post4463494
    Tu n'as qu'à mettre en paramètre la valeur postée,
    ou bien tu utilises switch si tu veux appeler une fonction selon la valeur postée.

  19. #19
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Bonjour,

    Allez, je mets mon grain de sel.

    Si j'ai bien compris (mais je n'en suis pas certain),
    j'ai envie de proposer ceci à Palsajicoco :

    Un fichier fonctions.php :
    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
    63
    64
    65
    66
    67
    68
    <?php
    function histogram($values,$order, $showValue, $maxLength, $barHeight, $spacing, $gap, $tableWidth , $colors) {
     
    	$a=$values;
    	rsort($a);
    	$maxValue=$a[0]; 
     
    	($order==0 ? "" : ($order==1 ? asort($values) : arsort($values)));
     
    	$captions=array_keys($values);
    	$values=array_values($values);
     
    	$ratio=$values;
    	for ($i=0;$i<count($ratio);$i++) {
    		$ratio[$i]/=$maxValue;
    	}
     
    	$numberValues=count($values);
     
    	$defaultColors=array('purple','green','gold','gray','blue');
     
    	if (empty($colors)) {
    		($colors=$defaultColors);
    	}
     
     
    	while (count($colors)<$numberValues) {
    		$colors = array_merge($colors,$colors);
    	}
     
     
    	echo "<table width=$tableWidth cellpadding=0 cellspacing=0 border=0 align='left' class='bodystyle'><tbody>";
     
    	for ($i=0;$i<$numberValues;$i++){
    		echo "<tr height=".($barHeight+$spacing)." valign='middle'>";
    		echo "<td width=".($tableWidth/5-$gap)." align='right'>".$captions[$i]."</td>";
    		echo "<td width=$gap align='right'><IMG src='./Images/bar.png' height=100% width=1px></td>";
    		echo "<td width=".(4*$tableWidth/5).">";
     
    		for ($j=0; $j<($maxLength*$ratio[$i]); $j++) {
    			echo "<IMG src='./Images/".$colors[$i].".png' height=$barHeight width=1>";	
    		}
     
    		echo ($showValue ? "  (<I>".$values[$i]."</I>)" : "");
     
    		echo "</td></tr>";
    	}
     
    	echo "</tbody></table>";
    }
     
    function listbox ( $name , $array_value = array() , $array_selected , $multiple = 0 , $size = 1 )
        {
            $select = '<select' . ( ( $multiple == 1 ) ? ' multiple name="' . $name . '[]"' : ' name="' . $name . '"' ) . 
    ' size="' . $size . '">' . "n" ;
     
                foreach ( $array_value as $key => $value )
                {
                    $select .= '<option value="' . $key . '"' .
                    ( ( $multiple == 1 ) ? ( in_array ( $key , $array_selected ) ? ' selected="selected"' : '' ) : 
    ( $key == $array_selected ? ' selected="selected"' : '' ) ) .
                    '>' . $value . '</option>' . "n" ;
                }
     
            $select .= '</select>' ;
     
            return $select ;
        }
    et un fichier traitements.php
    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
    <?php
    include "fonctions.php";
     
    // ---> LECTURE DES DONNEES
    // ATTENTION : C'est juste pour tester.
    // En vrai, ces données sont lues dans la BDD et
    // tu ne récupères certainement pas les données de toutes les régions.
     
    // La liste des régions
    $regions = array("Auvergne","Rhône-Alpes","Bretagne","Centre","PACA","Languedoc",);
    // Pour chaque région des infos
    $regions_data = array(
    	array('Vin' => 20, 'Blé' => 50, 'Orge'=>30, 'Maïs'=>80),
    	array('Vin' => 25, 'Blé' => 55, 'Orge'=>35, 'Maïs'=>85),
    	array('Vin' => 30, 'Blé' => 60, 'Orge'=>40, 'Maïs'=>90),
    	array('Vin' => 35, 'Blé' => 65, 'Orge'=>45, 'Maïs'=>95),
    	array('Vin' => 40, 'Blé' => 70, 'Orge'=>50, 'Maïs'=>100)
    );
     
    // ---> AFFICHAGES DES DONNEES
    // Si une région a été sélectionnée 
    if(isset($_POST['region']))
    {
    	$colors=array('blue','purple');
    	// Affichage de l'histogramme avec les données de la région choisie
    	histogram($regions_data[$_POST['region']],1,true,200,12,10,6,300,$colors);
    }
     
    // FORMULAIRE contenant le select et 
    // qui rappelle le script avec la methode post lors d'un clique sur le bouton  "valider"
    ?>
    <form action='' method='post'>
    <?php
    echo listbox ( 'region' , $regions , ( isset ( $_POST['region'] ) ? $_POST['region'] : 4 ) ) ;
    ?> 
    <input type='submit' value='valider'/>
    </form>
    Fred

  20. #20
    Membre éclairé Avatar de Palsajicoco
    Étudiant
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Par défaut
    Beau boulot!
    merci merci et bonne continuation ^^'

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Je ne trouve pas la requete pour modifier les entrées...
    Par guttts dans le forum Langage SQL
    Réponses: 7
    Dernier message: 24/08/2005, 19h17
  2. Requete pour un top 3!
    Par faayy dans le forum Access
    Réponses: 6
    Dernier message: 20/06/2005, 09h06
  3. Requete pour un débutant
    Par sqlnoob dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/05/2005, 08h55
  4. requete pour reccuperer une parti d'un resultat
    Par ViBy dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/09/2004, 09h33
  5. requete pour avoir CONTENU procedures stockees
    Par bmayer dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 11/02/2004, 13h20

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