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 :

[Tableaux] prendre en compte des paramètres


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut [Tableaux] prendre en compte des paramètres
    Bonjour à tous,

    pour un tableau de statistiques je voudrais créer une fonction dans laquelle j'entre en paramètre la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $r_val="SELECT COUNT(c.num_candidat) FROM candidat c INNER JOIN public_candidat pc ON pc.num_candidat=c.num_candidat WHERE c.lieu_ratachement='$param1' AND pc.type_public='$param2' ";
    puis dans ma fonction, par un processus d'incrémentation je détermine les valeurs de $param1 et $param2.
    Mais $r_val n'est pas recalculée avce ces nouvelles valeurs, la valeur de $r_val prise en compte est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $r_val="SELECT COUNT(c.num_candidat) FROM candidat c INNER JOIN public_candidat pc ON pc.num_candidat=c.num_candidat WHERE c.lieu_ratachement='' AND pc.type_public='' ";
    Comment puis-je faire pour que la valeur de $r_val soit recalculée avec les valeurs de $param1 et $param2?

    merci d'avance pour votre aide

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    je ne comprends pas trop ce que tu entend par recalculer $r_val.

    Aussi, si tu passes une chaine de caractères en paramètres à ta fonction, tu ne seras plus en mesure de manipuler les variables paramètres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function requete($requete,$param1,$param2){
        $r_val="SELECT COUNT(c.num_candidat) FROM candidat c INNER JOIN public_candidat pc ON pc.num_candidat=c.num_candidat WHERE c.lieu_ratachement='".$param1."' AND pc.type_public='".$param2."'";
        return mysql_query($r_val);
    }

  3. #3
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut
    Bonjour,

    en fait il s'agit d'une classe stats, dont voici le 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
    63
    64
    65
     
    <?
    include ('connection.php3');
    //tableau en PHP5
    class stats
    {
    	private $res1;
    	private $res2;
     
    	public function __construct($req1,$req2)
    	{
    		global $idConnexion;
    		$this->res1=mysql_query($req1,$idConnexion) or die(mysql_error());
    		$this->res2=mysql_query($req2,$idConnexion) or die(mysql_error());
     
    		echo "construction";
    	}
     
    	public function afficher_tab($champ_col,$champ_ligne,$r_val)
    	{
    		global $idConnexion;
    		echo "<table border=1>";
    		//bcle sur les titres de la colonne
    		echo "<tr><td>&nbsp;</td>";
     
    		while($tab=mysql_fetch_array($this->res1))
    		{
    			$titre_col=$tab[$champ_col];
    			echo "<td>$titre_col</td>";
    		}
    		echo "</tr>";
     
    		$nb_col=mysql_num_rows($this->res1);
    		//bcle sur les lignes
    		while($tab2=mysql_fetch_array($this->res2))
    		{
    			echo "<tr>";
    			$titre_ligne=$tab2[$champ_ligne];
    			echo "<td>$titre_ligne</td>";
     
    			$i=0;
    			while($i<$nb_col)
    			{
    				$i++;
    				$param1='11';
    				$param2='5';
    				$res_val=mysql_query($r_val,$idConnexion) or die(mysql_error());
    				$val=mysql_result($res_val,0);
    				echo "<td>$val</td>";
    			}
    			echo "</tr>";
    		}
    		echo "</table>";
    	}
     
    }
     
     
    $r1="SELECT * FROM public_cible";
    $r2="SELECT * FROM lieu_rattachement";
    $r_val="SELECT COUNT(c.num_candidat) FROM candidat c INNER JOIN public_candidat pc ON pc.num_candidat=c.num_candidat WHERE c.lieu_ratachement='$param1' AND pc.type_public='$param2'";
    $tabl=new stats($r1,$r2);
    $tabl->afficher_tab('lib_cible','lib_lieu',$r_val);
     
    ?>
    je voudrais ensuite déterminer $param1 et $param2 avec une boucle sur les différentes valeurs de ma table, mais pour le moment il faudrait déja que je réussisse à ce que $r_val prenne en compte ces nouvelles valeurs.

    (je pense que c'est possible avec appel à la référence ou $$, mais je ne sais pas comment m'y prendre...)

    merci d'avance ...

  4. #4
    Membre éprouvé Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 96
    Par défaut
    Bonjour,

    pour commencer: les classes ne sont pas des tableaux :/

    Le code est difficilement lisible, et nous ne savons pas ce que tu veux faire exactement(pour faire simple: je n'ai pas compris ton code...)

  5. #5
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut
    "pour commencer: les classes ne sont pas des tableaux :/"
    Rassure-toi, je sais bien qu'une classe n'est pas un tableau, cette classe me sert à faire un tableau de stats c'est la raison pour laquelle je parle de tableau !

    je cherche à faire un tableau de statistiques, mon problème est que je veux entrer en paramètre une requête elle même paramétrable.
    Je voudrais donc entrer pour paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $r_val="SELECT COUNT(c.num_candidat) FROM candidat c INNER JOIN public_candidat pc ON pc.num_candidat=c.num_candidat WHERE c.lieu_ratachement='$param1' AND pc.type_public='$param2' ";
    puis dans ma fonction déterminer $param1 et $param2.

    En gros si j'avais déja les valeurs de $param1 et $param2 c'est tout simple, je sais le faire, mais là je veux déterminer $param1 et $param2 seulement après. c'est là que c'est compliqué.

    Quelqu'un sait comment faire?

  6. #6
    Membre éprouvé Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 96
    Par défaut
    Ces paramètres sont récupérés via MySQL ?

    Si oui, la réponse est l'utilisation de sous requêtes.

    Si non, j'aimerais savoir comment tu récupères ces paramètres.

Discussions similaires

  1. Comment forcer cron a prendre en compte des modifs?
    Par jlassira dans le forum Administration système
    Réponses: 31
    Dernier message: 17/06/2016, 12h40
  2. Réponses: 2
    Dernier message: 08/06/2012, 09h58
  3. Non prise en compte des paramètres top et left de window.open
    Par laurentSc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/09/2010, 09h24
  4. prendre en compte des retours chariots
    Par gentil dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/05/2009, 18h54
  5. Prendre en compte des caractères?
    Par spl0tch dans le forum Langage
    Réponses: 5
    Dernier message: 06/01/2007, 10h57

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