Script exportation des lignes d'une table en csv

Ce topic a été résolu
nonesofar13

nonesofar13 Le 6 avril 2016 à 14:30 (Édité le 25 janvier 2019 à 17:50)

Bonjour,
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

nonesofar13 Le 6 avril 2016 à 16:59

Voila mon script. Mais j'ai ce message d'erreur !!


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

nonesofar13 Le 6 avril 2016 à 17:56

Ah je viens de comprendre que les extensions que j'utilise sont obsolètes
PrimFX

PrimFX Le 7 avril 2016 à 12:34

Salut !

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

nonesofar13 Le 7 avril 2016 à 13:41

Salut Primfx,

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.



Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte