Script exportation des lignes d'une table en csv
- Accueil
- Forum
- Programmation
- PHP
- Script exportation des lignes d'une table en csv
nonesofar13 Le 6 avril 2016 à 14:30 (Édité le 25 janvier 2019 à 17:50)
Dans le cadre d'un projet étudiant. Je dois pouvoir exporter les données d'une table en format excel via un bouton.
Je sais que dans phpmyadmin on peut exporter au format csv.
Je sais pas si cela est possible de le faire en PHP?
Merci d'avance du coup de main 😀.
Bonne journée.
nonesofar13 Le 6 avril 2016 à 16:59 (Édité le 1 janvier 1970 à 01:00)
Call to undefined function mysql_query() in C:\xampp\htdocs\projet_cci_annee\excel.php on line 29
<?php
// Connexion à la base des données
$database = new mysqli("localhost", "root", "", "bdrprojet");
if (mysqli_connect_errno()) {
echo("
<p>
Echec de la connexion avec la base de données.
</p>");
exit();
}
?>
<?php
//Affiche la requete sur la page
$reponse = $database ->query('SELECT TitQuest FROM Questionnaire');
while ($donnees = $reponse->fetch_assoc())
{
echo $donnees['TitQuest'] . '<br />';
}
$reponse->close();
?>
<form method="POST" action="">
<input type="submit" value="Excel !" />
<imput type="text" name="to" />
</form>
<?php
//on exporte la table sous forme d'un tableau de la requete précedante
$requete = "SELECT TitQuest FROM Questionnaire";
$result = mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
mysql_close();
$montablo = array();
while($row = mysql_fetch_array($result, MYSQL_NUM)) {
$montablo[] = implode("t", $row);
}
// on formate le fichier CSV
$montablo = implode("rn", $montablo);
$datestamp = date("Y-m-d");
$filename = $datestamp."_table.csv";
// on insère les en-têtes Excel
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/vnd.ms-excel");
// et on exporte le fichier
echo $montablo;
?>
Voila j'ai un peu avancé 😀 nonesofar13 Le 6 avril 2016 à 17:56 (Édité le 1 janvier 1970 à 01:00)
PrimFX Le 7 avril 2016 à 12:34 (Édité le 1 janvier 1970 à 01:00)
Cool que tu ais pu résoudre ton problème du coup 😋
Par contre un conseil, essaie d'utiliser PDO pour tes requêtes, car mysqli est devenu complètement obsolète 😦 Et encore pire, évite de mélanger les deux comme ce qu'on voit dans le code que tu as envoyé 😒
nonesofar13 Le 7 avril 2016 à 13:41 (Édité le 1 janvier 1970 à 01:00)
Oui parfois une bonne lecture du manuel php permet de sortir de la galère.
Je vais suivre ton conseil, mais je maîtrise pas trop pdo, mais je vais me perfectionner dessus.
Bonne journée et encore merci.