Page 1 sur 1

tableau multidimensionnel

Posté : 27 mai 2008, 23:20
par fredostar
Salut j souhaite programmer un tableau qui donne la valeur 1 à un article sur chaque machine qui le traite et 0 aux autres machines. Voici le code,il ne marche pas et j ss à cours d'idées.Aidez moi svp.
 <? 
mysql_connect("localhost","root","");
mysql_select_db("layout");

// requête SQL qui récupère tous les enregistrements

$select = 'SELECT code_poste FROM poste_de_charge';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );


$select1 = 'SELECT code_article FROM article';
$result1 = mysql_query($select1) or die ('Erreur : '.mysql_error() );

$select2 = 'SELECT code_article,code_poste FROM phase';
$result2= mysql_query($select2) or die ('Erreur : '.mysql_error() );


echo '<table width="10%" border="1" align="center">
  <tr bgcolor="#666666"> 
    <td width="16%" height="23"><h4 align="center">Poste/Machine</h4></td>';
$i=0;
$j=0;
 $poste = array();
 $resultat=array();

//1er ligne constituée des postes de travail
while($abscisse= mysql_fetch_row($result))
{
	echo "<td>$abscisse[0]</td>";  
	$poste[$i]=$abscisse[0];
	$i++;
}	
print("</tr>");

//1ere colonne constituée des articles 
while($ordonnee=mysql_fetch_row($result1))
{  
   print("<tr>");
   print("<td><font color='#000000'>$ordonnee[0]</font></td>");
   
   //afficher la valeur de l'intersection poste de travail/article 
   $select3 = 'SELECT code_poste, code_article FROM phase WHERE code_article='.$ordonnee[0];
   $result3= mysql_query($select3) or die ('Erreur : '.mysql_error() );
   while($rep=mysql_fetch_row($result3))
   {
   $resultat[$j]=$rep[0];
   $j++;
   }	
  
  for ($x=0;$x<$i;$x++)
  {
        
 	   if (is_array($resultat)==$poste[$x])
         echo "<td><font color='#000FFF'>1</font></td>";
       else
  		echo "<td><font color='#000000'>0</font></td>";
 
  }  
	print("</tr>");
}
echo '</table>'."\n";
      ?>

Posté : 28 mai 2008, 00:14
par zeus
Modération :
fredostar, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Posté : 28 mai 2008, 01:04
par AB
Et si tu t'expliquais un peu plus ?

Posté : 28 mai 2008, 02:19
par fredostar
voici le résultat du tableau à partir d'un précédent code :

Code : Tout sélectionner

Poste/Machine C:CO1 C:CO2 C:CO3 P:CU1 P:CU2 P:CU3 P:CU4 P1 0 0 0 1 0 0 0 P2 0 0 0 0 1 0 0 P3 0 0 0 0 0 1 0 P2 0 0 0 1 0 0 0 P3 0 0 1 0 0 0 0
Or je souhaite que les valeurs de chaque poste qui désigne les machines par lesquelles il est traité(valeur "1") se retrouve sur la même ligne au lieu de créer une autre ligne . Ce qui devrait donner le résultat suivant:

Code : Tout sélectionner

Poste/Machine C:CO1 C:CO2 C:CO3 P:CU1 P:CU2 P:CU3 P:CU4 P1 0 0 0 1 0 0 0 P2 0 0 0 1 1 0 0 P3 0 0 1 0 0 1 0