Bonjour et meilleurs vœux à toutes et à tous,
je suis embêté, je suis néophyte et souhaite, à l'aide d'une base/table MySQL alimenter une page html.
voici la partie de mon code php (pour lequel j'ai récupéré les infos ici et là), auquel j'ai retiré les valeurs des variables : $serveur, $nom_base et $pwd, qui concerne mon problème.
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
 
		<?php
			$charset = "utf8";	// Le charset "utf8"
 
			$Table = array();		// Cr&eacute;ation et initialisation de variable : La table entière
			$LignPHP = array();	// Cr&eacute;ation et initialisation de variable : 1 ligne de la table
			global $TablPHP;		// Cr&eacute;ation de variable globale pour la port&eacute;e soit pour la page entière et non seulement pour la fonction locale
			$TablPHP = array();	// Cr&eacute;ation et initialisation de variable : La table entière
			//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
			//             MA REQUETE dans la base 'adc' table 'occupations'
			//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
			// connexion &agrave; MySQL en utilisant PDO
			try //  PHP essaie d'exécuter les instructions à l'intérieur du bloc try. S'il y a une erreur, il rentre dans le bloc catch et fait ce qu'on lui demande (ici, on arrête l'exécution de la page en affichant un message décrivant l'erreur).
			{
				$bdd = new PDO('mysql:host='.$serveur.';dbname='.$nom_base.';charset='.$charset, $login, $pwd);
			}
			catch (Exception $e) // S'il y a une erreur, il rentre dans le bloc catch et fait ce qu'on lui demande (ici, on arrête l'exécution de la page en affichant un message décrivant l'erreur).
			{
					die('Erreur : ' . $e->getMessage());    // En cas d'erreur, on affiche un message et on arrête tout
			}
			// Si tout va bien, on peut continuer
 
			$Table = $bdd->query('SELECT * FROM occupations');// On récupère tout le contenu de la table occupations
 
 
			// les deux boucles imbriquées 'foreach', ci-dessous, servent à créer un tableau PHP '$TablPHP' contenant la table 'occupations'
			// Le premier foreach() lit chaque ligne du tableau
			foreach($Table as $LignTab) 			// la boucle foreach : &Agrave; chaque tour de boucle, la valeur de l'&eacute;l&eacute;ment suivant, du tableau $Table, est mise dans la variable $LignTab (qui est elle même un tableau.
			{
				// Le deuxième foreach() lit chaque tableau de chaque ligne. On accède à ses propriétés et à ses valeurs avec les variables $cle et $valeur.
				//foreach($LignTab as $cle=>$valeur) 		// la boucle foreach : &Agrave; chaque tour de boucle, la valeur de l'&eacute;l&eacute;ment suivant, du tableau $LignTab, est mise dans la variable $element.
				foreach($LignTab as $valeur) 		// la boucle foreach : &Agrave; chaque tour de boucle, la valeur de l'&eacute;l&eacute;ment suivant, du tableau $LignTab, est mise dans la variable $element.
				{
					array_push($LignPHP,$valeur);	// Je rentre la valeur contenue dans '$valeur' dans '$LignPHP' 
				}
				array_push($TablPHP,$LignPHP); 		// Je rentre la valeur contenue dans '$LignPHP' dans '$TablPHP'
				$LignPHP = array();					// pour vider mon tableau de ligne je le redéfinis
			}
 
			$Table->closeCursor(); 					// Termine le traitement de la requête
		?>
mon problème est que mon tableau $TablPHP contenant, je crois, l'intégralité de ma table 'occupations' est entièrement doublé, toutes les lignes sont dupliquées alors que dans la table MySQL d'origine çà n'est pas le cas.
Je me doute bien que j'ai "pêché" quelque part, mais çà fait plusieurs jours que je trime dessus et je ne vois pas où.
quelqu'un peut-il m'expliquer ce que j'ai fait de mal ?
Je le répète, je suis néophyte, aussi, j'ai besoin d'explications vulgarisées!
merci beaucoup