Bonjour à tous,
J'essai depuis quelques jours maintenant d'afficher certaines informations provenant de ma BDD sur une de mes pages mais je ne comprends pas trop le fonctionnement qu'a ma requête.
Pour être clair j'appel dans une boucle foreach une des fonctions de mon modèle qui devrait me renvoyer les informations d'une batterie si celle-ci existe dans la BDD, mais là même si elle n'existe pas, elle me renvoi les informations des autres batteries.
Pour être encore plus clair voici ma boucle foreach :
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 foreach ($infoBatterie as $key => $value) { //Affiche une image différente suivant si une définition à été faite ou non if($value['definition'] != "") { $definition = "oui.png";} else { $definition = "non.png";} //----------------------------------------------------------------------------------------------------------- echo "<br>----------------------------------------------<br>"; //Appel de ma fonction qui renvoi les informations d'une batterie si celle-ci existe getBatterieMouvement($value["n°batterie"],""); echo "<br>----------------------------------------------<br>"; //----------------------------------------------------------------------------------------------------------- echo "<tr> <td ".$classTabBatterie." >".numeroMateriel($value['achat'],$value['marque'],$value['n°batterie'])." B</td> <td ".$classTabBatterie." >".couperTexte($value['type'], 12,0)."</td> <td ".$classTabBatterie." >".couperTexte($value['n°serie'], 15,0)."</td> <td ".$classTabBatterie." >".couperTexte($value['marque'], 10,0)."</td> <td ".$classTabBatterie." >".$value['voltage']."</td> <td ".$classTabBatterie." >".$value['amperage']."</td> <td ".$classTabBatterie." >".couperTexte($value['dimension coffre'], 10,0)."</td> <td ".$classTabBatterie." >".$value['dimension element']."</td> <td ".$classTabBatterie." ><img src='../image/".$mono_tri."'' title='".$titleMono_tri."'></td> <td ".$classTabBatterie." >".$statutBatterie."</td> <td ".$classTabBatterie." >".affDateFrancais("d/m/Y",$value['achat'],0)."</td> <td> <img src='../image/image_16/".$definition."' /></td> <td class='tdImg'><a href='batterieDetail.php?num=".$value['n°batterie']."'><img src='/al-manut/image/detail.png'/></a></td> </tr>"; }
Et maintenant voici ma fonction getBatterieMouvement()
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 function getBatterieMouvement($numBatterieMouvement, $requeteFiltre){ global $infoBatterieMouvement; //Appel du fichier "cnx.php" qui permet de se connecter à la BDD include("../principal/cnx.php"); //Si aucun n° de batterie n'a été saisie (donc 0) recherche des batteries différentes de 0, donc l'ensemble des batteries if($numBatterieMouvement == 0) { $choixBatterieMouvement = "!= ".$numBatterieMouvement; } else { $choixBatterieMouvement = "= ".$numBatterieMouvement; } //Requête $pBatterieMouvement = "SELECT * FROM $table_35"; //Ajout à la requête du choix du n° de la batterie si celle-ci à été choisie $pBatterieMouvement .= " WHERE num_batterie ".$choixBatterieMouvement; //Ajout à la requête des conditions si des filtres ont été ajoutés $pBatterieMouvement .= $requeteFiltre; //Execution de la requête $rBatterieMouvement = mysql_query($pBatterieMouvement) or die (mysql_error()); $i = 0; //Boucle qui permet de remplir le tableau avec l'ensemble des mouvements batteries présentes dans la BDD while($bBatterieMouvement = mysql_fetch_array($rBatterieMouvement)){ $infoBatterieMouvement[$i] = array( "n°batterie" => affichage($bBatterieMouvement['NUM_BATTERIE']), "n°parc" => affichage($bBatterieMouvement['NUM_PARC']), "date debut" => affichage($bBatterieMouvement['DATE_DEBUT_UTILISER']), "date fin" => affichage($bBatterieMouvement['DATE_FIN_UTILISER']) ); $i++; } //Retourne le tableau rempli avec tout les mouvements de batteries return $infoBatterieMouvement; }
Il se peut que pour une batterie il puisse y avoir plusieurrs mouvement d'ou mon tableau. Mais je me demande si c'est pas là que commence mon erreur.
Moi je me dis: dans le foreach, appel de la fonction, si le n°batterie existe, renvoi des informations concernant celle-ci, si en revanche dans la BDD le n°batterie n'existe pas, alors renvoi d'aucune informations.
Mais apparement ça ne marche pas comme ça, auriez vous une idée de mon erreur
J'espère avoir été assez clair
Par avance merci
Partager