Enregistre un tableau dans une base de donnees

Signaler
Messages postés
17
Date d'inscription
mardi 27 février 2007
Statut
Membre
Dernière intervention
18 avril 2009
-
Messages postés
17
Date d'inscription
mardi 27 février 2007
Statut
Membre
Dernière intervention
18 avril 2009
-
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

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
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
Messages postés
17
Date d'inscription
mardi 27 février 2007
Statut
Membre
Dernière intervention
18 avril 2009

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;}
?>
Messages postés
17
Date d'inscription
mardi 27 février 2007
Statut
Membre
Dernière intervention
18 avril 2009

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();