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

Messages postés
23
Date d'inscription
dimanche 12 novembre 2017
Statut
Membre
Dernière intervention
22 juillet 2018
- - 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 

10 réponses

Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321
0
Merci
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
Messages postés
23
Date d'inscription
dimanche 12 novembre 2017
Statut
Membre
Dernière intervention
22 juillet 2018
0
Merci
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.
jordane45
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321 -
Il affiche quoi et où exactement ??
> jordane45
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
-
bonjour Jordane, sur la liste des menus(choix)page principale, il y a d'une part le descriptif du choix sans l image du haut parleur(image) pour cliquez dessus et en dessous il y a une phrase qui s'affiche avec le code html et css avec l'image du haut parleur,merci encore pour ta réaction, sur la page principale je voudrai avoir le descriptif et l image cliquable, puis quand on clic sur l'image ça ouvre une deuxième page ou j'afficherai une image avec un lecteur audio avec le son correspondant au choix cliquez, par contre si sait une function comment je fais pour la récuperré sur l'autre page.
jordane45
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321 > boni91 -
Attends .. tu veux juste des liens ???

Dans ce cas... il te suffit d'utiliser la balise <a> !!

par exemple :
echo '
<a href="lapageaouvrir.php?id=" rel="nofollow noopener noreferrer" target="_blank"'.$cle.'">
  <img src="'.$lienverslimage.'"></img>
  <span> ici la description ...</span>
</a>


Et dans ton autre page lapageaouvrir.php ..il te suffit d'utiliser la variable GET
 $cle = !empty($_GET['id']) ? $_GET['id'] : NULL;
merci Jordane, si je comprend bien je ne passe plus par le formulaire mais directement par les balises a, donc je remplace les balises input par les balises a, par contre
 target="_blank"'. $cle .'"
est ce que ça veut dire " tu m'ouvre une page et tu m envoie la cle correspondante au choix" pour la recuperré sur l'autre page,
jordane45
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321 > boni91 -
C'est le site code-source qui a mal retranscrit ce que j'avais écrit ...
il fallait lire :
 href="lapageaouvrir.php?id=" '.$cle.'"
Commenter la réponse de boni91
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321
0
Merci
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
Messages postés
23
Date d'inscription
dimanche 12 novembre 2017
Statut
Membre
Dernière intervention
22 juillet 2018
0
Merci
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
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321
0
Merci
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
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321 -
NB: Il faut retirer le rel="nofollow noopener noreferrer" target="_blank" qui s'ajoute automatiquement.
Commenter la réponse de jordane45
0
Merci
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
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321 -
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
Messages postés
23
Date d'inscription
dimanche 12 novembre 2017
Statut
Membre
Dernière intervention
22 juillet 2018
0
Merci
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
Messages postés
27269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
321 -
il faut retirer le $ devant id
Commenter la réponse de boni91
Messages postés
23
Date d'inscription
dimanche 12 novembre 2017
Statut
Membre
Dernière intervention
22 juillet 2018
0
Merci
merci mais j ai essayer toujours pareil
Commenter la réponse de boni91
Messages postés
23
Date d'inscription
dimanche 12 novembre 2017
Statut
Membre
Dernière intervention
22 juillet 2018
0
Merci
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
Merci
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