Export CSV particulier URGENT HELP!!!

Résolu
ronanT95 Messages postés 2 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009 - 6 janv. 2009 à 17:12
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 6 janv. 2009 à 17:34
Bonjour à tous
je requiert votre aide pour un souci sur lequel j'ai buté toute la journée. voilà, pour ma boite, j'ai créé une interface qui me permet de rentrer les résultats de tests que j'effectue auprès de divers collectifs. Les résultats de ces tests sont stockés dans une base de donnée. Chaque test à sa propre table, et chaque test est différent donc comporte un nombre de question différent.
Lorsque j'ai fini de remplir mes test, je veux récupérer mes données dans un fichier CSV pour les exploiter plustard sous excell.

je veux donc, en fonction du numéro de test demandé via un formulaire, récupérer le fichier csv. Cependant dans le code que j'ai écris je n'arrive pas à récupérer le csv en fonction du test demandé. Mon principal problème c'est le nombre variable de colonne d'un test à l'autre...
Pouvez vous m'aider??? MErci d'avance à tous!

Je pense que j'ai une erreur de logique quelque part, notamment au niveau de la boucle, mais je ne sais pas quoi faire pour le résoudre.
le code:
<?php
session_start();
require ("config.inc.php");
$connection = mysql_connect($server,$user,$pass);
mysql_select_db($base,$connection);

$test = $_POST['test'];// je récupère le numero de test posté via un formulaire

$sql2="SELECT DISTINCT Question.num FROM Question WHERE Question.test='$test' ORDER BY Question.num";
$resultat2=mysql_query($sql2);

$csv_output = "nom;type;niv1;";

$i=0;

While($data=mysql_fetch_array($resultat2)){
$i=$i+1;
$nom_colonne="R".$data[num];  // en fonction du nombre de question du test demandé, je veux rentrer le nombre de colonne de réponse correspondant dans mon fichier csv.

$csv_output =$nom_colonne.";";
}
$csv_output .= "\n";

$sql3 = "SELECT *  FROM Rep".$test;
$resultat3= mysql_query($sql3)
or die('Erreur SQL !
' . $query . '
' . mysql_error());

//Boucle sur les resultats
while($row = mysql_fetch_array($resultat3)) {

$csv_output.="$row[nom];$row[type];$row[niv1];";
$j=0;
While($data2=mysql_fetch_array($resultat2)){
$j=$j+1;
$nom_colonne1=$data2[num];
$csv_output.="$row[$nom_colonne1];";
}
$csv_output .= "\n";
}
mysql_free_result($resultat2);
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename='repTest-'.$test.'-'.date('YmdHis').'.csv');
print $csv_output;
exit;
?>

3 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
6 janv. 2009 à 17:18
indente déjà

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
3
ronanT95 Messages postés 2 Date d'inscription mardi 6 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
6 janv. 2009 à 17:31
Mais encore...?
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
6 janv. 2009 à 17:34
Exemple d'indentation...
http://www.gaboly.com/VBA/Indentation.html

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
Rejoignez-nous