Comment recupérré des valeurs d'un array avec une balise input

boni91 13 Messages postés dimanche 12 novembre 2017Date d'inscription 26 novembre 2017 Dernière intervention - 12 nov. 2017 à 14:28 - Dernière réponse :  boni91
- 15 nov. 2017 à 18:29
bonjour à tous et à toutes,

j'ai créer 4 array avec différentes valeurs, ce que j'aimerai faire sait d'envoyer ses valeurs via un formulaire et une balises input "image" sur une nouvelle page afin de les recuperrés et d'afficher une image et un lecteur audio, en sachant que sur la page principale il y a 26 choix donc 26 bouton image, quand je clic sur un des bouton la deuxieme page s'ouvre mais aucune informations.

			 
<form method="post" action="../page_principal/lecteur-audio.php">
<?php
echo'<table class="post audio_table">';
foreach($catalogue as $cle => $catalogues){

echo' <tr style="background-color:'. $catalogues['color'] .';">';
echo'<td>';
echo'<p style="margin-top:-10px;display:inline-block;">'. $catalogues['text'] .'</p>';

echo'<div class="btn_audio">';
echo'<input style="width="26"; height="24.8" type="image" src="'. $catalogues['img_2'] .'" name="'. $cle .'" value = "'. $catalogues .'"/>';
echo'</div>';
echo'</td>';
echo'</tr>';

}
echo'</table>';
?>
<?php
echo'<table class="post audio_table">';
foreach($catalogue_1 as $cle => $catalogues_1){
echo' <tr style="background-color:'. $catalogues_1['color'] .';">';
echo'<td>'; echo'<p style="margin-top:-10px;display:inline-block;">'. $catalogues_1['text'] .'</p>';

echo'<div class="btn_audio">';
echo'<input style="width="26"; height="24.8" type="image" src="'. $catalogues_1['img_2'] .'" name ="'. $cle .'" value ="'. $catalogues_1.'" />';
echo'</div>';
echo'</td>';
echo'</tr>';

}
echo'</table>';
?>
</section>
<section>
<article class="title_audio">
<hr style="border:1px solid #979797;margin:30px 0;"/>
<p class="title_livres"><b>AU BOULOT</b> !
<span style="font-weight:400;">Livre 2</span>
</p>
<hr style="border:1px solid #979797;margin:30px 0;"/>
</article>
<?php
echo'<table class="post audio_table">';

foreach($secondcatalogue as $cle => $secondcatalogues){

echo' <tr style="background-color:'. $secondcatalogues['color'] .';">';
echo'<td>';
echo'<p style="margin-top:-10px;display:inline-block;">'. $secondcatalogues['text'] .'</p>';
echo'<div class="btn_audio">';
echo'<input style="width="26"; height="24.8" type="image" src="'. $secondcatalogues['img_2'] .'" name ="'. $cle .'" value="'. $secondcatalogues.'"/>';
echo'</div>';
echo'</td>';
echo'</tr>';

}

echo'</table>';

?>
<?php
echo'<table class="post audio_table">';

foreach($secondcatalogue_1 as $cle => $secondcatalogues_1){

echo' <tr style="background-color:'. $secondcatalogues_1['color'] .';">';
echo'<td>';
echo'<p style="margin-top:-10px;display:inline-block;">'. $secondcatalogues_1['text'] .'</p>';
echo'<div class="btn_audio">';
echo'<input style="width="26"; height="24.8" type="image" src="'. $secondcatalogues_1['img_2'] .'" name ="'. $cle .'" value="'. $secondcatalogues_1 .'"/>';
echo'</div>';
echo'</td>';
echo'</tr>';

}

echo'</table>';

?>
</section>
</form>

excusez moi pour l'ordre des ligne, mais ca fait tres longtemps que je n'ais pas coder.
merci d avance
Afficher la suite 

26 réponses

Répondre au sujet
jordane45 19332 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 décembre 2017 Dernière intervention - 12 nov. 2017 à 14:57
0
Utile
Bonjour,

Déjà... au lieu de répéter 4 fois le même code... autant le mettre dans une fonction.
Ca rend le code plus simple à lire....et à maintenir.

Ensuite... les balises input image n'ont pas d'attribut value (cf la documentation).
Donc le plus simple est de mettre chaque image dans un form à part et d'y placer un input hidden avec les valeurs voulues

Pour ce qui est de la value .. un json_encode te permettra d'envoyer ton array sous forme de chaine de caractères.
De l'autre côté, tu pourras le récupérer avec un json_decode

Voila à quoi pourrait ressembler ton code
<?php

//activation de l'affichage des messages d'erreur php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);


//Fonction
function addForm($catalogue){
	$result = '<form method="post" action="../page_principal/lecteur-audio.php"> ';
		$result .= '<table class="post audio_table">';
		foreach($catalogue as $cle => $row){
			$result .= ' <tr  style="background-color:'. $row['color'] .';">';
				$result .= '<td>'; $result .= '<p style="margin-top:-10px;display:inline-block;">'. $row['text'] .'</p>';
					$result .= '<div class="btn_audio">';               
						$result .= '<input type="hidden" name="'.$cle.'" value="'. json_encode($row).'" />',
						$result .= '<input style="width="26"; height="24.8" type="image" src="'. $row['img_2'] .'" name ="img_'. $cle .'" />';
					$result .= '</div>';
				$result .= '</td>';
			$result .= '</tr>';

		}  
		$result .= '</table>'; 
	$result .= '</form>';
	
  return $result;
}
?>

<section>
	<article class="title_audio">
		<hr style="border:1px solid #979797;margin:30px 0;"/>
		<p class="title_livres"><b>AU BOULOT</b> !
		<span style="font-weight:400;">Livre 1</span>
		</p>
		<hr style="border:1px solid #979797;margin:30px 0;"/>
	</article> 
	<?php
	echo addForm($catalogue);
	echo addForm($catalogue_1);
	?>
</section>

<section>
	<article class="title_audio">
		<hr style="border:1px solid #979797;margin:30px 0;"/>
		<p class="title_livres"><b>AU BOULOT</b> !
		<span style="font-weight:400;">Livre 2</span>
		</p>
		<hr style="border:1px solid #979797;margin:30px 0;"/>
	</article> 
	<?php
	echo addForm($secondcatalogue);
	echo addForm($secondcatalogue_1);
	?>
</section>


NB : Avant de poursuivre, je t'invite à lire ceci :
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code

.


Commenter la réponse de jordane45
boni91 13 Messages postés dimanche 12 novembre 2017Date d'inscription 26 novembre 2017 Dernière intervention - 12 nov. 2017 à 18:00
0
Utile
12
merci Jordan pour ta réponse, je t avoue que la sait un peu compliqué pour moi, par contre quand j'affiche avec ton code, il ecrit deux foix les choix.
merci jordane, donc pour la
rel="nofollow noopener noreferrer" 
est ce que je le laisse ou le retire, si j ai bien compris les informations qui sont dans les tableaux vont être transmis via
 href="lapageaouvrir.php?id=" '.$cle.'"
et que je vais recuperré par
 $cle = !empty($_GET['id']) ? $_GET['id'] : NULL;
et pouvoir ensuite afficher mon image, mon lecteur audio, et le son correspondant aux choix.
jordane45 19332 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 décembre 2017 Dernière intervention > boni91 - 13 nov. 2017 à 13:54

si j ai bien compris les informations qui sont dans les tableaux vont être transmis via

href="lapageaouvrir.php?id=" '.$cle.'"

et que je vais recuperré par

$cle = !empty($_GET['id']) ? $_GET['id'] : NULL;

et pouvoir ensuite afficher mon image, mon lecteur audio, et le son correspondant aux choix

Lors du clic sur un lien, c'est la variable $cle (qui correspond visiblement à l'id) qui sera envoyée à ton autre page.
Dans cette seconde page, tu pourras ensuite aller chercher les infos correspondantes via une requête pour récupérer ce dont tu as besoin.
une dernière question, comment je fais avec la balise a pour faire les 26 choix, je m'explique j'ai 26 choix ou normalement il y a l'image du haut parleur sur chaque choix, hors que si j'utilise la balise a j'en aurai qu'un, comment je fais pour qu'il se répette sur les 26 choix?
jordane45 19332 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 décembre 2017 Dernière intervention > boni91 - 13 nov. 2017 à 14:17
Ben.. tu génères tes liens dans ta boucle .....
ah ok dans la boucle foreach. merci je vais essayer ça ce soir. un grand merci a toi
Commenter la réponse de boni91
jordane45 19332 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 décembre 2017 Dernière intervention - 13 nov. 2017 à 21:27
0
Utile
Bon...
Déjà .. au lieu d'ouvrir une nouvelle discussion.. merci de continuer ici.

Ensuite je vois que tu galères....

Commences par nous poster la structure de ta BDD histoire que je puisse connaitre le nom des champs et te proposer un code qui convient.

Sachant que dans ta première page, tu affiches les liens (balises <a ) avec, dans l'url l' ID correspondant. (en ajoutant à la fin de l'url :
 ?id='$lavaleurcorrespondaliddanstabdd'


Et dans la seconde page, grâce à cet ID, tu fais une requête en BDD pour récupérer les différentes infos dont tu as besoin.



Commenter la réponse de jordane45
boni91 13 Messages postés dimanche 12 novembre 2017Date d'inscription 26 novembre 2017 Dernière intervention - 14 nov. 2017 à 07:13
0
Utile
bonjour Jordane et merci encore de me repondre, voici un des tableaux en question
<?php $catalogue = array(

'son' => array(
'audio' =>'../mp3/page21.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 21</b> - TP Métiers',
'color'=>'#d5b88a'


),
'son_2' => array(
'audio' => '../mp3/page29.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 29</b>Messages',
'color'=>'#d5b88a'
),
'son_3' => array(
'audio' => '../mp3/page35.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 35</b> - Discrimination [o] [u] [ou]',
'color'=>'#99e3df'
),
'son_4' => array(
'audio' => '../mp3/page36.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 36</b>Messages ou',
'color'=>'#99e3df'
),
'son_5'=>array(
'audio' => '../mp3/page39.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 39</b>TP ou',
'color'=>'#fc8aaf'

),
'son_6' => array(
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'audio' => '../mp3/page42.mp3',
'text' => '<b>1 - page 42</b>Message o / au / eau',
'color'=>'#fc8aaf'

),
'son_7' => array(
'audio' => '../mp3/page47.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 47</b>TP o / au / eau',
'color'=>'#cd9dbe'
),
'son_8' => array(
'audio' => '../mp3/page53.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 53</b>Message oi',
'color'=>'#cd9dbe'
),
'son_9' =>array(
'audio' => '../mp3/page54.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 54</b> Discrimination [ou][a][wa]',
'color'=>'#cd9dbe'

),
'son_10' => array(
'audio' => '../mp3/page57.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 57</b>TP oi',
'color'=>'#f3979f'
),
'son_11' => array(
'audio' => '../mp3/page59.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 59</b> Discrimination [ou][a][wa]',
'color'=>'#bae3a1'
),
'son_12' => array(
'audio' => '../mp3/page64.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 64</b> Lecture c / k / qu',
'color'=>'#bae3a1'

),
'son_13' => array(
'audio' => '../mp3/page69.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 69</b> -TP c / k / qu',
'color'=>'#e2e282'
),
'son_14' => array(
'audio' => '../mp3/page79.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 79</b> -TP ch',
'color'=>'#96d0e3'
),
'son_15' => array(
'audio' => '../mp3/page83.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 83</b> Message [s][ch][z]',
'color'=>'#cb9dbe'
),
'son_16' =>array(
'audio' => '../mp3/page86.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 86</b> Message c / ç / t',
'color'=>'#cb9dbe'

),
'son_17' => array(
'audio' => '../mp3/page92.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 92</b> -TP c / ç / t ',
'color'=>'#cb9dbe'
),
'son_18' => array(
'audio' => '../mp3/page93.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 93</b> -TP c / ç / t',
'color'=>'#cb9dbe'
),
'son_19' => array(
'audio' => '../mp3/page95.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 95</b> -Message s / ss / c / ç / t',
'color'=>'#eea286'
),
'son_20' =>array(
'audio' => '../mp3/page101.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 101</b> - Phrases j / g',
'color'=>'#f3979f'
),
'son_21' => array(
'audio' => '../mp3/page105.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 105</b> - Discrimination [s][ch][z][j]',
'color'=>'#f3979f'
),
'son_22' => array(
'audio' => '../mp3/page106.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 106</b> - Message ch / s - ss - c - t - ç / j - g',
'color'=>'#eea286'
),
'son_23' => array(
'audio' => '../mp3/page112.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 112</b> - Message g / gu',
'color'=>'#f6c0a8'

),
'son_24' => array(
'audio' => '../mp3/page115.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 115</b> - TP g / gu',
'color'=>'#bae3a1'
),
'son_25' => array(
'audio' => '../mp3/page120.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 120</b> - Message bl - br - pl - pr - fl - fr',
'color'=>'#bae3a1'
),
'son_26' => array(
'audio' => '../mp3/page125.mp3',
'img' => '../img/livre_1.jpg',
'img_2' => '../btn/haut-parleur1.png',
'text' => '<b>1 - page 125</b> - TP bl - br - pl - pr - fl - fr',
'color'=>'#eea286'
)

);?>
ce que je voudrai recuperré c'est 'audio' et 'img' afin d'afficher l'image avec un lecteur audio avec un telechargement possible pour les utilisateurs qui passe sur tout les navigateurs, par contre pourras tu m'expliquer ton code, car j'aimerai comprendre. merci d'avance
Commenter la réponse de boni91
jordane45 19332 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 décembre 2017 Dernière intervention - Modifié par jordane45 le 14/11/2017 à 09:33
0
Utile
1
Bon,

Déjà, on va découper en 3 fichiers.
<?php
//Fichier contenant ton catalogue
// catalogue.php
$catalogue = array(
 
   'son' => array(
   'audio' =>'../mp3/page21.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 21</b> - TP Métiers',
   'color'=>'#d5b88a'
   
  
  ),
   'son_2' => array(
   'audio' => '../mp3/page29.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 29</b>Messages',
   'color'=>'#d5b88a'
  ),
  'son_3' => array(
   'audio' => '../mp3/page35.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 35</b> - Discrimination [o] [u] [ou]',
   'color'=>'#99e3df'
  ),
  'son_4' => array(
   'audio' => '../mp3/page36.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 36</b>Messages ou',
   'color'=>'#99e3df'
  ),
  'son_5'=>array(
   'audio' => '../mp3/page39.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 39</b>TP ou',
   'color'=>'#fc8aaf'
  
  ),
  'son_6' => array(
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'audio' => '../mp3/page42.mp3',
   'text' => '<b>1 - page 42</b>Message o / au / eau',
   'color'=>'#fc8aaf'
   
  ),
  'son_7' => array(
   'audio' => '../mp3/page47.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 47</b>TP o / au / eau',
   'color'=>'#cd9dbe'
  ),
  'son_8' => array(
   'audio' => '../mp3/page53.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 53</b>Message oi',
   'color'=>'#cd9dbe'
  ),
  'son_9' =>array(
   'audio' => '../mp3/page54.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 54</b> Discrimination [ou][a][wa]',
   'color'=>'#cd9dbe'
  
  ),
   'son_10' => array(
   'audio' => '../mp3/page57.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 57</b>TP oi',
   'color'=>'#f3979f'
  ),
  'son_11' => array(
   'audio' => '../mp3/page59.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 59</b> Discrimination [ou][a][wa]',
   'color'=>'#bae3a1'
  ),
  'son_12' => array(
   'audio' => '../mp3/page64.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 64</b> Lecture  c / k / qu',
   'color'=>'#bae3a1'
 
  ),
   'son_13' => array(
   'audio' => '../mp3/page69.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 69</b> -TP  c / k / qu',
   'color'=>'#e2e282'
  ),
  'son_14' => array(
   'audio' => '../mp3/page79.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 79</b> -TP ch',
   'color'=>'#96d0e3'
  ),
  'son_15' => array(
   'audio' => '../mp3/page83.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 83</b> Message [s][ch][z]',
   'color'=>'#cb9dbe'
  ),
  'son_16' =>array( 
   'audio' => '../mp3/page86.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 86</b> Message c / ç / t',
   'color'=>'#cb9dbe'
  
  ),
  'son_17' => array(
   'audio' => '../mp3/page92.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 92</b> -TP c / ç / t ',
   'color'=>'#cb9dbe'
  ),
  'son_18' => array(
   'audio' => '../mp3/page93.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 93</b> -TP c / ç / t',
   'color'=>'#cb9dbe'
  ),
  'son_19' => array(
   'audio' => '../mp3/page95.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 95</b> -Message s / ss / c / ç / t',
   'color'=>'#eea286'
  ),
  'son_20' =>array(
   'audio' => '../mp3/page101.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 101</b> - Phrases j / g',
   'color'=>'#f3979f'
  ),
   'son_21' => array(
   'audio' => '../mp3/page105.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 105</b> - Discrimination [s][ch][z][j]',
   'color'=>'#f3979f'
  ),
  'son_22' => array(
   'audio' => '../mp3/page106.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 106</b> - Message ch / s - ss - c - t - ç / j - g',
   'color'=>'#eea286'
  ),
  'son_23' => array(
   'audio' => '../mp3/page112.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 112</b>  - Message g / gu',
   'color'=>'#f6c0a8'
 
  ),
   'son_24' => array(
    'audio' => '../mp3/page115.mp3',
    'img' => '../img/livre_1.jpg',
    'img_2' => '../btn/haut-parleur1.png',
    'text' => '<b>1 - page 115</b> - TP g / gu',
    'color'=>'#bae3a1'
  ),
  'son_25' => array(
   'audio' => '../mp3/page120.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 120</b> - Message bl - br - pl - pr - fl - fr',
   'color'=>'#bae3a1'
  ),
  'son_26' => array(
   'audio' => '../mp3/page125.mp3',
   'img' => '../img/livre_1.jpg',
   'img_2' => '../btn/haut-parleur1.png',
   'text' => '<b>1 - page 125</b> - TP bl - br - pl - pr - fl - fr',
   'color'=>'#eea286'
  )

?>


Ensuite, on va générer tes liens:
<?php
//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

// On inclus le catalogue
require_once "chemin_vers_fichier/catalogue.php";


// on boucle sur l'array catalogue pour générer les liens:
foreach($catalogue as $cle =>$values){
 $audio = !empty($catalogue[$cle]['audio']) ? $catalogue[$cle]['audio'] : NULL;
 $img = !empty($catalogue[$cle]['img']) ? $catalogue[$cle]['img'] : NULL;
 $img2 = !empty($catalogue[$cle]['img2']) ? $catalogue[$cle]['img2'] : NULL;
 $text = !empty($catalogue[$cle]['text']) ? $catalogue[$cle]['text'] : NULL;
 $color = !empty($catalogue[$cle]['color']) ? $catalogue[$cle]['color'] : NULL;
 
 $lienLecteurAudio = "../page_principal/lecteur-audio.php?$id=$cle";
 
 echo "<a href='$lienLecteurAudio' rel="nofollow noopener noreferrer" target="_blank">
   <img src='$img2'></img>
   </a>";

}

?>


Et enfin, le code de ta page lecteur-audio.php
<?php
//Fichier lecteur-audio.php

//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

// On inclus le catalogue
require_once "chemin_vers_fichier/catalogue.php";

//On récupère le catalogue à traiter (via la variable id passée dans l'url)
$id = !empty($_GET['id']) ? $_GET['id'] : NULL;

if($id){

   //A partir du catalogue, on en récupères les différentes variables
 $audio = !empty($catalogue[$id]['audio']) ? $catalogue[$id]['audio'] : NULL;
 $img = !empty($catalogue[$id]['img']) ? $catalogue[$id]['img'] : NULL;
 $img2 = !empty($catalogue[$id]['img2']) ? $catalogue[$id]['img2'] : NULL;
 $text = !empty($catalogue[$id]['text']) ? $catalogue[$id]['text'] : NULL;
 $color = !empty($catalogue[$id]['color']) ? $catalogue[$id]['color'] : NULL;

    // Ici le reste de ton code pour ton lecteur
 // ...
 
 
 

}else{
  echo "Catalogue inconnu !"
}



?>



NB: Il te faudra renseigner la variable chemin_vers_fichier/catalogue.php au niveau des require.

Pour le reste.. j'ai écris le code de tête sans tester..il peut y avoir des petites erreurs....


Cordialement, 
Jordane                                                                 
jordane45 19332 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 décembre 2017 Dernière intervention - 14 nov. 2017 à 09:34
NB: Il faut retirer le rel="nofollow noopener noreferrer" target="_blank" qui s'ajoute automatiquement.
Commenter la réponse de jordane45
0
Utile
2
OK merci Jordane, je vais essayer ce soir après le boulot, merci a toi de te donner la peine a me répondre, bon pour
require_once "chemin_vers_fichier/catalogue.php";
je pense que j'en aurai pas besoin, car les tableaux se trouve sur la page directement ou pour toi il faut mieux que je les mette sur une autre page comme tu le dit catalogues.php.
jordane45 19332 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 décembre 2017 Dernière intervention - 14 nov. 2017 à 10:11
A ton avis .... si je te le dis.... ce n'est pas pour rien.

Le fait de le mettre dans un fichier à part... ça te permet, si jamais tu dois le modifier (ajouter/retirer des trucs du catalogue) de n'avoir à le faire qu'à un seul endroit au lieu de devoir aller le changer dans plusieurs fichiers ...et en plus cela évite des erreurs .......
ok je te remercie, ce soir je fais une page a part pour les tableaux, dans un dossier inc.
merci
Commenter la réponse de boni91
boni91 13 Messages postés dimanche 12 novembre 2017Date d'inscription 26 novembre 2017 Dernière intervention - 14 nov. 2017 à 17:51
0
Utile
1
bonsoir jordane, j'ai un message d'erreur:

Notice: Undefined variable: id in D:\wamp2\www\project_val_bis\page_principal\audio.php on line 105

la ligne 105 :
 $lienLecteurAudio = "../page_principal/lecteur-audio.php?$id=$cle";


si je comprend bien il n'existe pas de variable pour id
jordane45 19332 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 décembre 2017 Dernière intervention - 14 nov. 2017 à 18:15
il faut retirer le $ devant id
Commenter la réponse de boni91
boni91 13 Messages postés dimanche 12 novembre 2017Date d'inscription 26 novembre 2017 Dernière intervention - 14 nov. 2017 à 18:18
0
Utile
merci mais j ai essayer toujours pareil
Commenter la réponse de boni91
boni91 13 Messages postés dimanche 12 novembre 2017Date d'inscription 26 novembre 2017 Dernière intervention - 14 nov. 2017 à 18:21
0
Utile
ah excuse moi sait bon, je te remercie énormément pour tout ton aide, je continu a tester.
Commenter la réponse de boni91
0
Utile
bonsoir, j ai un problème sur l'affichage d' images, pourquoi sur les 52 choix, il n'y a que la moitier qui s'affiche, hors que l'image en question est la meme dans tous les tableaux.
 <?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

require_once "../inc/inc_catalogue.php";



foreach($catalogue as $cle =>$values){

$audio = !empty($catalogue[$cle]['audio']) ? $catalogue[$cle]['audio'] : NULL;
$img = !empty($catalogue[$cle]['img']) ? $catalogue[$cle]['img'] : NULL;
$img2 = !empty($catalogue[$cle]['img_2']) ? $catalogue[$cle]['img_2'] : NULL;
$text = !empty($catalogue[$cle]['text']) ? $catalogue[$cle]['text'] : NULL;
$color = !empty($catalogue[$cle]['color']) ? $catalogue[$cle]['color'] : NULL;

$lienLecteurAudio = "../page_principal/lecteur-audio.php?id=$cle";


echo' <tr style="background-color:'. $color.';">';
echo'<td>';
echo'<p style="margin-top:-10px;display:inline-block;">'. $text .'</p>';
echo'<div class="btn_audio">';
echo '<a href="'. $lienLecteurAudio .'" rel="nofollow noopener noreferrer" target="_blank">';
echo '<img style="width="26"; height="24.8" src="'. $img2 .'"></img>';
echo '</a>';
echo'</a>';
echo'</div>';
echo'</td>';
echo'</tr>';
}

foreach($catalogue_1 as $cle =>$values){

$audio = !empty($catalogue_1[$cle]['audio']) ? $catalogue_1[$cle]['audio'] : NULL;
$img = !empty($catalogue_1[$cle]['img']) ? $catalogue_1[$cle]['img'] : NULL;
$img2 = !empty($catalogue_1[$cle]['img_2']) ? $catalogue_1[$cle]['img_2'] : NULL;
$text = !empty($catalogue_1[$cle]['text']) ? $catalogue_1[$cle]['text'] : NULL;
$color = !empty($catalogue_1[$cle]['color']) ? $catalogue_1[$cle]['color'] : NULL;

$lienLecteurAudio = "../page_principal/lecteur-audio.php?id=$cle";


echo' <tr style="background-color:'. $color.';">';
echo'<td>';
echo'<p style="margin-top:-10px;display:inline-block;">'. $text .'</p>';
echo'<div style="float:right;" class="btn_audio">';
echo '<a href="'. $lienLecteurAudio .'" rel="nofollow noopener noreferrer" target="_blank">';
echo '<img style="width="26"; height="24.8" src="'. $img2 .'"></img>';
echo '</a>';
echo'</a>';
echo'</div>';
echo'</td>';
echo'</tr>';
}

?>
</section>
</table>
<section>
<article class="title_audio">
<hr style="border:1px solid #979797;margin:30px 0;"/>
<p class="title_livres"><b>AU BOULOT</b> !
<span style="font-weight:400;">Livre 2</span>
</p>
<hr style="border:1px solid #979797;margin:30px 0;"/>
</article>
<table class="post audio_table">
<?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

require_once "../inc/inc_catalogue.php";



foreach($secondcatalogue as $cle =>$values){

$audio = !empty($secondcatalogue[$cle]['audio']) ? $secondcatalogue[$cle]['audio'] : NULL;
$img = !empty($secondcatalogue[$cle]['img']) ? $secondcatalogue[$cle]['img'] : NULL;
$img2 = !empty($secondcatalogue[$cle]['img_2']) ? $secondcatalogue[$cle]['img_2'] : NULL;
$text = !empty($secondcatalogue[$cle]['text']) ? $secondcatalogue[$cle]['text'] : NULL;
$color = !empty($secondcatalogue[$cle]['color']) ? $secondcatalogue[$cle]['color'] : NULL;

$lienLecteurAudio = "../page_principal/lecteur-audio.php?id=$cle";



echo' <tr style="background-color:'. $color.';">';
echo'<td>';
echo'<p style="margin-top:-10px;display:inline-block;">'. $text .'</p>';
echo'<div class="btn_audio">';
echo '<a href="'. $lienLecteurAudio .'" rel="nofollow noopener noreferrer" target="_blank">';
echo '<img style="width="26"; height="24.8" src="'. $img2 .'"></img>';
echo '</a>';
echo'</a>';
echo'</div>';
echo'</td>';
echo'</tr>';
}


foreach($secondcatalogue_1 as $cle =>$values){

$audio = !empty($secondcatalogue_1[$cle]['audio']) ? $secondcatalogue_1[$cle]['audio'] : NULL;
$img = !empty($secondcatalogue_1[$cle]['img']) ? $secondcatalogue_1[$cle]['img'] : NULL;
$img2 = !empty($secondcatalogue_1[$cle]['img_2']) ? $secondcatalogue_1[$cle]['img_2'] : NULL;
$text = !empty($secondcatalogue_1[$cle]['text']) ? $secondcatalogue_1[$cle]['text'] : NULL;
$color = !empty($secondcatalogue_1[$cle]['color']) ? $secondcatalogue_1[$cle]['color'] : NULL;

$lienLecteurAudio = "../page_principal/lecteur-audio.php?id=$cle";



echo' <tr style="background-color:'. $color.';">';
echo'<td>';
echo'<p style="margin-top:-10px;display:inline-block;">'. $text .'</p>';
echo'<div style="float:right;" class="btn_audio">';
echo '<a href="'. $lienLecteurAudio .'" rel="nofollow noopener noreferrer" target="_blank">';
echo '<img style="width="26"; height="24.8" src="'. $img2 .'"></img>';
echo '</a>';
echo'</a>';
echo'</div>';
echo'</td>';
echo'</tr>';
}
?>






	<?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

require_once "../inc/inc_catalogue.php";

$id = !empty($_GET['id']) ? $_GET['id'] : NULL;

if($id){

$audio = !empty($catalogue[$id]['audio']) ? $catalogue[$id]['audio'] : NULL;
$img = !empty($catalogue[$id]['img']) ? $catalogue[$id]['img'] : NULL;
$img2 = !empty($catalogue[$id]['img_2']) ? $catalogue[$id]['img_2'] : NULL;
$text = !empty($catalogue[$id]['text']) ? $catalogue[$id]['text'] : NULL;
$color = !empty($catalogue[$id]['color']) ? $catalogue[$id]['color'] : NULL;


echo '<img style="width="950"; height="450" src="' . $img .'" alt="l\'image du son">';
echo'</br>';
echo'<audio style="width:275px; height=80px" controls="controls">';
echo'<source src="'. $audio .'" type="audio/mp3" />';
echo'Votre navigateur n\'est pas compatible';
echo'</audio>';
echo'<a href="'. $audio .'" download>';
echo'<img style="width="76"; height="76" src="../img/bouton-telecharger.png">';
echo'</a>';


}else{
echo "Catalogue inconnu !";
}



?>

poutant ça devrai le faire pour tout les choix
Commenter la réponse de boni91

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.