2010-08-18 2 views
1

Je ne suis pas vraiment nouveau à PHP mais je n'ai pas beaucoup utilisé MySQL, donc je vais vous poser des questions à propos de celui-ci.mysql_fetch_array Renvoyer deux de tout

J'ai une base de données avec une ligne de données, qui consiste en une date et deux entiers. Cependant, quand je fais une recherche la base de données avec ceci:

$query = "SELECT * FROM history"; 
$theQuery = mysql_query($query, $connect); 
$array = mysql_fetch_array($theQuery); 

... et je fais print_r, je reçois le texte suivant:

Array 
(
    [0] => 2010-08-17 
    [date] => 2010-08-17 
    [1] => 17454 
    [posts] => 17454 
    [2] => 1058 
    [members] => 1058 
) 

Est-ce que je fais quelque chose de mal? Je prévois d'avoir beaucoup de lignes avec une tonne de données et de les imprimer sur une table, ALORS, comment pourrais-je procéder pour le trier?

+2

Oui. La mauvaise chose que vous faites ignore la page de manuel. Il suffit de taper dans la barre d'adresse du navigateur 'php.net/function name' et d'obtenir toutes les réponses à votre question: http://php.net/mysql_fetch_array –

Répondre

1

Première: Vous avez tout droit

Vous pouvez utiliser mysql_fetch_assoc ou mysql_fetch_array(resource $result, MYSQL_ASSOC).

La valeur par défaut est de renvoyer MYSQL_BOTH (tableau associatif + tableau numérique).

Pour plus d'informations, voir mysql_fetch_array.

+0

Merci pour la réponse. ;) – esqew

+0

VOTRE BIENVENUE :) –

0

Le deuxième argument de mysql_fetch_array est optionnel mais par défaut MYSQL_BOTH et vous donnera des valeurs pour les index et les clés. Vous pouvez utiliser MYSQL_ASSOC à la place.

Le manuel PHP sur mysql_fetch_array:

Retourne un tableau de chaînes qui correspond à la ligne récupérée, ou FALSE s'il n'y a pas plus de lignes. Le type de tableau renvoyé dépend de la définition de result_type. En utilisant MYSQL_BOTH (par défaut), vous obtiendrez un tableau avec des index associatifs et numériques. En utilisant MYSQL_ASSOC, vous obtenez seulement des indices associatifs (comme fonctionne mysql_fetch_assoc()), en utilisant MYSQL_NUM, vous obtenez seulement des index numériques (comme fonctionne mysql_fetch_row()).

-1

Avec mysql_fetch_array, vous pouvez l'exécuter dans une boucle,

ex:

while($array = mysql_fetch_array($theQuery)) 
{ 
    echo $array["date"]; 
    echo $array["posts"]; 
    echo $array["members"]; 

} 
Questions connexes