Faire un tableau à partir d'un champ d'une table à plusieurs valeurs

Petit nouveau ! | 7 Messages

18 août 2016, 12:01

Bonjour à tous,

une question : j'ai une table " bouquets" dans laquelle j'ai un champ "bouquet_channels " (je travaille avec PhpMyAdmin)
ou j'ai mis plusieurs valeurs id (dans ce champ bouquet_channels bien séparés )

exp:

bouquet_name bouquet_channel

france ["1","6","7","50","51","2","3",]


je veux récupérer les noms de toutes les chaines disponibles pour ce bouquet

sachant que part, j'ai une table Table: streams avec l'id de chaque chaine et sa description : stream_display_name
id: Name:
1 TF1
2 M6
3 W9
4 NRJ12
5 6TER
6 FRANCE 2
etc ...



mon premier page me donne bien un tableau de tous mes chaines avec leur id
<?php

  include("connexion.php");

 $rs2 = mysql_query("SELECT `id`,`stream_display_name` FROM `streams` ");
  
?>

<body>

		 
<section id="main" class="column"> 
<article class="module width_full">
<div id="form_container">
<form action="#" method="get">


<table border="2px">
    <th align="center">
   
ID DS CHAINES
    
    </th>
    <tr>
 
    <td>id:</td>
    <td>Name:</td>
    </tr>
	
	<?php
	while($res=mysql_fetch_assoc($rs2))
	{
    
	$id = Array();
	echo "<tr>";
  
	echo "<td>".$res['id']."</td>";
	echo "<td>".$res['stream_display_name']."</td>";
	echo "</tr>";
	
     }
echo $res['id'] ;
	?>

</table>
    
</div>
<div id='chart_div'></div>
         
</body>

</html>


mon deusième page me donne tous les id des chaines dans mon bouquet
<?php

  include("connexion.php");
 // Create an array to hold our results
   $arr = array();
  
  $rs = mysql_query("SELECT bouquet_channels FROM  `bouquets` WHERE bouquet_name =  'france' ");

  // Add the rows to the array 
   while($obj = mysql_fetch_object($rs)) 
   
   {
   $arr = $obj;
   
 } 

   echo json_encode($arr);
   mysql_close();
   
   

?>


Que dois-je faire pour recupérer un tableau de mon bouquet France ["1","6","7","50","51","2","3",]

comme cet exemple


id Name:

1 TF1
6 FRANCE 2
7 FRANCE 3
50 FRANCE 24
51 FRANCE 5
2 M6
3 W9


Pouvez-vous m'aider ?
d'avance merci pour votre aide précieuse

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

18 août 2016, 13:37

Bonjour,

A mon sens ton schéma de table n'est pas optimal.
Préférablement, tu dois avoir :
- une table bouquets, avec un id_bouquet et le nom de chaque bouquet
- une table chaines, avec un id_chaine et le nom de chaque chaine (et sa description...)
- une table chaines_bouquets qui va juste contenu 2 champs id_bouquet et id_chaine et autant de ligne que de chaine pour chaque bouquet

Et ensuite tu auras juste à faire une requête SQL avec des jointures pour récupérer toutes les infos qu'il te faut.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 7 Messages

18 août 2016, 15:50

Merci de votre aide

MaiS le problème c'est que je peux pas éditer la base car elle est liée à une panel .
donc je veux juste récupérer les noms des chaines qui appartiennent à un un bouquet précis en remplacent les id issus de la requête de mon deusième page par leur nom à partir de mon premier tableau ( id et nom de chaines) sans éditer ou ajouté une table dans la base initiale.

pouvez vous m'aider cordialement