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 :

Variable non définie


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2017
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 60
    Par défaut Variable non définie
    Bonjour,

    J'ai un soucis avec un code qui fonctionnait sur un serveur mais qui ne fonctionne plus depuis que j'ai changé de serveur.

    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <link rel="stylesheet" type="text/css" href="style_team.css" />
     
    <script type="text/javascript">
    	$(function(){
          $("#formemployee").submit(function() {
              nom = $(this).find("input[name=nom]").val();
              fonction = $(this).find("select[name=fonction]").val();
              $.post("addemployee.php", {nom: nom, fonction: fonction }, function(data) {
              $('input[name="nom"]').val('');
              $('select[name="fonction"]').val('');
                  if(data!="ok"){
                      $(".error").empty().append(data);
                  }
              });
              return false;
          $(".content").load("team.php");
          });
       });
    </script>
     
     
    <form method="post" action="#" id="formemployee">
       <div class="error" style="position: absolute; top: 150px; color:#FF0000;"></div>
       <input type="text" name="nom" placeholder="Nom de l'employé(e)" required/>
       <select name="fonction">
               <optgroup label="Pharmacie">
                   <option value="1">Pharmacien</option>
                   <option value="2">Préparateur</option>
               </optgroup>
               <optgroup label="Keréveur Médicale">
                   <option value="3">Fonction1</option>
               </optgroup>
               <optgroup label="Secrétariat">
                   <option value="4">Secrétaire</option>
               </optgroup>
               <optgroup label="Agent d'entretien">
                   <option value="5">Agent d'entretien</option>
               </optgroup>
           </select>
           <input type="submit" value="Ajouter" />
       </form>
     
       <?php
    			require('employees.php');
    		?>
     
    <br />
     
    <div class="employees">
      <?php
        $bdd = new PDO('mysql:host=localhost;dbname=dbname', 'root', 'root');
        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
    		$th= $bdd->query('SELECT employees.name as employee_name, fonction_name as fonction_name FROM employees JOIN fonctions ON employees.fonction = fonction_id');
     
    // tu ranges toutes les personnes par fonction
    while ($row = $th->fetch(PDO::FETCH_ASSOC)) {
        $result[$row['fonction_name']][] = $row['employee_name'];
    }
     
    $nligne = 0;
     
    echo '<table>
                 <tr>';
     
    // pour chaque fonction on affiche une en tête de colonne
    foreach ($result as $fonction_name => $values) {
          echo '<th>' . $fonction_name . '</th>';
          // on compte le nombre maximal de lignes que devra avoir notre tableau
          $nligne = max($nligne, count($values));
    }
    echo '</tr>';
     
    // pour chaque ligne
    for ($l = 0; $l < $nligne; ++$l) {
        echo '<tr>';
        // on parcours les fonctions et on affiche la personne si elle existe pour cette ligne
        foreach ($result as $fonction_name => $values) {
            $display = (isset($values[$l])) ? $values[$l] : '';
             echo '<td>' . $display . '</td>';
        }
       echo '</tr>';
    }
    echo '</table>';
      ?>
    </div>
    PHP m'indique ceci : Notice: Undefined variable: result in on line 67

    Warning: Invalid argument supplied for foreach() in on line 67

    Pouvez me dire pourquoi cette variable n'est pas définie, car je ne vois pas du tout pourquoi ?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il faut le définir, le tester,...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $result = array();
    ...
    if( !empty($result) )
    {
    ...

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2017
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 60
    Par défaut
    Et bien merci à toi, jreaux62. Donc je l'ai définis et l'erreur à disparue mais le code n'affiche pas les données de la base dans un tableau . Avant de demander de l'aide je l'avais défini avec : j'avais pas penser au array, je suis un peu bête parfois .

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    As-tu vérifié le résultat de ta requête (dans le script et directement sur la base) ? Si ça n'affiche rien, c'est peut-être parce qu'il n'y a rien à afficher...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Variable non définie
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2007, 14h34
  2. Réponses: 5
    Dernier message: 28/08/2007, 11h42
  3. [SQL] Problème de variable non définies
    Par micka39 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 01/05/2007, 23h10
  4. Réponses: 12
    Dernier message: 10/05/2006, 14h02
  5. Problème de variable non définie
    Par Mimi Bulles dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2006, 09h03

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