Impossible car si j'exporte le total des données de la table directement depuis ma BDD , je peux les importer dans Excel.
La valeur initiale dans mon php.ini :
Pièce jointe 537219
Je met combien ?
Version imprimable
Impossible car si j'exporte le total des données de la table directement depuis ma BDD , je peux les importer dans Excel.
La valeur initiale dans mon php.ini :
Pièce jointe 537219
Je met combien ?
Tu veux dire export depuis PHPMyadmin ?Citation:
Impossible car si j'exporte le total des données de la table directement depuis ma BDD , je peux les importer dans Excel.
Dans ce cas, ton code doit être buggé.
Je vois pas comment le problème peut venir du code, c'est un code tout simple , je let post ici quand même :
Code qui permet l'export en csv :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <?php $tableau = unserialize(file_get_contents('datefindeb.txt'));// Récupération de la date choisie $datedebut1 =$tableau['datechoixdeb']; $datefin1 = $tableau['datechoixfin']; //echo $datedebut1; //echo 'ttt'; //echo $datefin1; //echo 'ttt'; $date = (new DateTimeImmutable($datedebut1))->setTime(6, 0); $datedebut = $date->format('Y-m-d H:i'); // Changement du format $stampdebut = strtotime($datedebut); $date2 = (new DateTimeImmutable($datefin1))->setTime(6, 0); $datefin = $date2->format('Y-m-d H:i'); // Changement du format $stampfin = strtotime($datefin); //echo $datedebut; //echo 'aaaaaaaaaaaa'; //echo $datefin; //echo 'aaaaaaaaaaaaaa'; //echo $stampdebut; //echo 'aaaaaaaaaa'; //echo $stampfin; error_reporting(0); // Désactiver le rapport d'erreurs $semaine = date("W"); $semaineavant = date("W") -1; $mysqli = new mysqli("localhost", "anniv", "anniversaire", "AUTOMATES"); if ($mysqli->connect_errno) { printf("echec de la connexion : %s\n", $mysqli->connect_error); exit(); } header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=simaproddateschoisies.csv'); $output = fopen("php://output", "w"); fputcsv($output, array('ID','TIMER','WEEK','OF','CODE','LINK','EQUIPE','DESCRIPTION','LINE','compteur','SPEED','STATUS','D1','D2','D3','D4','D5','D6','D7','D8','D9','D10','D11','D12','JOUR','THEORIQUE','NUMEQUIPE','JOURPROD','STERILISATION','FV','OSCAR','AP_NP','COMMENTAIRES','TYPE_2','EQUIPEMENT','CAUSE_1','CAUSE_2','FARINE','TV','OSCAR1','STERILISATION45','DATE_CONVERTIE','TEMPS_PERDU_SOUS_CADENCE_STD','TEMPS_DE_PRODUCTION_NOMINAL','SOUS_CADENCE_TV','SOUS_CADENCE_OSCAR','SOUS_CADENCE_STERILISATION','TOTAL_SOUS_CADENCE','CADENCE_NOMINALE_35','CADENCE_NOMINALE_45','ANNEE','MOIS','SEMAINE','CONCATENATION_CAUSE','TEMPS_ARRET','NB_CAUSE','NB_OF')); $sqlsimatimer = "SELECT * FROM AUTOMATES.SIMAPROD WHERE TIMER <='$stampfin' AND TIMER >='$stampdebut'"; $result = mysqli_query($mysqli, $sqlsimatimer); while($row = mysqli_fetch_assoc($result)) { fputcsv($output, $row); } fclose($output); ?>
code où l'utilisateur saisie la date :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58<div data-role="content"> <div class="ui-grid-b my-breakpoint"> <div class="ui-block-a"> <center><b><p> DATE DE DEBUT ACTUEL : </b> <!-- AFFICHER LA DATE --> <?php $tableau = unserialize(file_get_contents('datefindeb.txt')); echo $tableau['datechoixdeb']; ?> </center></p> <center><p> <!-- CHOIX DE LA DATE --> <form action="http://10.17.178.179/STATS2/datefindeb.php" method="POST"> <p><b> CHOISIR LA DATE DE DEBUT: <input type="date" name="datechoixdeb" min="2019-10-21"> <br /> DATE DE FIN ACTUEL : </b> <?php $tableau = unserialize(file_get_contents('datefindeb.txt')); echo $tableau['datechoixfin']; ?> <br></br> <b> CHOISIR LA DATE DE FIN: <input type="date" name="datechoixfin" min="2019-10-21"> <button type="submit" data-mini="true" data-inline="true" id="envoiedatedeb" name="envoiedatedeb">Envoyer</button> </form> </center></p></b> </div> <div class="ui-block-b"> <p><center> <a href="http://10.17.178.179/STATS2/exportcsvsimaprod.php" rel="external" data-role="button" data-icon="info" data-mini="true" data-iconpos="left"><h2>Récupération du CSV(datedébut à datefin)</h2></a> </center></p> </div> <div class="ui-block-c"> <p><center> <a href="https://10.17.178.179:12322/?server=localhost&username=OEEMTBO&db=AUTOMATES&select=SIMAPROD" rel="external" data-role="button" data-icon="info" data-mini="true" data-iconpos="right"><h2>Récupération TOTAL des données</h2></a> </center></p> </div> </div> </body> </html> <script> $(function () { //ECRIRE DANS FICHIER TXT //save data to hidden field before submiting the form $('#envoiedatedeb').click(function () { // = nom de bouton d'envoie du formulaire //now submit form document.forms[0].submit(); }); }); </script>
Code pour le fichier txt :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <!DOCTYPE html> <?php $_POST ['datechoixdeb']; $_POST ['datechoixfin']; $tableau = serialize($_POST); file_put_contents('datefindeb.txt',$tableau); ?> <html> <head> <meta http-equiv="refresh" content="2; URL=http://10.17.178.179/STATS2/exportsimaprod.php"> <b><p>Si il n'y a pas de retour automatique :</p></b> <a href="http://10.17.178.179/STATS2/exportsimaprod.php" target="_blank"> <input type="button" value="Retour"> </a> </head> </html>
Voilà ce que donne le fichier txt : a:2:{s:12:"datechoixdeb";s:10:"2020-01-01";s:12:"datechoixfin";s:10:"2020-01-31";}
Fais un echo $sqlsimatimer après son affectation et regarde si la requête SQL est bonne, et essayes de l’exécuter dans phpmysql.
Date choisit :
Pièce jointe 538227
Alors voilà ce que j'obtiens :
Pièce jointe 538235
Quand je convertie les timestamps : 1580446800 = 31/01/2020 à 06:00:00 et 1580446800= 01/01/2020 à 06:00:00.
L'erreur ne provient donc pas de mon code
As-tu exécuté la requête dans phpmyadmin ?
Oui , et il y a aucun soucis