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] Retour de valeur d'une fonction


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Par défaut [Tableaux] Retour de valeur d'une fonction
    Bonjour,

    ? Qu'est-ce qui pourrait faire qu'à la sortie de ma fonction je ne retrouve pas ma valeur, alors qu'en fin de fonction celle-ci est bien initialisée.

    Fin de fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Champ[10] = FRANCE 
    Champ[7] = 10.00
    La fonction:
    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
     
    function Function_Tarif($ChampOK)
      {
        ini_set("include_path", ".;c:\Program Files\EasyPHP 2.0b1\www\Private");
        include("Connexion.php");
        $Connexion = mysqli_connect($host, $user, $password, $database) or 
                                            die ("Connexion au serveur impossible");
     
    echo "Champ[10] = $ChampOK[10] <br/>";
        $Requête = "SELECT * FROM Pays WHERE Pays = '".$ChampOK[10]."'";
        $Résultat = mysqli_query($Connexion, $Requête);
        if (mysqli_num_rows($Résultat) > 0)
          { $Ligne = mysqli_fetch_assoc($Résultat);
            extract($Ligne);
            if ($ChampOK[9] == "Economique")
              { $EnvoiType = $Ligne['Economique'];
                $Requête = "SELECT * FROM Tarifs_E 
                                     WHERE Envoi_Type = '".$EnvoiType."'
                                       AND (Poids_Mini <= '".$ChampOK[2]."' and
                                            Poids_Maxi >= '".$ChampOK[2]."')"; }
            elseif ($ChampOK[9] == "Colissimo")
              { $EnvoiType = $Ligne['Colissimo'];
                $Requête = "SELECT * FROM Tarifs_C 
                                     WHERE Envoi_Type = '".$EnvoiType."'
                                       AND (Poids_Mini <= '".$ChampOK[2]."' and
                                            Poids_Maxi >= '".$ChampOK[2]."')"; }
            elseif ($ChampOK[9] == "Colissimo")
              { $EnvoiType = $Ligne['Recommande'];
                $Requête = "SELECT * FROM Tarifs_R 
                                     WHERE Envoi_Type = '".$EnvoiType."'
                                       AND (Poids_Mini <= '".$ChampOK[2]."' and
                                            Poids_Maxi >= '".$ChampOK[2]."')"; } }
        $Résultat = mysqli_query($Connexion, $Requête);
        if (mysqli_num_rows($Résultat) > 0)
          { $Ligne = mysqli_fetch_assoc($Résultat);
            extract($Ligne);
            $ChampOK[7] = $Ligne['Tarif']; }    # Frais De Port
        else
          { $Requête = "SELECT * FROM Tarifs_C 
                                 WHERE Envoi_Type = '".$EnvoiType."'
                                   AND (Poids_Mini <= '".$ChampOK[2]."' and
                                        Poids_Maxi >= '".$ChampOK[2]."')";
            $Résultat = mysqli_query($Connexion, $Requête);
            if (mysqli_num_rows($Résultat) > 0)
              { $Ligne = mysqli_fetch_assoc($Résultat);
                extract($Ligne);
                $ChampOK[7] = $Ligne['Tarif'];
                $ChampOK[9] = "Colissimo";    # Frais De Port
    /*            "<?php if ($ChampOK[9] == "Colissimo_") echo 'disabled="disabled"'; */
                $ChampOK[99] = "Pas d'Envoi en Économique ou en Recommandé pour votre Pays"; } }
    echo "Champ[7] = $ChampOK[7] <br/>";
      return $ChampOK;
      }
    La sortie de fonction:

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    ça dépend , montre nous comment tu appel ta fonction stp ?

    au passage , évite les caractères spéciaux dans le nom des variables !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Par défaut
    Function_Tarif($ChampOK);

    ? Qu'appelles-tu les caractères spéciaux.

    Merci d'ance à Tous.

    Cordialement.

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Comme ta fonction renvoi un tableau il faut l'assigner a un tableau dont la portée reste en dehors de la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $Champ = array();
    $Champ = Function_Tarif($ChampOK);
    Les caractères spéciaux du genre ê ou é comme dans $requête etc ....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    $Requête

    voila un caractère spéciale

    sinon pour l'appel de la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     	$ChampOK= Function_Tarif($ChampOK);

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 314
    Par défaut
    ! C'est OK.

    Je ne manquerai pas de suivre vos conseils.

    Tous mes remerciements à tous deux.

    Très cordialement.

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

Discussions similaires

  1. Retour de valeur d'une fonction
    Par guigouz dans le forum SQL
    Réponses: 5
    Dernier message: 10/06/2008, 16h21
  2. [Mail] Retour de valeur d'une fonction
    Par pat06 dans le forum Langage
    Réponses: 3
    Dernier message: 14/12/2007, 12h32
  3. [Tableaux] Oubli du nom d'une fonction
    Par Ekimasu dans le forum Langage
    Réponses: 3
    Dernier message: 18/04/2006, 11h50
  4. fonction récupérant des valeurs dans une fonction popup...
    Par petitsims dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2005, 15h51
  5. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 17h37

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