IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

"unserialize" pour matrice enregistrée dans une base de données [Fait] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 55
    Points
    55
    Par défaut "unserialize" pour matrice enregistrée dans une base de données
    bonjour
    voile j'ai fais ce programme le bute est d'enregistrer une matrice dans une base de données et la récupérer après pour faire des calcule la dessus
    voila j ai pu faire la 1parti, mais qd je récupère la matrice il est sérialiser, mais moi je veux la vrai matrice(comme la vrai)
    svp si qlq un peux m'aider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <?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) :
     
    $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 !<br />'.$sql.'<br />'.mysql_error()); 
    // -------------------------------------------------------
    $NbreData = mysql_num_rows($result);
    // -------------------------------------------------------
    // creation d'un tableau array() par donnees
    $k=0;
    while ($val = mysql_fetch_array($result)) {
      //$z=$data['valeur'];
                 //$e=;
                //echo $e;
       $tableau1[$k] = $val['nom'];
       $tableau2[$k] = $val['valeur'];
       $k++;
    }
     
     
    // -------------------------------------------------------
    // affichage
    if ($NbreData != 0) {
       $i = 0;
       $NbrCol = 0;
       echo '<table border="1">';
       for ($i=0; $i<$NbrLigne; $i++) {
          echo '<tr>';
          $j = 0;
          while (($i+($j*$NbrLigne))%$NbrLigne==$i
                           && ($i+($j*$NbrLigne))<$NbreData) {
             echo '<td>';
             // --------------------------------------
             // AFFICHAGE de l'element
             $k = ($i+($j*$NbrLigne));
             //echo $tableau1[$k];
             echo '<br/>';
             echo '<i>'.$tableau2[$k].'</i>';
             // --------------------------------------
             echo '</td>';
             $j++;
             if ($NbrCol<$j) { $NbrCol=$j; }
          }
          echo '</tr>';
       }
       echo '</table>';
    } else {
       echo 'pas de données à afficher';
    }
    ?>
    </body></html>
    <?php
    mysql_close();

  2. #2
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    J'ai peut-etre mal compris mais ca ne marche pas ca :
    http://uk2.php.net/manual/fr/function.unserialize.php
    ?
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 55
    Points
    55
    Par défaut
    bonjour
    mais qd je fais uniserialize il m'affiche rien(juste arry) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <?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) :
     
    $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 !<br />'.$sql.'<br />'.mysql_error()); 
    // -------------------------------------------------------
    $NbreData = mysql_num_rows($result);
    // -------------------------------------------------------
    // creation d'un tableau array() par donnees
    $k=0;
    while ($val = mysql_fetch_array($result)) {
      //$z=$data['valeur'];
                 //$e=;
                //echo $e;
          $tableau2[$k] = uniserialize(val['valeur']);
       $k++;
    }
     
     
    // -------------------------------------------------------
    // affichage
    if ($NbreData != 0) {
       $i = 0;
       $NbrCol = 0;
       echo '<table border="1">';
       for ($i=0; $i<$NbrLigne; $i++) {
          echo '<tr>';
          $j = 0;
          while (($i+($j*$NbrLigne))%$NbrLigne==$i
                           && ($i+($j*$NbrLigne))<$NbreData) {
             echo '<td>';
             // --------------------------------------
             // AFFICHAGE de l'element
             $k = ($i+($j*$NbrLigne));
                    echo '<br/>';
             echo '<i>'.$tableau2[$k].'</i>';
             // --------------------------------------
             echo '</td>';
             $j++;
             if ($NbrCol<$j) { $NbrCol=$j; }
          }
          echo '</tr>';
       }
       echo '</table>';
    } else {
       echo 'pas de données à afficher';
    }
    ?>
    </body></html>
    <?php
    mysql_close();
    et je sais pas pourquoi

  4. #4
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Coucou,

    La fonction, c'est unserialize (et pas uniserialize). Et, le fait qu'elle te renvoie un array, c'est plutot normal non ?

    Ensuite, tu le passe dans ta serie de boucles pour en imprimer les valeurs.
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/09/2013, 10h44
  2. Réponses: 8
    Dernier message: 13/05/2008, 22h15
  3. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  4. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo