Changer la date format iso

Dilidim Messages postés 114 Statut Membre -  
Dilidim Messages postés 114 Statut Membre -
Bonjour,

Je cherche à avoir la date sous cette forme (dd-mm-yyyy), pour l'instant elle est en format iso (yyyy-mm-dd) comment dois-je procéder ?

La récupération de la date s'effectue via un input, ma variable est $date.

Merci d'avance !

7 réponses

  1. blackduck Messages postés 902 Statut Membre 97
     
    Salut,

    Crée un objet Datetime pour instancier ta date, puis pour l'appeler au format que tu souhaites utilises la méthode format. Dans ton cas ce sera
    $datetime->format("d-m-Y");

    Résolu? ===> [RESOLU]
    0
    1. Dilidim Messages postés 114 Statut Membre
       
      Quand tu dis créer un nouvel objet c'est une variable $datetime ?
      0
  2. blackduck Messages postés 902 Statut Membre 97
     
    Yep exactement
    $datetime = new DateTime();
    echo $datetime->format("d-m-Y");


    Résolu? ===> [RESOLU]
    0
    1. Dilidim Messages postés 114 Statut Membre
       
      ça je le place à la suite de mon $date = getpost ("date");
      Et je remplace $date par $datetime la ou je veux l'afficher avec le "bon" format
      0
  3. blackduck Messages postés 902 Statut Membre 97
     
    Autant pour moi j'ai fais une petite erreur avec l'ancienne fonction date, comme ceci ca devrait marcher si ton getposte("date") renvoie bien une date.

     $datetime=new Datetime(getpost("date"));
     echo $datetime->format("d-m-Y");


    Résolu? ===> [RESOLU]
    0
    1. Dilidim Messages postés 114 Statut Membre
       
      ça m'affiche toujours le format 0000-00-00.
      Soit je le place pas au bon endroit ou alors il manque un élément ?
      0
    2. blackduck Messages postés 902 Statut Membre 97
       
      Que renvoie exactement ta fonction getpost("date")?
      0
    3. Dilidim Messages postés 114 Statut Membre
       
      En gros, c'est un formulaire d'intervention (inter.php) que je renseigne avec la date. Une fois ce formulaire remplis, des infos s'affichent dans un tableau (formulaire.php) dont la date.
      Si je mets la date dans le format iso ça fonctionne.
      0
    4. blackduck Messages postés 902 Statut Membre 97
       
      Si ton getpost("date") retourne une date au format que tu m'as précisé au début, c'est à dire yyyy-mm-dd alors cela doit marcher, ce code
       $datetime=new Datetime("2015-03-12");
       echo $datetime->format("d-m-Y");

      retourne bien 12-03-2015
      0
    5. Dilidim Messages postés 114 Statut Membre
       
      Hélas même résultat 0000-00-00, j'ai bien vérifié l'ordre.
      Le fait que dans ma BDD c'est un type date ne pose pas un problème ?
      0
  4. blackduck Messages postés 902 Statut Membre 97
     
    Si tu fais echo getpost("date") dans ton code ca te retourne quoi?
    0
    1. Dilidim Messages postés 114 Statut Membre
       
      Aucune ligne n'apparait.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. blackduck Messages postés 902 Statut Membre 97
     
    Là je ne vais pas pouvoir faire grand chose, si ta méthode pour récupérer la date ne te renvoie pas de date tu ne pourra pas lui donner le format que tu souhaites.. Il faut commencer pour débuger getpost("date") pour qu'elle retourne une date avant tout!
    0
    1. Dilidim Messages postés 114 Statut Membre
       
      Le getpost("date") fonctionne vu que j'arrive à envoyer dans ma BDD la date en format iso et la renvoyer dans un tableau.
      0
  7. blackduck Messages postés 902 Statut Membre 97
     
    Là je ne sais plus trop, fais un var_dump() de ton getpost("date") et regarde la résultat, s'il ne retourne ni un objet contenant qqch ni une variable qui contient une date, que l'affichage du var_dump() affiche NULL et que ça enregistre qqch en bdd c'est magique.
    0
    1. Dilidim Messages postés 114 Statut Membre
       
      Je mets var_dump(getpost(("date")) au debut de mon code ?
      0
    2. Dilidim Messages postés 114 Statut Membre
       
      Help svp !
      0
  8. Dilidim Messages postés 114 Statut Membre
     
    Voici ma page qui permet d'ajouter une intervention datée :
    <!DOCTYPE html>
    <?php
    	session_start(); // Start la session
    	if (!isset($_SESSION['login'])) {
    		header ('Location: index.php');
    		exit();
    	}
    
    	//-----------------------------------------------
    	require_once('connect.inc.php');
    	// Modificationou création d'une intervention
    	if ( isset($_POST['ok']) == "Ok") {
    		function getPost($variableName,$defaultValue=''){
    			return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue;
    		}
    
    		$id = getPost("id");
    		$date = getPost("date");
    		$inter = getPost("inter");
    		$tech = getPost("tech");
    		$comm = getPost("comm");
    		$temps = getPost("temps");
    		$idclient = getPost("idclient");
    		$comm = addslashes("$comm");
    
    		list($annee, $mois, $jour) = explode("-", $date);
    		$date = $jour.'/'.$mois.'/'.$annee;
    
    		if($id){
    			// Mise à jour via un UPDATE
    			$sql_inter = "UPDATE inter
    			SET date = '$date'
    				, inter = '$inter'
    				, tech =  '$tech'
    				, comm =  '$comm'
    				, temps = '$temps'
    			WHERE id ='$id' ";
    			$requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");
    		} else {
    			// Création d'une nouvelle inter ( INSERT )
    			$sql_inter = "INSERT  INTO inter (date, inter, tech, comm, temps, id_client)
    							VALUES ('$date','$inter', '$tech', '$comm', '$temps', '$idclient')";
    			$requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");
    		}
    		mysql_close();
    
    		if($requete) {
    			echo("<br>L'insertion a ete correctement effectuee");    
    			header('Location: formulaire.php?id='.$idclient);      
    			exit();
    		} else {
    			echo("<br>L'insertion a echouee");
    		}
    	}
    
    	// Recuperation de l'idclient avec retour à l'accueil sinon ==> id DOIT ETRE PASSSE EN POST OU EN GET
    	if (!isset($_GET['idclient'])) {
    		unset($_SESSION['login']);
    		header ('Location: index.php');
    	}
    	$idclient = $_GET['idclient'];
    
    	// Recuperation des info de l'inter pour une modification
    	$id = isset($_GET['id'])?$_GET['id']:'';
    
    	if ($id) {
    		$requet="SELECT *
    				FROM inter
    				WHERE id = '$id'";
    		$result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
    		$a_data = mysql_fetch_assoc($result);
    		mysql_close();
    	}
    
    	$date = isset($a_data['date'])?$a_data['date']:'';
    	$inter = isset($a_data['inter'])?$a_data['inter']:'';
    	$tech = isset($a_data['tech'])?$a_data['tech']:'';
    	$comm = isset($a_data['comm'])?$a_data['comm']:'';
    	$temps = isset($a_data['temps'])?$a_data['temps']:'';
    ?>
    
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<link rel="stylesheet" href="style/style.css" />
    		<?php
    			include('nav.php');
    		?>
    	</head>
    	<body>
    		<form name="form" action="#" method="POST">
    			<input type="submit" name="ok" value="Ok" />
    			<?php if ($id) { ?>
    				<input type="hidden" name="id" value="<?php echo $id; ?>" />
    			<?php } ?>
    			<input type="hidden" name="idclient" value="<?php echo $idclient; ?>" />
    			<table id="ren">
    				<tr>
    					<td>Date</td>
    					<td>Type d'inter</td>
    					<td>Tech</td>
    					<td>Commentaire</td>
    					<td> Temps (en min)</td>
    				</tr>
    				<tr>
    					<td>
    						<input type="date" name="date" placeholder="JJ-MM-YYYY" value="<?php echo $date ;?>"/>
    					</td>
    					<?php
    						$selected_Teamviewer = ($inter =="Teamviewer")? "selected='selected'" : '' ;
    						$selected_Telephonie = ($inter =="Telephonie")? "selected='selected'" : '' ;
    						$selected_Deplacement = ($inter =="Deplacement")? "selected='selected'" : '' ;
    						$selected_Bureau = ($inter =="Bureau")? "selected='selected'" : '' ;
    						echo  '<td><select name="inter"> 
    						<option value="Teamviewer" '.$selected_Teamviewer.'> Teamviewer </option>
    						<option value="Telephonie" '.$selected_Telephonie.'> Téléphonie</option>
    						<option value="Deplacement" '.$selected_Deplacement.'> Déplacement</option>
    						<option value="Bureau" '.$selected_Bureau.'> Bureau</option>
    						</select></td>';
    						$selected_Christophe = ($tech =="Christophe")? "selected='selected'" : '' ;
    						$selected_Dimitri = ($tech =="Dimitri")? "selected='selected'" : '' ;
    						$selected_Gwenaelle = ($tech =="Gwenaelle")? "selected='selected'" : '' ;
    						$selected_Lucas = ($tech =="Lucas")? "selected='selected'" : '' ;
    						$selected_Patrick = ($tech =="Patrick")? "selected='selected'" : '' ;
    						echo  '<td><select name="tech"> 
    						<option value="Christophe" '.$selected_Christophe.'> Christophe </option>
    						<option value="Dimitri" '.$selected_Dimitri.'> Dimitri</option>
    						<option value="Gwenaelle" '.$selected_Gwenaelle.'> Gwenaelle</option>
    						<option value="Lucas" '.$selected_Lucas.'> Lucas</option>
    						<option value="Patrick" '.$selected_Patrick.'> Patrick</option>
    						</select></td>';
    					?>
    					<td><script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
    						<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
    						<textarea name="comm" rows="15" cols="80" ><?php echo $comm ;?></textarea>
    					</td>
    					<td>
    						<input type="number" name="temps" value="<?php echo $temps;?>"/>
    					</td>
    				</tr>
    			</table>
    		</form>
    	</body>
    	<?php
    		include('footer.php');
    	?>
    </html>


    Cette partie de mon code permet d'inserer en format FR:
    list($annee, $mois, $jour) = explode("-", $date);
    		$date = $jour.'/'.$mois.'/'.$annee;

    Lors de la modification elle apparait en ISO...

    Voici ma page (récapitulatif des inters) elle récupere la date d'inters mais appait en format ISO.
    <!DOCTYPE html>
    <?php 
    	session_start(); // Start la session
    	if (!isset($_SESSION['login'])) {
    		header ('Location: index.php');
    		exit();
    	}
    
    	require_once('connect.inc.php');
    
    	// POST ENVOYE ==> saisie/modification du client
    	if ( isset($_POST['valider']) == "Valider") {
    		function getPost($variableName,$defaultValue=''){
    			return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue;
    		}
    
    		$id = getPost("id");
    		$nom_e = getPost("nom_e");
    		$nom_cl = getPost("nom_cl");
    		$fonc  = getPost("fonc");
    		$civ  = getPost("civ");
    		$groupe = getPost("groupe");
    		$contrat = getPost("contrat");
    		$fixe  = getPost("fixe");
    		$mob  = getPost("mob");
    		$fax  = getPost("fax");
    		$mail  = getPost("mail");
    		$web  = getPost("web");
    		$adr  = getPost("adr");
    		$ville = getPost("ville");
    		$cp  = getPost("cp");
    		$infos = getPost("infos");
    		$infos = addslashes("$infos");
    
    
    		
    		if($id){ // Mise à jour via un UPDATE
    			$sql_client = "UPDATE client_tb
    						  SET nom_e = '$nom_e'
    							   , nom_cl = '$nom_cl'
    							   , fonc = '$fonc'
    							   , civ = '$civ'
    							   , groupe = '$groupe'
    							   , contrat = '$contrat'
    							   , fixe =  '$fixe'
    							   , mob = '$mob'
    							   , fax =  '$fax'
    							   , mail =  '$mail'
    							   , web = '$web'
    							   , adr = '$adr'
    							   , ville = '$ville'
    							   , cp = '$cp'
    							   , infos = '$infos'
    						  WHERE id='$id' ";
    			$requete = mysql_query($sql_client) or die( mysql_error()."<br>REQUETE:<pre>".$sql_client."</pre>");
    
    		} else { // Création nouveau ( INSERT )
    			$sql_client = "INSERT  INTO client_tb
    						   (nom_e, nom_cl, fonc, civ, groupe, contrat, fixe, mob, fax, mail, web, adr, ville, cp, infos)
    					  VALUES ('$nom_e','$nom_cl','$fonc','$civ','$groupe','$contrat','$fixe','$mob','$fax','$mail','$web','$adr','$ville','$cp','$infos')";
    			$requete = mysql_query($sql_client) or die( mysql_error()."<br>REQUETE:<pre>".$sql_client."</pre>");
    			$id_client = mysql_insert_id();
    		}
    
    		if($requete) {
    			echo("<br>L'insertion a ete correctement effectuee");
    			header('Location: listeclient.php');      
    			exit();
    		} else {
    			echo("<br>L'insertion a echouee");
    		}
    		
    	} else {
    
    		// Recuperation de l'id et autres info si id existe (pas un nouveau client)
    		$id = isset($_GET['id'])?$_GET['id']:NULL;
    
    		if ($id) {	// Recuperation des autres info si id existe (pas un nouveau client)
    
    			$requet="SELECT *
    					FROM client_tb c
    					WHERE id ='$id'";
    			$result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
    			$a_data = mysql_fetch_assoc($result);
    		}
    		$nom_e = isset($a_data['nom_e'])?$a_data['nom_e']:'';
    		$nom_cl = isset($a_data['nom_cl'])?$a_data['nom_cl']:'';
    		$fixe = isset($a_data['fixe'])?$a_data['fixe']:'';
    		$fonc = isset($a_data['fonc'])?$a_data['fonc']:'';
    		$civ = isset($a_data['civ'])?$a_data['civ']:'';
    		$groupe = isset($a_data['groupe'])?$a_data['groupe']:'';
    		$contrat = isset($a_data['contrat'])?$a_data['contrat']:'';
    		$fax = isset($a_data['fax'])?$a_data['fax']:'';
    		$mob = isset($a_data['mob'])?$a_data['mob']:'';
    		$mail = isset($a_data['mail'])?$a_data['mail']:'';
    		$web = isset($a_data['web'])?$a_data['web']:'';
    		$adr = isset($a_data['adr'])?$a_data['adr']:'';
    		$ville = isset($a_data['ville'])?$a_data['ville']:'';
    		$cp = isset($a_data['cp'])?$a_data['cp']:'';
    		$infos = isset($a_data['infos'])?$a_data['infos']:'';
    
    		if ($id) {	// Recuperation des autres info si id existe (pas un nouveau client)
    			$requet="SELECT i.*
    					FROM inter i, client_tb c 
    					WHERE c.id = i.id_client
    					  AND c.id = '$id'";
    			$result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
    			$a_data = mysql_fetch_assoc($result);
    		}
    		$date = isset($a_data['date'])?$a_data['date']:'';
    		$inter = isset($a_data['inter'])?$a_data['inter']:'';
    		$tech = isset($a_data['tech'])?$a_data['tech']:'';
    		$comm = isset($a_data['comm'])?$a_data['comm']:'';
    		$temps = isset($a_data['temps'])?$a_data['temps']:'';
    
    		if ($id) {	// Recuperation des autres info si id existe (pas un nouveau client)
    			/*Contenu du tableau*/
    			$requet="SELECT id, date, inter, tech, comm, temps 
    						FROM inter
    						WHERE id_client='$id' ORDER BY date DESC";
    			$resulta=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
    			$ligne=mysql_fetch_assoc($resulta);
    		}
    ?>
    
    <html>
    	<head>
    		<meta http-equiv="refresh" content="1200;deconnexion.php" />
    		<meta charset="utf-8" />
    		<link rel="stylesheet" href="style/style.css" />
    		<?php
    			include('nav.php');
    		?>
    	</head> 
    	<body>
    		<form name="formulaire" action="#" method="POST"> 
    			<table id="ren">
    				<tr>
    					<td>Entreprise</td>
    					<td><input type="text" name="nom_e" value="<?php echo $nom_e ;?>" /></td>
    					<td>Fixe</td>
    					<td><input type="tel" name="fixe" value="<?php echo $fixe ;?>"/></td>
    				</tr>
    				<tr>
    					<td>Contact </td>
    					<td><input type="text" name="nom_cl" value="<?php echo $nom_cl ;?>"/></td>
    					<td> Mobile</td>
    					<td><input type="tel" name="mob" value="<?php echo $mob ;?>"/></td>
    				</tr>
    				<tr>
    					<td>Fonction</td>
    					<td><input type="text" name="fonc" value="<?php echo $fonc ;?>"/> </td>
    					<td>Fax</td>
    					<td><input type="tel" name="fax" value="<?php echo $fax ;?>"/> </td>
    				</tr>
    				<tr>
    					<td>Civilité</td>
    					<?php
    						$checked_Mme = ($civ =="Mme")? "checked='checked'" : '' ;
    						$checked_M = ($civ =="M.")? "checked='checked'" : '' ;
    						echo  '<td><input class="radio" name="civ" value="Mme"  '.$checked_Mme.' type="radio"> Madame
    						<input class="radio" name="civ" value="M."  '.$checked_M.' type="radio"> Monsieur</td>'
    					?>
    					<td>Email</td>
    					<td><input type="email" name="mail" value="<?php echo $mail ;?>"/></td>
    				</tr>
    				<tr>
    					<td>Groupe</td>
    					<?php
    						$selected_Association = ($groupe =="Association")? "selected='selected'" : '' ;
    						$selected_Liberale = ($groupe =="Liberale")? "selected='selected'" : '' ;
    						$selected_Particulier = ($groupe =="Particulier")? "selected='selected'" : '' ;
    						$selected_Pro = ($groupe =="Pro")? "selected='selected'" : '' ;
    						echo  '<td><select name="groupe"> <option value="Association" '.$selected_Association.'> Association </option>
    						<option value="Liberale" '.$selected_Liberale.'> Liberale </option>
    						<option value="Particulier"  '.$selected_Particulier.'> Particulier </option>
    						<option value="Pro"  '.$selected_Pro.'> Pro</option></select></td>'
    					?>
    					<td>Web</td>
    					<td> <input type="text" name="web" value="<?php echo $web ;?>"/></td>
    				</tr>
    				<tr>
    					<td>Contrat</td>
    					<?php
    						$checked_Non = ($contrat =="Non")? "checked='checked'" : '' ;
    						$checked_Oui = ($contrat =="Oui")? "checked='checked'" : '' ;
    						echo  '<td><input class="radio" name="contrat" value="Non"  '.$checked_Non.' type="radio"> Non
    						<input class="radio" name="contrat" value="Oui"  '.$checked_Oui.' type="radio"> Oui</td>'
    					?>
    					<td>Adresse</td>
    					<td><input type="text" name="adr" value="<?php echo $adr ;?>"/></td>
    				</tr>
    				<tr>
    					<td>Ville</td>
    					<td><input type="text" name="ville" value="<?php echo $ville ;?>"/> </td>
    					<td>CP</td>
    					<td><input type="text" name="cp" value="<?php echo $cp ;?>"/></td>
    				</tr>
    			</table>
    			<h3>Infos</h3>
    			<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
    			<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
    			<h3><textarea name="infos" rows="5" cols="150" ><?php echo $infos ;?></textarea></h3>
    			<input type="hidden" name="id" value="<?php echo isset($id)?$id:""; ?>"/>
    			<h6><input type="submit" name="valider" value="Valider"/></h6>
    		</form>
      
      <?php
    	if($id) { // pour un client existant
      ?>
    		<!--<a href="inter.php?idclient=<?php echo $id; ?>">
    			<h5><input TYPE="image" src="style/add.png" name="submit" ></h5>
    		</a>-->
    		
    		<h5>
    			<a href="inter.php?idclient=<?php echo $id; ?>"> 
    			<input type="button" value="Nouvelle intervention"> 
    			</a>
    		</h5>
    
    
    		<?php
    		if($ligne) { // pour un client existant avec des inter
    		?>
    		<form name="inter" action="inter.php" method="POST">
    			<table id="rec">
    				<th>N°</th><th id="date">Date</th><th>Type d'inter</th><th>Tech</th><th>Commentaire</th><th>Temps</th>
    				<?php
    					do {
    						echo "<tr id='lign'>";
    						foreach($ligne as $value){
    							echo'<td><a href="inter.php?idclient='.$id.'&id='.$ligne['id'].'">'.$value.'</a></td>';
    						}
    						echo "</tr>";
    					} while($ligne=mysql_fetch_assoc($resulta));
    				?>
    			</table>
    			<input type="hidden" name="idclient" value="<?php echo $id; ?>">
    	   </form>
    		<?php
    		}
    	}
    		?>
    	</body>
    <?php
     include('footer.php');
    		}
    ?>
    </html>


    J'ai integré ce code au mien, l'echo m'affiche bien le format FR mais dans mon tableau toujours en ISO.
    $idConnexion=@mysql_connect("localhost","root","");
    
    mysql_select_db("intervention",$idConnexion);
    
    $requete="select * from inter;";
    
    $jeuResultat=mysql_query($requete,$idConnexion);
    
    $ligne=mysql_fetch_assoc($jeuResultat);
    
    $dateSQL = $ligne['date'];
    
    //$dateSQL = '2015-06-02';
    
    list($annee, $mois, $jour) = explode("-", $dateSQL);
    
    $dateFR = $jour.'/'.$mois.'/'.$annee;
    
    echo $dateFR.'<br>';
    0