raccourci bout de code

Invité
Invité n'ayant pas de compte PHPfrance

04 mars 2007, 17:29

Bonjour à tous,
j'utilise un bout de code pour pousser les champs d'un résultat de requete sql dans un tableau. ça me donne
while ($row = mysql_fetch_array($result)) {
	array_push($data, $row['idRecord']);
	array_push($data, $row['idLivre']);
	array_push($data, $row['titreSousTitre']);
                ...
}
Si ma table contient 100 champs, je dois tous les écrire dans la boucle.
N'y a t il pas un moyen d'éviter de saisir tous les champs?

ViPHP
ViPHP | 3607 Messages

04 mars 2007, 17:46

tu peux utiliser foreach:
while ($row = mysql_fetch_array($result)) {
    foreach($row as $key=>$value){
        $data[$key]=$value;
    }
}
mais je ne voit pas l'interet d'un tel code, puisque au final, $data sera égal à $row...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 mars 2007, 17:50

Toujours bon de lire la doc :
array_push() considère array comme une pile, et empile les variables var, ... à la fin de array. La longueur du tableau array augmente d'autant. Cela a le même effet que
<?php
$array[] = $var;
?>
et voilà... pas besoin d'un tableau associatif ET d'un tableau indexé numériquement
while ($row = mysql_fetch_assoc($result)) {
    $date[] = $row;
} 
Mais effectivement, pourquoi recréer un tableau ? Explique ce que tu veux faire, il y a peut-être des moyens plus simples

Edit : bon en fait j'ai super raccourci moi je fous tout le tableau directement :lol:

Invité
Invité n'ayant pas de compte PHPfrance

04 mars 2007, 18:42

c'est vrai il y a un tableau inutile dans mon code. merci pour toutes les infos.