2010-12-15 149 views
1

Je ai googlé et trouvé aucune solution valable. J'espère que quelqu'un ici aidera. Voici mon code:stocker des valeurs de la table mysql dans un tableau en php

  <?php 
     include "../includes/connection.php"; 
     $sql_select="SELECT title FROM questions"; 

     if (!$result=mysql_query($sql_select)) 
     { 
     echo "Error<br>" . mysql_error($sql_select); 
     die(); 
     } 
     if (mysql_num_rows($result)==0) { 
      echo "No questions!"; 
     } 
     else { 

      $titles = mysql_fetch_array($result); 
      print_r($titles); 
     } 
     ?> 

Aux fins de mon application web je dois mettre les titres en question un nouveau tableau. Je pensais que la fonction mysql_fetch_array() crée un tableau par lui-même, mais je suppose que j'avais tort. Toute aide? Merci

+1

Qu'est-ce que vous obtenez lorsque vous faites print_r? – Simon

+1

@Farid: Il obtient probablement un résultat. – Jonah

+2

FYI ne passe pas la chaîne '$ sql_select' à mysql_error. Vérifiez les docs. – webbiedave

Répondre

2
$result = mysql_query('select * from table'); 

$table = array(); 
while($r = mysql_fetch_array($result) { 
    $row = array(); 
    foreach($r as $k=>$v) { 
     $row[$k] = $v; 
    } 
    array_push($table,$row); 
    unset($row); 
} 

$ table sera une représentation en tableau 3d de votre table. $ table [0] ['title'] sera le titre de sa première rangée.

5

Vous devez déplacer $titles = mysql_fetch_array($result); dans une boucle comme ceci:

$titles = array(); 
while ($title = mysql_fetch_array($result)) { 
    $titles[] = $title; 
} 

Une autre note, retirez l'argument que vous avez placé dans mysql_error().

+0

Je l'ai fait tout, merci :) –

+0

Je ne peux pas l'accepter plus tôt que je suis autorisé à. Je le ferai, ne vous inquiétez pas :) –

+0

Je déclarerais toujours '$ titles' comme' $ titles = array() '. Rend le code plus facile à comprendre. –