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