[RESOLU] Strftime et strtotime

Eléphant du PHP | 167 Messages

14 mai 2013, 11:02

Je veux ce format
$d=strftime('%e %m  %Y', strtotime($date));
Ensuite ma table :

Formation (
id smallint(8) unsigned NOT NULL AUTO_INCREMENT,
nom varchar(60) CHARACTER SET utf8 NOT NULL,
date DATE NOT NULL,
PRIMARY KEY (id)
)

Vous pensez qu'avec un calendrier pour la date ne serais pas mieux finalement ?

Mammouth du PHP | 619 Messages

14 mai 2013, 11:09

et comme ceci
$d=strftime('%e-%m-%Y', strtotime($date));

Mammouth du PHP | 619 Messages

14 mai 2013, 11:14

Il manque date2 comme champ ?

Formation (
id smallint(8) unsigned NOT NULL AUTO_INCREMENT,
nom varchar(60) CHARACTER SET utf8 NOT NULL,
date DATE NOT NULL,
PRIMARY KEY (id)
)

$sql= "INSERT INTO `Formation` (`idFormation`, `nom`, `date`, `date2`) VALUES (' ', '$nom', '$d', '$date2');";

Eléphant du PHP | 167 Messages

14 mai 2013, 11:18

Mais comme je l'ajoute grâce au formulaire c'est normal.
Sinon, aucune amélioration... avec un calendrier ça serait pas mieux ?

Mammouth du PHP | 619 Messages

14 mai 2013, 11:40

Bonjour,

le format date MySQL doit être insérer aaaa-mm-jj

$d=strftime('%Y-%m-%d', strtotime($date));

donc il me semble que ça va pas être possible d'avoir ton format dans un champ date mysql attend d'autre confirmation :)

après si c'est juste pour l'afficha tu peu faire
list($year, $month, $day) = explode("-", $date);
du coup rien a faire a l'insert mais juste a l'affichage :)

Eléphant du PHP | 167 Messages

14 mai 2013, 11:49

Ça marche cependant, j'ai un problème lorsque j’insère ma colonne date2 pour créer une formation, je ne peux plus le refaire si je veux créer une autre formation

Mammouth du PHP | 619 Messages

14 mai 2013, 11:54

normal vous modifie votre structure la premier fois mais après le champ date2 et deja présent :)

du coup il a un problème avec votre premier code

1 ) ajouter le champ date2 par default
2 ) virer le code php et l'appelle de la page via jquery

vous avez juste besoin d'ajoute un champ input et non un champ date2 a chaque formation :)

Mammouth du PHP | 619 Messages

14 mai 2013, 11:56

voila ton code

 <form name="ajout" action="formation.php" method="POST">
            <table>
            
            <tr>
            
            <td><label for="nom"><strong>Nom de la formation :</strong></label></td>
            <td><input type="text" name="nom" required title="Entrez ici le nom de la formation"/></td>
        
            </tr>         

            <tr>
            
            <td><label for="date"><strong>Date(s) de formation :</strong></label></td>
            <td><input type="date" name="date"> </td>
            
            </tr>
            
            <tr id="trAdd">  
            <td> <input type="button" id="bAdd" value="Ajouter" /></td>
            
            </tr>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<title>Document sans titre</title>
<script type="text/javascript">

$(document).ready(function () {
         $("#bAdd").click(function(){
                  if ($('#date2').length <= 0){//on verifie que l'input et pas deja present
                       $("#trAdd").after('<tr><td><label for="date"><strong>Date 2 :</strong></label></td><td><input type="text" name="date2" id="date2" /></td></tr>'); 
                  }
          });
});
</script>
</head>


<?php 

  include("connexion.php");
$nom=isset($_POST['nom'])?$_POST['nom']:"";
$date=isset($_POST['date'])?$_POST['date']:"";
$date2=isset($_POST['date2'])?$_POST['date2']:"";

$sql= "INSERT INTO `Formation` (`idFormation`, `nom`, `date`, `date2`) VALUES (' ', '$nom', '$date', '$date2');";


       

  $requete = mysql_query($sql) or die( mysql_error() ) ;

if($requete)
  {
    echo("La formation a été créé") ;
  }
  else
  {
    echo("La formation n'a pas été créé") ;
  } 
?>

Eléphant du PHP | 167 Messages

14 mai 2013, 12:29

Il y a toujours le problème de la date, mon problème se situe au niveau de saisie, je pense qu'avec un calendrier, ça serait mieux... ou du moins pour l'utilisateur.

J'ai ajouté un calendrier mais celui-ci est en anglais...

Voici mon code complet :

[javascript]
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jq ... "></script>
<title>Document sans titre</title>
<script type="text/javascript">

$(document).ready(function () {
$("#bAdd").click(function(){
if ($('#date2').length <= 0){//on verifie que l'input et pas deja present
$("#trAdd").after('<tr><td><label for="date"><strong>Date 2 :</strong></label></td><td><input type="text" name="date2" id="date2" /></td></tr>');
}
});
});
</script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jq ... ery-ui.css" type="text/css" media="all" />
<link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-do ... .theme.css" type="text/css" media="all" />

<script src=" http://jquery-ui.googlecode.com/svn/tru ... "></script>
<script src="http://ajax.googleapis.com/ajax/libs/jq ... ery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jq ... -ui.min.js" type="text/javascript"></script>

</head>

<body>

<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
[/javascript]

 <form name="ajout" action="formation.php" method="POST">
            <table>
            
            <tr>
            
            <td><label for="nom"><strong>Nom de la formation :</strong></label></td>
            <td><input type="text" name="nom" required title="Entrez ici le nom de la formation"/></td>
        
            </tr>         

            
            
            <td><label for="date"><strong>Date de formation :</strong></label></td>
            <td><input type="date" id="datepicker" name="date"> </td>
        
       <tr id="trAdd">
   
            <?php 
include("connexion.php");
$req= "ALTER TABLE Formation ADD date2 DATE NOT NULL";
$result= mysql_query($req);
  
?>
<td> <input type="button" id="bAdd" value="Ajouter" /></td>
            </tr>

 

        </table>


            <table>

        <br/>
        <br/>
        <input type="submit" name="register" value="Ajouter une formation" />
              </table>

</form>

</body>

</html>

Mammouth du PHP | 619 Messages

14 mai 2013, 12:33

Bonjour,

il a deja un souci avec cette ligne le chemin n'ai pas complet

<script src=" http://jquery-ui.googlecode.com/svn/tru ... cker-fr.js"type="text/javascript"></script>

Eléphant du PHP | 167 Messages

14 mai 2013, 12:38

Pourtant j'ai bien mis ça.
src=" http://jquery-ui.googlecode.com/svn/tru ... javascript">
voilà ce qu'il manque mais dans mon code ça y est : trunk/ui/i18n/jquery.ui.datepicker-fr

Mammouth du PHP | 619 Messages

14 mai 2013, 12:59

Bonjour,

voila votre code
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<title>Document sans titre</title>
<script type="text/javascript">
$(document).ready(function () {
         $("#bAdd").click(function(){
                  if ($('#date2').length <= 0){//on verifie que l'input et pas deja present
                       $("#trAdd").after('<tr><td><label for="date"><strong>Date 2 :</strong></label></td><td><input type="text" name="date2" id="date2" /></td></tr>');
                  }
          });
});
</script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />

</head>
<form name="ajout" action="formation.php" method="POST">
            <table>
            
            <tr>
            
            <td><label for="nom"><strong>Nom de la formation :</strong></label></td>
            <td><input type="text" name="nom" required title="Entrez ici le nom de la formation"/></td>
        
            </tr>         

            
            
            <td><label for="date"><strong>Date de formation :</strong></label></td>
            <td><input type="date" id="datepicker" name="date"> </td>
       <tr id="trAdd">

Eléphant du PHP | 167 Messages

14 mai 2013, 13:04

Oui, mais il n'y a pas de calendrier...

Mammouth du PHP | 619 Messages

14 mai 2013, 13:43

j'ai oublie un bout désolé
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<title>Document sans titre</title>
<script type="text/javascript">

$(document).ready(function () {
         $("#bAdd").click(function(){
                  if ($('#date2').length <= 0){//on verifie que l'input et pas deja present
                       $("#trAdd").after('<tr><td><label for="date"><strong>Date 2 :</strong></label></td><td><input type="text" name="date2" id="date2" /></td></tr>');
                  }
          });
});
</script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
	<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
	<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
	<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css" />
<script>
    $(function() {
        $( "#datepicker" ).datepicker();
    });
    </script>
</head>
le code source : http://jqueryui.com/datepicker/
ma DEMO
Modifié en dernier par ghost5922 le 14 mai 2013, 13:51, modifié 1 fois.

Eléphant du PHP | 167 Messages

14 mai 2013, 13:51

Du coup ça marche pour date mais pas pour date2
j'ai essayé ceci en changeant le type et le id du input
[javascript]
<script type="text/javascript">

$(document).ready(function () {
$("#bAdd").click(function(){
if ($('#date2').length <= 0){//on verifie que l'input et pas deja present
$("#trAdd").after('<tr><td><label for="date"><strong>Date 2 :</strong></label></td><td><input type="date" name="date2" id="datepicker" /></td></tr>');
}
});
});
</script>[/javascript]

mais ça ne marche pas...
Et pour le mettre en français c'est comment ?
Modifié en dernier par NUAGE le 14 mai 2013, 13:53, modifié 1 fois.