Inserer date automatiquemen- php

Résolu/Fermé
abdoul - 1 sept. 2009 à 11:32
 abdoul - 1 sept. 2009 à 17:02
Bonjour, j'ai un probleme pour inserer la date dans ma base de donnée. En fait j'ai un formulaire qui est lié à un base de donnée qui contient un champ dtescte de type DATETIME, et je voudrais qu'à l'enregistrement la date se fasse aussi automatiquement mais j'y arrive pas. je voudrais aussi qu'après l'enregistrement qu'il m'affiche toutes les lignes. Est ce que je pourrais avoir de l'aide. Merci d'avance
Voici mon code:

<?php
include("config.php");
include("req_buttons.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style1 { font-size: 24px;
font-style: italic;
font-weight: bold;
cursor: n-resize;
filter: Invert;
color: #3399FF;
}
.Style3 {
font-size: 24px;
font-family: Georgia, "Times New Roman", Times, serif;
}
.Style5 {font-size: 24px; font-family: Georgia, "Times New Roman", Times, serif; font-style: italic; }
-->
</style>
</head>

<body>
<div align="center" class="Style1">ENREGISTREMENT D'UN NOUVEAU CLIENT <img src="../../date/users.gif" ></div>

<p><table width="361" border="2" align="center" bordercolor="#D4D0C8">
<tr>
<td width="349"><form name="form1" method="post" action="addclient.php">
<table width="346" border="0">
<tr>
<td width="161"><div align="center"><span class="Style5">Nom société : </span></div></td>
<td width="175"><label>
<input type="text" name="scte">
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Adresse :</em></div></td>
<td><label>
<textarea name="adrs"></textarea>
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Téléphone </em>: </div></td>
<td><label>
<input type="text" name="tel">
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Fax : </em></div></td>
<td><label>
<input type="text" name="fax">
</label></td>
</tr>
<tr>
<td colspan="2"><label><div align="center">
<?php buttons("insert");?></div>
</label> </td>
</tr>
</table>

</form>
</td>
</tr>
</table>
<?php
if (isset($_POST['insert'])){
$nomscte=$_POST['scte'];
$adrsgeo=$_POST['adrs'];
$tel=$_POST['tel'];
$fax=$_POST['fax'];
$date=Date("d/m/Y H:i:s");

$sql='INSERT INTO `amd`.`societe` (`codescte` ,`nomscte` ,`adrsgeo` ,`tel`,`fax`,`dtescte`)
VALUES ("" , "'.$nomscte.'","'.$adrsgeo.'","'.$tel.'","'.$fax.'","'.$date.'");';
mysql_query($sql) or die ('Erreur SQL!'.$sql.'<br />'.mysql_error());
}
?>

</body>
</html>
A voir également:

13 réponses

avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
1 sept. 2009 à 13:10
Mets ton champs 'date' en int et donne lors de l'insertion, donne lui comme valeur le timestamp actuel (que tu peux récupérer avec la fonction time() ).
Ensuite, quand tu dois afficher la date, utilisation la fonction date(string formatage, int timestamp). Par exemple : date('j/n/Y à G:i', $client['date']) donnera 1/9/2009 à 13:09
0
Slt merci de m'avoir repondu et je m'excuse de poser cette question! Je ne comprend pa qd tu di "donne lui la valeur timestamp actuel" peut tu me dire comment faire et quand tu dis donne lui de l'insertion, est ce que je dois ajouter un champ date dans on formulaire?
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
1 sept. 2009 à 13:20
Quand tu fais la requête pour insérer le client dans la table, mets dans le champs 'date' le timestamp actuel. Pour récupérer le timestamp (dans une variable ou directement sur la requête), utilise la fonction time().
Exemple :
$sql = 'INSERT INTO clients(nom,prenom,date,password) VALUES("Némard","Jean",'.time().',"'.md5('1234').'")';
0
desolé de te déranger à nouveau je l'ai fait mais tjrs rien. Je t'emmene le code peut être que je m'y suis mal pris
j'ai aussi changé le type du champ dtescte en timestamp et j'ai mis comme defaut current timestamp

code:
<?php
include("config.php");
include("req_buttons.php");

?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>

<body>
<div align="center" class="Style1">ENREGISTREMENT D'UN NOUVEAU CLIENT <img src="../../date/users.gif" ></div>

<p><table width="361" border="2" align="center" bordercolor="#D4D0C8">
<tr>
<td width="349"><form name="form1" method="post" action="addclient1.php">
<table width="346" border="0">
<tr>
<td width="161"><div align="center"><span class="Style5">Nom société : </span></div></td>
<td width="175"><label>
<input type="text" name="scte">
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Adresse :</em></div></td>
<td><label>
<textarea name="adrs"></textarea>
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Téléphone </em>: </div></td>
<td><label>
<input type="text" name="tel">
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Fax : </em></div></td>
<td><label>
<input type="text" name="fax">
</label></td>
</tr>
<tr>
<td colspan="2"><label><div align="center">
<?php buttons("insert");?></div>
</label> </td>
</tr>
</table>

</form>
</td>
</tr>
</table>
<?php
if (isset($_POST['insert'])){
$nomscte=$_POST['scte'];
$adrsgeo=$_POST['adrs'];
$tel=$_POST['tel'];
$fax=$_POST['fax'];

$sql='INSERT INTO `amd`.`societe` (`codescte` ,`nomscte` ,`adrsgeo` ,`tel`,`fax`,`dtescte`)
VALUES ("" , "'.$nomscte.'","'.$adrsgeo.'","'.$tel.'","'.$fax.'","'.time().'");';
mysql_query($sql) or die ('Erreur SQL!'.$sql.'<br />'.mysql_error());
}
?>

</body>
</html>
0

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

Posez votre question
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
1 sept. 2009 à 13:36
j'ai aussi changé le type du champ dtescte en timestamp et j'ai mis comme defaut current timestamp 

Je t'ai dis de le mettre en INT ...

Remplace
$sql='INSERT INTO `amd`.`societe` (`codescte` ,`nomscte` ,`adrsgeo` ,`tel`,`fax`,`dtescte`)
VALUES ("" , "'.$nomscte.'","'.$adrsgeo.'","'.$tel.'","'.$fax.'","'.time().'");';
mysql_query($sql) or die ('Erreur SQL!'.$sql.'<br />'.mysql_error()); 
Par
$sql='INSERT INTO `amd`.`societe` (`codescte` ,`nomscte` ,`adrsgeo` ,`tel`,`fax`,`dtescte`)
VALUES ("" , "'.$nomscte.'","'.$adrsgeo.'","'.$tel.'","'.$fax.'",'.time().');';
mysql_query($sql) or die ('Erreur SQL!'.$sql.'<br />'.mysql_error()); 
0
j'ai fait com tu m'a dis mais voilà ce qu'il ya dans le champs dtescte de la base de donnée:1251805321
mais di moi la fonction time() on ne la definit pas quelque part?
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
1 sept. 2009 à 13:52
1251805321 : C'était le timestamp qu'il était au moment de l'insertion.
Pour ta culture, le timestamp est le nombre qu'on utilise en informatique pour se répérer dans le temps (c'est plus léger de stocker un nombre qu'une chaine comme '2009-12-31-23-59-59'). Ce nombre représente le nombre de seconde écoulées depuis le 1 janvier 1970.
La fonction time() ne est native à PHP est n'a pas besoin de paramètre pour retourner le timestamp.
C'est ensuite grâce à la fonction date en PHP que l'on peut faire des traitement sur le timestamps spécifier (si tu n'en spécifie pas, ça donnera la date actuelle).
0
excuse moi encore mais j'aurai voulu qu'il me donne la date et l'heure! comment je fais maintenant?
Aussi qd tu disasi:"Ensuite, quand tu dois afficher la date, utilisation la fonction date(string formatage, int timestamp). Par exemple : date('j/n/Y à G:i', $client['date']) donnera 1/9/2009 à 13:09"ça c'est si je veux qu'il m'affiche après une requete par exemple ou c pour l'insertion?
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
1 sept. 2009 à 14:13
Quand tu affiches le client après une requête.
Remplace biensûr $client['date'] par la variable qui contient le timestamp de son inscription.
0
je dois vraiment te fatiguer mais stp peut tu me donner un exemple de requete parce ke vraimetn je ne sais plu koi faire. Pitiéééééé
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
1 sept. 2009 à 15:05
Fait un echo de date('j/n/Y à G:i', $client['dtescte']) pour afficher la date.
Remplace $client par la variable que tu mets là :
while(<souligne>$tavariable</souligne> = mysql_fetch_...
0
bon ça va j'abandonne j'y comprend rien de toute façon.
Merci pour toute l'aide que tu m'a apporté!
0
ça y est ça y est enfin ça maaaaaaaaaaaaarche merci beaucoup avion-f16
0