2 votes

php affiche plusieurs echo lors de la récupération de la base de données

Je reçois plusieurs valeurs de la base de données lorsque j'utilise foreach, merci de m'aider.

function display($host,$user,$pass,$database)
      {
        $db = mysql_connect($host, $user, $pass); 
        mysql_select_db ($database);        
        $query = "SELECT * FROM `sysdes_moduleinfo`"; 
        $result = mysql_query($query) OR die(mysql_error()); 
        $i=0;
        while($row = mysql_fetch_array($result)) 
        {
            /*$max = count($row);
            while($i<6) {
            echo $row[$i]." ";
            $i++;
            }*/
            foreach ($row as $value)
            {
                //echo $value . " ";
                echo htmlspecialchars($value);
             }
            echo "<br/>";
        }

Voici ce que j'obtiens avec ce code. enter image description here .

Voici ce que j'ai dans la base de données. enter image description here

5voto

AeroX Points 1763

Le type de résultat par défaut pour mysql_fetch_array est de renvoyer les données à la fois sous forme de nombre et de tableau associatif. C'est pourquoi les données sont dupliquées. Essayez d'utiliser mysql_fetch_row à la place.

Cependant, il faut noter que mysql_fetch_array et mysql_fetch_row sont tous deux obsolètes.

1voto

som Points 4614
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
       foreach ($row as $value)
       {
           //echo $value . " ";
           echo htmlspecialchars($value);
       }
       echo "<br/>";
 }

mysql_fetch_array renvoie un tableau numérique et associatif.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X