mysql_fetch_array - PHP - Programmation
Marsh Posté le 08-07-2004 à 12:15:52
http://fr.php.net/manual/fr/functi [...] fields.php
Marsh Posté le 08-07-2004 à 12:17:44
foreach($row as $value) echo $value;
optimise ta boucle :
while ($row = mysql_fetch_array($valchamp)) {
...
}
Marsh Posté le 08-07-2004 à 12:35:03
mysql_num_fields me donne le nom des champs mais pas le contenu ?.
Marsh Posté le 08-07-2004 à 12:38:25
matyoo a écrit : mysql_num_fields me donne le nom des champs mais pas le contenu ?. |
Citation : mysql_num_fields() retourne le nombre de champs |
mais le foreach marche aussi
Marsh Posté le 08-07-2004 à 12:45:23
en fait c est pour mettre dans un fichier csv.
donc j'ai utilisé le mysql_num_field pour inscrire en en-tete de mon fichier les noms des champs.
ca ca marche.
maintenant je mes les données des champs dans le fichier csv.
mais je voudrais automaitiser les $row au lieu de les mettre un par un.
Marsh Posté le 08-07-2004 à 12:54:44
Il y a ADOdb qui te permet de faire de l'exportation CSV.
C'est une classe d'abstraction systèmes BDD
pour l'exemple CSV : http://phplens.com/lens/adodb/docs-adodb.htm#ex9
Marsh Posté le 08-07-2004 à 13:26:32
$requete = "select * from $tablename ORDER by $tablename ASC";
if($p = @mysql_query($requete)){
while($r = @mysql_fetch_array($p)){
$values = "$r[0],$r[1],$r[2],$r[3]"; (y en a 10 mais peuvent changer)
fputs($fp,$values); // ecrit dans le fichier
fputs ($fp,"\n" );
}
}
voila le code qui fonctionne.
maintenant je voudrait automatiser les $r[0]...dans $values
Marsh Posté le 08-07-2004 à 13:34:38
Ben utilise le foreach ...
Code :
|
Marsh Posté le 09-07-2004 à 09:05:03
j'ai bien mes données dans mon tableau csv il saute bien 1 ligne pour les différentes entrées,
par contre à chaque ligne il me met les infos en double
colonne1 colonne2 colonne3 colonne4 colonne5 colonne6
nom prenom telephone portable adresse pays
dupond dupond eric eric 0160 0160
durand durand marc marc 0250 0250
le code
$requete = "select * from $tablename ORDER by $tablename ASC";
if($p = @mysql_query($requete)){
while ($r = mysql_fetch_array($p)) {
foreach($r as $valeur) {
$csv = "$valeur,";
fputs($fp,$csv);
}
fputs ($fp,"\n" );
}
}
j'ai enlever le $csv =""; car ca me mettait la premier entrée de ma base sur toutes les lignes.
Marsh Posté le 08-07-2004 à 12:11:27
Bonjour,
j'aimerais pouvoir créer automatiquement les
row[0];
row[1];
suivant le nombre de champ qui existent (car ceux ci peuvent changer, ici dans l exemple j'en ai 2 "nom et prenom" )
exemple :
$requette = "select * from $table";
$valchamp = mysql_query($requette);
for( $j = 0; $j < mysql_num_rows($valchamp); $j++ ) {
$row = mysql_fetch_array($valchamp,$i);
echo row[0];
echo row[1];
}
si je rajoute le champ telephone et le champ portable ca m'en fait 4.
et je ne voudrait pas remodifier le code php en rajoutant :
echo row[0];
echo row[1];
echo row[2];
echo row[3];