Exportation mysql vers excel

Fermé
yoann72 - 10 févr. 2010 à 14:05
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 11 févr. 2010 à 14:06
Bonjour,

j'ai un petit souci je veux, avec php, exporter le résultat d'une requête dans un tableau excel, le problème c'est que je n'ai rien qui s'affiche à par les noms de colonnes que je lui est demandé de mettre. Ma requête fonctionne très bien quand je la teste donc si quelqu'un à une idée j'en serait vraiment ravi.

Merci
A voir également:

12 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
11 févr. 2010 à 09:39
bonjour,

le retour de la requête dans $data dit que le nom est dans realname il faut donc
coder
$tbl = $tbl . "<td>" . $data['realname'] . "</td>";
1
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
10 févr. 2010 à 14:09
Bonjour,
si le problème n'est pas au niveau de la requête, il doit être au niveau de l'afficahge.
0
C'est je que je pense aussi.
Je met le code car ma je vois pas de trop !
<?php

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=nom_fichier.txt");


/*// selectionner la base de données
$host = localhost;//la_machine

$user = root;//votre_login

$bdd = glpi;//Nom_de_la_base_de_donnees

$passwd  = passe;*/

// Connexion au serveur
$connect=mysql_connect("localhost","root","passe") or die("erreur de connexion au serveur");

$db=mysql_select_db("glpi", $connect) or die("erreur de connexion a la base de donnees");

//Requête SQL
$sql = "select glpi_users.realname, glpi_users.firstname, glpi_dropdown_tracking_category.completename, glpi_tracking.realtime
FROM glpi.glpi_dropdown_tracking_category, glpi.glpi_tracking,glpi.glpi_users
where glpi_dropdown_tracking_category.id=glpi.glpi_tracking.category
and glpi.glpi_tracking.assign = glpi_users.id
Order by glpi_users.name, glpi_dropdown_tracking_category.completename";


$tbl= " <table border='0' cellpadding='0' cellspacing='0'>
<tr bgcolor='#CCCCCC' height='40px'>
<td>Nom de l'utilisateur</td>
<td>Prénom de l'utilisateur</td>
<td>Catégorie</td>
<td>Temps passé dessus</td>
</tr>";

while ($data = mysql_fetch_array($sql))
{
$tbl = $tbl . "<tr>";
$tbl = $tbl . "<td>" . $data["Nom de l'utilisateur"] . "</td>";
$tbl = $tbl . "<td>" . $data["Prénom de l'utilisateur"] . "</td>";
$tbl = $tbl . "<td>" . $data["Catégorie"] . "</td>";
$tbl = $tbl . "<td>" . $data["Temps passé dessus"] . "</td>";
$tbl = $tbl . "</tr>";
}
$tbl = $tbl . "</table>";

print $tbl ;
mysql_close($connect)
?>
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
10 févr. 2010 à 14:20
bonjour(re)

j'airai fait un truc du genre :


$sql = "select glpi_users.realname, glpi_users.firstname, glpi_dropdown_tracking_category.completename, glpi_tracking.realtime
FROM glpi.glpi_dropdown_tracking_category, glpi.glpi_tracking,glpi.glpi_users
where glpi_dropdown_tracking_category.id=glpi.glpi_tracking.category
and glpi.glpi_tracking.assign = glpi_users.id
Order by glpi_users.name, glpi_dropdown_tracking_category.completename";

$result = mysql_query($sql);

$tbl= " <table border='0' cellpadding='0' cellspacing='0'>
<tr bgcolor='#CCCCCC' height='40px'>
<td>Nom de l'utilisateur</td>
<td>Prénom de l'utilisateur</td>
<td>Catégorie</td>
<td>Temps passé dessus</td>
</tr>";

while ($data = mysql_fetch_array($result))
0
J'avais déjà testé et sa me sort la même chose !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
10 févr. 2010 à 14:33
alors il faut tracer et voit avant affichage ce que renvoit la requête.

echo "<pre>"; print_r($data);echo"</pre>";
pour voir si les noms utilisés sont ceux retournés par la requête.
0
Cela me retourne cela dans mon tableau :

select glpi_users.realname, glpi_users.firstname, glpi_dropdown_tracking_category.completename, glpi_tracking.realtime FROM glpi.glpi_dropdown_tracking_category, glpi.glpi_tracking,glpi.glpi_users where glpi_dropdown_tracking_category.id=glpi.glpi_tracking.category and glpi.glpi_tracking.assign = glpi_users.id Order by glpi_users.name, glpi_dropdown_tracking_category.completename
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
10 févr. 2010 à 14:46
la requête estb retournée dans le tableau ???????


while ($data = mysql_fetch_array($result)) {
echo "<pre>"; print_r($data);echo"</pre>";
0
Volià il me retourne sa le problème c'est que moi je lui est demandé de me retourner que le realname, le first name et le completename

[0] => NOM
[realname] => NOM
[1] => Prenom
[firstname] => Prenom
[2] => Projet > Solutions industriels Graphiques > COSWIN Wizernes
[completename] => Projet > Solutions industriels Graphiques > COSWIN Wizernes
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
10 févr. 2010 à 17:38
et dans le code on demande d'afficher :
$tbl = $tbl . "<td>" . $data["Nom de l'utilisateur"] . "</td>";
$tbl = $tbl . "<td>" . $data["Prénom de l'utilisateur"] . "</td>";
$tbl = $tbl . "<td>" . $data["Catégorie"] . "</td>";
$tbl = $tbl . "<td>" . $data["Temps passé dessus"] . "</td>";
$tbl = $tbl . "</tr>";

c'est pas les mêmes noms de variables alors ...$data["Nom de l'Utilisateur"] il ne connait pas !
0
J'ai essayer ce matin et rien ne change !!! Est ce que sa pourrait pas venir du fait que ma base est en myisam ???
0
C'est bon je l'avais trouver mais j'ai pas eu le temps de répondre. Merci tu m'as beaucoup aidé la dessus car je voyait pas trop comment m'en sortir !! Alors un grand merci ;)
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
11 févr. 2010 à 14:06
de rien,tu peux mettre e sujet en résolu.
merci
0