Enregistre un tableau dans une base de donnees

cs_fadoua123 Messages postés 17 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 18 avril 2009 - 21 févr. 2009 à 11:52
cs_fadoua123 Messages postés 17 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 18 avril 2009 - 25 févr. 2009 à 14:39
Bonjour
svp je veux savoir est ce que c est possible d'enregistrer un tableau multidimensionnelle(comme une matrice)dans base de données,si oui comment
MERCI

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
21 févr. 2009 à 18:42
Salut

Biensur, mais il faut que tu serialise ta matrice pour l'enregistrer par exemple
ou tu la lit et l'enregistre

Apres ca depend comment tu veux utiliser la matrice.

Exemple
1 --> 1@2@3|4@5@6 --> matrice 3 * 2 --> serialiée

2 -->       col 1 | col2 | col3
row 1 ---> 1 | 2 | 3
row 2 ---> 4 | 5 | 6

Voila
0
cs_fadoua123 Messages postés 17 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 18 avril 2009
25 févr. 2009 à 13:36
oui je l ai fais mais je sais pas comment la récupérer , je fais uniserialise mais comment l'afficher?
<?php
$tab1=array('#','c','e','o');
$tab2=array('c','0','0','2');
$tab3=array('e','1','1','8');
$tab4=array('o','1','3','2');
$s=array($tab1,$tab2,$tab3,$tab4);
echo's=', sizeof($s);
$tab5=array('#','c','n');
$tab6=array('c','2','1');
$tab7=array('n','6','3');

$r=array($tab5,$tab6,$tab7,$tab8);
echo ' r=',sizeof($r);

    $w = serialize($s);
require_once("connexion.php");
//mysql_query("INSERT INTO matrice (nom,valeur)VALUES('"."','".$w."')",$connection)  or die (mysql_error());
/**********************************teste d affichage de table de base**************************/

//(exemple)
$NbrLigne = 4;
// La requete (exemple) :
$table = 'matrice';

$requete = "SELECT valeur FROM matrice WHERE nom='fd'";

    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
    $result =mysql_query($requete,$connection) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 
// -------------------------------------------------------
$NbreData = mysql_num_rows($result);

// -------------------------------------------------------
// creation d'un tableau array() par donnees
$k=0;
while ($val = mysql_fetch_arry($result)) {
 
   $u[$k] = $val['valeur'];
   $k++;
}

//echo$tableau2[$k];

// -------------------------------------------------------
// affichage
if ($NbreData != 0) {
   $i = 0;
   $NbrCol =4;
   echo '';
   for ($i=0; $i<$NbrLigne; $i++) {
      echo '----
';
      $j = 0;
      while (($i+($j*$NbrLigne))%$NbrLigne==$i
                       && ($i+($j*$NbrLigne))<$NbreData) {
         echo '';
         // --------------------------------------
         // AFFICHAGE de l'element
         $k = ($i+($j*$NbrLigne));
         //echo $tableau1[$k];
         echo '
';
         echo ''.$u[$k].'';
         // --------------------------------------
         echo ', ';
         $j++;
         if ($NbrCol<$j) { $NbrCol=$j; }
      }
      echo '';
   }
   echo '
';
} else {
   echo 'pas de données à afficher';
}
?>
</html>
<?php
mysql_close();

/**********************  les elements commuuns  de la matrice d'adjacence de la requete arc***************************/
for ($i = 0; $i <=sizeof($s); $i++) {
for ($j = 0; $j <= sizeof($r); $j++) {
if($s[0][$i]==$r[0][$j]){

for ($k=0;$k<= sizeof($s); $k++) {
$d[$i][$k]=$s[$i][$k];
}}}}

for ($i = 0; $i <= sizeof($s); $i++) {
for ($j = 0; $j <= sizeof($r); $j++) {
if($d[0][$i]==$r[0][$j]){

for ($k = 0; $k <= sizeof($s); $k++) {
$arc[$k][$i]=$d[$k][$i];
}}}}//echo $arc[2][2];

//echo'les elements commun de la matrice requete arc=
';

/**********************  les elements communs  de la matrice d'adjacence du modele de base amc***************************/
for ($i = 0; $i <= sizeof($r); $i++) {
for ($j = 0; $j <= sizeof($s); $j++) {
if($r[0][$i]==$s[0][$j]){

for ($k=0;$k<= sizeof($s); $k++) {
$z[$i][$k]=$r[$i][$k];
}}}}
//echo $d[2][1];
for ($i = 0; $i <= sizeof($r); $i++) {
for ($j = 0; $j <= sizeof($s); $j++) {
if($z[0][$i]==$s[0][$j]){

for ($k = 0; $k <= sizeof($r); $k++) {
$amc[$k][$i]=$z[$k][$i];echo $amc[3][2];
}}}}

echo'les elements commun de la matrice requete Arc et du modele de base Amc=
';
echo'';

for ($i = 0; $i <= sizeof($s); $i++) {
 echo'----
';
for ($j = 0; $j <= sizeof($s); $j++) {
echo'';
echo $arc[$i][$j];
echo', ';
}
if($arc[$i][0]<>\"\"){
echo \"   \";
echo'
';}
echo'';}
echo'<table border=2 bgcolor=\"red\" >';
for ($i = 0; $i <= sizeof($r); $i++) {
 echo'----
';
for ($j = 0; $j <= sizeof($r); $j++) {
echo'';
echo $amc[$i][$j];
echo', ';
}
if($amc[$i][0]<>\"\"){
echo \"   \";
echo'
';}
echo'';}

/**************************calcule de arc - amc *******************/
    $t1=array();
//echo'la difference est: Arc-Amc =
';
echo'<table border=2 bgcolor=\"coral\" >';
for ($i = 1; $i < sizeof($arc); $i++) {
 //echo'----
';
for ($j = 1; $j <sizeof($arc); $j++) {
//echo'';
 $t1[$i][$j]=abs($arc[$i][$j]-$amc[$i][$j]);
//echo $t1[1][2]=($arc[1][2]-$amc[1][2]);
//echo $t1[2][1]=($arc[2][1]-$amc[2][1]);
//echo $t1[2][2]=($arc[2][2]-$amc[2][2]);

 echo', ';
}
echo'';}
/********************calcule de cardinale de (arc-amc)***************************/
$c1=0;

for ($i = 0; $i <= sizeof($t1); $i++) {

for ($j = 0; $j <= sizeof($t1); $j++) {
$c1=$c1+$t1[$i][$j];
}
}
echo'le cardinale est: card(Arc - Amc)= ';
echo $c1;
/***************************les elements non communs de la matrice requete arnc*************************/
for ($i = 0; $i <= sizeof($s); $i++) {
for ($j = 0; $j <= sizeof($r); $j++) {
if($s[0][$i]==$r[0][$j]){

for ($k=0;$k<= 3; $k++) {
$g[$i][$k]=$s[$i][$k];
}}
}
}

for ($i = 0; $i <= sizeof($s); $i++) {
for ($j = 0; $j <= sizeof($r); $j++) {
if($g[0][$i]==$r[0][$j]){

for ($k = 0; $k <= 3; $k++) {
$arnc[$k][$i]=$g[$k][$i];
}}
}
}
echo'<h1>les elements non commun de la matrice de base Arnc =>
';
echo'<table border=2 bgcolor=\"green\" >';
for ($i = 0; $i <= sizeof($s); $i++) {
echo'----
';
for ($j = 0; $j <= sizeof($s); $j++) {
if($arnc[$i][$j]==\"\"){

echo'';
echo $s[$i][$j];
echo', ';
}
else{
echo'';
echo "";
echo', ';
}
}
echo \"   \";
echo'
';
echo'';}
echo'
';
/***************************les elements non communs de la matrice de base amnc*************************/
for ($i = 0; $i <= sizeof($s); $i++) {
for ($j = 0; $j <= sizeof($r); $j++) {
if($s[0][$i]==$r[0][$j]){

for ($k=0;$k<= 3; $k++) {
$l[$i][$k]=$r[$i][$k];
}}
}
}
for ($i = 0; $i <= sizeof($r); $i++) {
for ($j = 0; $j <= sizeof($s); $j++) {
if($l[0][$i]==$s[0][$j]){

for ($k = 0; $k <= 2; $k++) {
$amnc[$k][$i]=$l[$k][$i];
}}
}
}
echo'les elements non commun de la matrice de base Amnc =>
';
echo'';
for ($i = 0; $i <= sizeof($r); $i++) {
echo'----
';
for ($j = 0; $j <= sizeof($r); $j++) {
if($amnc[$i][$j]==\"\"){

echo'';
echo $r[$i][$j];
echo', ';
}
else{
echo'';
echo "";
echo', ';
}
}
echo \"   \";
echo'
';
echo'';}
echo'
';
/*********************************************************calcule de Arnc - Amnc*************************/
$t2=array();
//echo'la difference des deux : Arnc - Amnc => 
';
echo'<table border=2 bgcolor="red" >';
for ($i = 1; $i <= sizeof ($arnc); $i++) {
 //echo'<tr>';
for ($j = 1; $j <=sizeof ($arnc); $j++) {
//echo'<td >';
//echo
    $t2[$i][$j]=(($s[$i][$j]-$arnc[$i][$j])-($r[$i][$j]-$amnc[$i][$j]));

// echo'</td>';
}
//echo'</tr>';
}
/********************calcule de cardinale de (arnc-amnc)***************************/
$c2=0;

for ($i = 0; $i <= sizeof($t2); $i++) {

for ($j = 0; $j <= sizeof($t2); $j++) {
$c2=$c2+$t2[$i][$j];
}
}
echo'<h1>le cardinale est: card(Arnc - Amnc)= ';
echo $c2;

/****************calcule de l'equation 17*****************/
$c3=0;
if($c2!= 0 or $c1=!0){
$c3=($c1/($c1+$c2));

echo'<h1> l equation 17= ';
echo $c3;}
?>
0
cs_fadoua123 Messages postés 17 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 18 avril 2009
25 févr. 2009 à 14:39
pardonne pas besoin de voir ts ce code,voila le code:

<?php
$tab1=array('#','c','e','o');
$tab2=array('c','0','0','2');
$tab3=array('e','1','1','8');
$tab4=array('o','1','3','2');
$s=array($tab1,$tab2,$tab3,$tab4);
echo's=', sizeof($s);
$tab5=array('#','c','n');
$tab6=array('c','2','1');
$tab7=array('n','6','3');

$r=array($tab5,$tab6,$tab7,$tab8);
echo ' r=',sizeof($r);

    $w = serialize($s);
require_once("connexion.php");
//mysql_query("INSERT INTO matrice (nom,valeur)VALUES('"."','".$w."')",$connection)  or die (mysql_error());
/**********************************teste d affichage de table de base**************************/

//(exemple)
$NbrLigne = 4;
// La requete (exemple) :
$table = 'matrice';

$requete = "SELECT valeur FROM matrice WHERE nom='fd'";

    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
    $result =mysql_query($requete,$connection) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 
// -------------------------------------------------------
$NbreData = mysql_num_rows($result);

// -------------------------------------------------------
// creation d'un tableau array() par donnees
$k=0;
while ($val = mysql_fetch_arry($result)) {
 
   $u[$k] = $val['valeur'];
   $k++;
}

//echo$tableau2[$k];

// -------------------------------------------------------
// affichage
if ($NbreData != 0) {
   $i = 0;
   $NbrCol =4;
   echo '';
   for ($i=0; $i<$NbrLigne; $i++) {
      echo '----
';
      $j = 0;
      while (($i+($j*$NbrLigne))%$NbrLigne==$i
                       && ($i+($j*$NbrLigne))<$NbreData) {
         echo '';
         // --------------------------------------
         // AFFICHAGE de l'element
         $k = ($i+($j*$NbrLigne));
         //echo $tableau1[$k];
         echo '
';
         echo ''.$u[$k].'';
         // --------------------------------------
         echo ', ';
         $j++;
         if ($NbrCol<$j) { $NbrCol=$j; }
      }
      echo '';
   }
   echo '
';
} else {
   echo 'pas de données à afficher';
}
?>
</html>
<?php
mysql_close();
0