probleme liaison date picker base de donnée

Eléphant du PHP | 372 Messages

12 mars 2014, 18:29

salut voilà le petit souci du moment j'ai pris le datetimepicker jquery UI ( qui est bien en français et me renvoi la date apres le clik sur le date picker en format : 13/03/2014 et 10h20.
J'ai un colone date de type DATETIME
Je recois bien mon formulaire en base de données mais ma colone datetime reste vide :/ ( quel est le problème ? ) svp
Merci

Eléphant du PHP | 372 Messages

12 mars 2014, 20:57

voici tout de même mon cade actuel pour le formulaire je n'ai mis que l'essentiel
 postcode, city, price, valide)
						VALUE("", '.$departement.', '.$type.', "'.$nom_photo.'", "'.$title.'", "'.$sousTitre.'", "'.$description.'", "'.$phone.'", "'.$email.'", "'.$website.'", "'.$street.'", "'.$postcode.'", "'.$city.'", "'.$price.'", 0)')){
			$form = false;
			$message .= 'Votre annonce a été enregistré. Un modérateur va contrôler puis valider votre annonce.';
		}else{
			$form = true;
			$message .= 'Une erreur est survenue lors de l\'inscription.';
		}
 }
 ?>
 <?php if(isset($message)) { echo $message; }?>
 <?php if(!isset($form) || $form == true){?>
 
  <form id="formulaire_post_ann" action="mon_profil_client.php" method="post" enctype="multipart/form-data" onSubmit="return(VerifForm(this))">
        	<legend class="legend_top">Ca se passe où ?</legend>
        	<?php $req_dep = mysql_query("select * from departements order by nom");?>
            <label for="departement">Departement </label><br/>
            <select class="select_post" name="departement" id="age" required>
            <?php while($dep = mysql_fetch_array($req_dep)){?>
				<option value="<?php echo $dep['departement_id']; ?>"><?php echo $dep['nom'];?></option>
			<?php }?>
            </select><br/><br/><br/>
            <?php $req_type = mysql_query("select * from type_loisir order by type");?>
	        <label for="departement">Sortie</label><br/><select class="select_post" name="type" id="age" required>
	         <?php while($res_type = mysql_fetch_array($req_type)){?>
				<option value="<?php echo $res_type['id_type_loisir']; ?>"><?php echo $res_type['type'];?></option>
			<?php }?>
			</select><br/><br/><br/>
	        <label for="adresse">Adresse *</label><input type="text" name="street" class="input_post" required><br />
	        <label for="ville">Ville *</label><input class="input_post" name="city" type="text" id="nom" required /><br />
	        <label for="Code postal">Code postal *</label><input class="input_post" name="postcode" type="text" id="nom" maxlength="5" required onKeyUp="verif_integer(this)" /><br /><br />
        
      
        	<legend class="legend_top">Renseignement</legend>
	        <label for="titre">Titre *</label><input class="input_post" name="title" type="text" id="nom" required /><br />
	        <label for="titre">Lien</label><input class="input_post" name="website" type="text" id="nom" /><br />
       
	        <label for="sous-titre">Sous-titre</label><input class="input_post" name="sous-titre" type="text" id="nom" /><br />
            
            <!-- Date picker debut de la sortie -->
      		<label for="date">Date debut *</label>
	       <input type="text" value="" id="datetimepicker_mask"/><br><br>
           
           
	        <label for="date">Description *</label><textarea class="input_post" name="description" required></textarea><br />
	        <label for="date">Prix</label><input class="input_post" name="price" type="text" id="nom" maxlength="5" onKeyUp="verif_integer(this)"/>
	        <br />
        




	        <label for="email">Email</label><input class="input_post" name="adresse_email"  type="text" id="nom" onSubmit="return(VerifForm(this))"><br />
		             
      <label for="tel">Télephone</label><input class="input_post" name="phone" type="tel" id="nom" pattern="^\+?\s*(\d+\s?){8,}$" required onKeyUp="verif_integer(this)" /><br />
            
	        <label for="date">Photo</label><input class="input_post_photo" name="photo" type="file">
	        <br/>
        
        	<input id="input_bouton" type="submit" value="ENREGISTRER"> 

ViPHP
xTG
ViPHP | 7331 Messages

12 mars 2014, 22:05

Ton souci est que tu n'insères pas un format DATETIME mais un texte que mysql ne reconnaît pas.
Un format DATETIME est de la forme : YYYY-MM-DD HH:MM:SS
Il faut donc que tu transformes ta date en ce format.
Le plus simple est de jouer avec la fonction explode().
Une fois sur le "et" pour séparer la date de l'heure.
Puis sur le "/" pour récupérer chaque morceau de la date.
Et enfin sur le "h" pour récupérer l'heure.
Tu auras donc chaque chiffre dans une variable différente.
Il ne te reste plus qu'à les concaténer dans le bon ordre pour suivre le format MYSQL.

Mammouth du PHP | 571 Messages

12 mars 2014, 23:50

dans ta requête d'insertion je ne vois pas le champ représentant la date?



            <!-- Date picker debut de la sortie -->
                <label for="date">Date debut *</label>
               <input type="text" value="" id="datetimepicker_mask"/><br><br>
aussi dans le formulaire un élément input doit toujours avoir un attribut name.or dans ton cas j'en vois pas.
Il faut plutot faire ceci:
            <!-- Date picker debut de la sortie -->
                <label for="datetimepicker_mask>Date debut *</label>
               <input type="text" name="date"   id="datetimepicker_mask"/><br><br>
if( isset($_POST['date']) ){
$date = $_POST['date']; //date en format fr
$sql="INSERT INTO LA_TABLE VALUE ( STR_TO_DATE('".$date." ', '%d-%m-%Y %H:%i:%s'))";//STR_TO_DATE convertit une date de jj/mm/a vers a/mm/jj
//str_to_date('12-03-2014 22:42:46','%d-%m-%Y %H:%i:%s') donnera 2014-03-12 22:42:46 
}