11
votes

Comment itérer en rangée à travers une requête MySQL en PHP

OK, alors j'essaie d'interroger ma base de données et de sélectionner toutes les lignes ayant une certaine valeur. Après cela, je tourne la requête en une matrice avec mysql_fetch_array (), puis j'ai essayé d'itération en rangée à travers la matrice extravagée à l'aide de A pour chaque boucle.

<?php
$query = mysql_query("SELECT * FROM users WHERE pointsAvailable > 0 ORDER BY pointsAvailable Desc");
$queryResultArray = mysql_fetch_array($query);
foreach($queryResultArray as $row)
{
    echo $row['pointsAvailable'];
}
?>


0 commentaires

3 Réponses :


29
votes
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

2 commentaires

Merci tu travailles parfaitement. Il suffit donc de renvoyer une ligne chaque fois que mysql_fetch_array s'appelle-t-il sur la ressource de requête?


Chaque fois que mysql_fetch_array est appelé, il renvoie la ligne actuelle et déplace le pointeur de données à la ligne suivante. Lorsque toutes les lignes sont traversées, il renvoie False et la boucle tandis que la boucle.



0
votes

oui en utilisant mysql_fetch_array ($ résultat) est le moyen d'aller.


0 commentaires

0
votes

avec PHP 7+ devenir le nouveau standard et mysql_fetch_array devenant obsolète Vous devrez commencer à utiliser mysqli_fetch_array em>.

style orienté objet fort> p>

$result = mysqli_query($mysqli, $query);
/* numeric array */
while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
    // Do stuff with $row
}
/* associative array */
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
    // Do stuff with $row
}
/* associative and numeric array */
while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
    // Do stuff with $row
}


0 commentaires