Bonjour tout ce que je veux convertir mon tableau en un autre type de tableau, plz m'aider à sortir. je m Utilisation de cette
Array ( [0] => Array ( [user_id] => 250 [name] => a [age] => sfsf [pic_path] => ) [1] => Array ( [user_id] => 251 [name] => b [age] => sfsfs [pic_path] => ) )
5 Réponses :
$data = array(); // create a variable to hold the information
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) !== false){
$data[] = $row; // add the row in to the results (data) array
}
print_r($data); // print result
Update Feb '17 Now that it's 2017, it's advised you use PDOs over mysql_*. A lot safer and can return this natively with fetchAll (as shown in `TrexXx's answer).
@umar: Pas un problème, content d'aider.
Je prétends que le "! == faux" n'est pas nécessaire. Est-ce une faute de frappe?
@ Mat.Viguier devrait le garder car il renvoie des résultats extraites. Si le tableau est vide, c'est aussi FALSY sans être une erreur. Mais def déplace vers PDO, cette API est obsolète et supprimée dans PHP 7
@Bradchristie, si FALSE, $ Les données sont retournées vides. Si vide, $ les données sont retournées vides. Suis-je fausse myslef avec ça? En fait, vous êtes vrai avec PDO. Alors que l'OP fonctionne sur MySQL, je travaille avec MSSQL et PDO semble être une douleur maintenant ...
$rows = array();
while ($result = mysql_fetch_array($result, MYSQL_ASSOC)) {
$rows[] = $result;
}
Vous ne pouvez pas obtenir un tableau multidimensionnel de la recherche de votre requête SQL dans une seule commande. Vous devez répéter la fonction Vous pouvez également utiliser Pour atteindre votre objectif: P> mysql_fetch_array code> une fois par ligne de résultat SQL par SQL. mysql_fetch_assoc code> pour obtenir les résultats en tant que tableau associatif. P> $num = mysql_num_rows($result);
for ($i = 0; $i < $num; $i++)
{
$myArray[] = mysql_fetch_assoc($result);
}
Si vous devez stocker toutes les lignes retournées par la requête dans un tableau, essayez ceci:
$result = array();
while ( $row = mysql_fetch_array($result, MYSQL_ASSOC) ){
$result[] = $row
}
Le seul moyen d'éviter de faire une boucle utiliserait PDO A > (Objets de données PHP) qui est un meilleur moyen d'accéder à la base de données en PHP et vous pouvez le faire: $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$q = $pdo->query('select * from yourtable');
$r = $q->fetchAll();
var_dump($r);