les dates de php à mysql
Posté : 04 juin 2012, 09:53
bonjour à tous,
je viens vous éxposer un problème que j'ai et que je n'arrive pas à resoudre. Le fait est que dans un formulaire je recupère une date (pour une facture) et lors de l'envois vers la base de données Mysql la date s'affiche en : 0000-00-00. Je pense que la solution doit être pas très eloigné de ce que je fait, mais je dois me poser trop de quetion.
voici le code du formulaire :
et voici le code php de traitement des données :
EDIT : je n'explique pas le ocontexte :O
le but est de pouvoir enregistrer des factures de telephones dans une BDD car avant tout tété géré par des documents .csv
je viens vous éxposer un problème que j'ai et que je n'arrive pas à resoudre. Le fait est que dans un formulaire je recupère une date (pour une facture) et lors de l'envois vers la base de données Mysql la date s'affiche en : 0000-00-00. Je pense que la solution doit être pas très eloigné de ce que je fait, mais je dois me poser trop de quetion.
voici le code du formulaire :
<form method="post" action="traitement.php">
<table width="628" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee">
<tr>
<td width="500"><font size=3><b>Entrer la date de la facture :</b></font><small>(type JJ-MM-AAAA)</small></td>
<td width="500" align="center"><input type="text" name="date"></td>
</tr>
<tr>
<td width="500"><font size=3><b>Selectionner votre fichier *.csv :</b></font><small>(le fichier doit être placé dans le répertoire C:\)</small></td>
<td width="244" align="center"><input type="file" name="fichier" value="fichier"></td>
<td width="137" align="center">
<input type="submit" value="Envoyer" name="envoyer">
</td>
</tr>
</table>
</form>
et voici le code php de traitement des données :
<?php
mysql_connect('localhost','root', '') or die (mysql_error());
mysql_select_db('factureTelephone') or die(mysql_error());
$ligne = 0;
echo $_POST['fichier'].'<br />';
$fic = fopen($_POST['fichier'], "r");
echo $_POST['date'].'<br />';
$date = strtotime($_POST['date']); // conversion en timeStamp
echo $date;
echo'<br />';
$date = date('Y-m-d',$date); // conversion au format Mysql
echo $date;
while($tab=fgetcsv($fic,1024,';'))
{
$ligne ++;
if ($ligne == 108)
{
$sqlF ='INSERT INTO Facture (dateF,totalFacture) VALUES ('.$date.','.$tab[12].');';
mysql_query($sqlF) or die (mysql_error());
}
}
fclose($fic);
$fic = fopen($_POST['fichier'], "r");
$ligne =0;
$cpt = 1;
while($tab=fgetcsv($fic,1024,';'))
{
$ligne ++;
if ($ligne > 5 && $ligne<107)
{
$sqlPPA = 'INSERT INTO prixparabonne (idAbonne,idFacture,datePPA,montantAbonnement,montantOption,montantCommunication,montantMiseEnService,
montantService,montantMateriel,prestationFacture,montantDepassementForfait,montantRemise,totalFactureParAbonne)
VALUES('.$cpt.
',1,'.$_POST['date'].','.$tab[6].','.$tab[7].','.$tab[8].','.$tab[9].','.$tab[10].','.$tab[11].','
.$tab[13].','.$tab[14].','.$tab[15].','.$tab[12].');';
Mysql_query($sqlPPA) or die (mysql_error());
$cpt ++;
}
}
fclose($fic);
mysql_close();
?>
on voit dans ce code que j'essaye des conversions bizare (ou pas), mais j'ai vrailment du mal à comprendre comment faire pour avoir l'affichage de la date.EDIT : je n'explique pas le ocontexte :O
le but est de pouvoir enregistrer des factures de telephones dans une BDD car avant tout tété géré par des documents .csv