affichage bdd

Eléphant du PHP | 335 Messages

17 mai 2005, 11:11

Je peux stocker une date sous la forme
17 Mai 2005 dans un seul champ?

Cmt faire?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 11:15

Il existe des champs de type DATE en SQL dans lesquels tu peux stocker les dates au format yyyy-mm-dd
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 2144 Messages

17 mai 2005, 11:18

et effectuer des comparaison et tri TRES simplement...

Eléphant du PHP | 335 Messages

17 mai 2005, 11:33

merci, vous aviez raison c'est la conception de ma table qui ne vas pas.

j'ai fai un champ de type date mais le probleme est que le format est yyyy-mm-dd or je voudrais dd-mm-yy et mm c'est un chiffre or je le veux de toute lettre.

j'ai cherché mais je ne vois pas comment faire pour modifire ca!

qqn a t il une idée?

merci encore...

pour info : jsui avec phpMyAdmin

Mammouth du PHP | 19672 Messages

17 mai 2005, 11:36

Il te reste à récupérer cette date en chiffres et à faire une petite fonction de conversion pour mettre les éléments dans l'ordre français et le mois en lettres. Le format DATE ne permet pas d'enregistrer le mois en lettres.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 11:37

Renseigne toi sur ces fonctions


Date(format, timestamp) => trabnsforme un timestamp en date au format voulu

getDate(timestamp) =>renvoi un tableau avec la décomposition d'une date
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 46 Messages

17 mai 2005, 11:39

$table=mysql_query("SELECT date FROM instance LIMIT 1");
$table_resultat=mysql_fetch_array($table);
$date=explode("-",$table_resultat["date"]);
//afficher le mois
echo "Mois: $date[1]<br>";
//afficher le jours
echo "Jours: $date[2]<br>";
echo "Annee: $date[0]";
L'informatique c'est ma vie

Eléphant du PHP | 335 Messages

17 mai 2005, 11:40

Ok, je vais faire ne fonction pour changer le mis en lettre.

Merci a tous pour votre aide

Eléphant du PHP | 335 Messages

17 mai 2005, 11:53

en fait j'ai un autre probleme!

je demande a l'utilisateur de choisir a l'aide d'un menu deroulant le jour, le mois et l'année.

cmt faire pour que ces 3 choix puisse s'enregistrer dans le champ date;

j'avais pensé faire un truc de ce genre mais ca ne marche pas :
$query = "insert into sla SET date='".$_POST['annee']."''".$_POST['mois']."''".$_POST['jour']."', type='".$_POST['type']."', 
          sla='".$_POST['sla']."', total='".$_POST['total']."'";

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 11:56

Quand tu construit ta liste déroulante, au lieu de faire

Code : Tout sélectionner

<option>NomMois</option>
Tu fait
echo "<option value=".$index.">".$tabMois[index]."</option>";
Et dans ta bdd, tu enregistre $index !!!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 335 Messages

17 mai 2005, 12:02

si j'ai bien compris je remplace mes 3 listes déroulantes comme ca :
<?php echo "<option value=".$index.">".$tabJour[index]."</option>"; ?>
<?php echo "<option value=".$index.">".$tabMois[index]."</option>"; ?>
<?php echo "<option value=".$index.">".$tabAnnee[index]."</option>"; ?>
et j'enregistre dans ma table date=$index

c'est ca?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 12:03

Pour jour et année c'est pas nécessaire vu que c'est déjà des chiffres mais dans le cas des mois qui sont des textes, c'est comme ça que je ferais, oui
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 335 Messages

17 mai 2005, 12:05

Ok mais le truc il y a un truc que je ne comprend pas.

Le format de la date est 0000-00-00

comment faire pour que le jour (par ex le 17) s'enregistre comme ca
0000-00-17

et pour le mois (par ex 05)
0000-05-17

et pareil pour l'année??

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 12:10

$date = $_POST["annee"]."-".$_POST["mois"]."-".$_POST["jour"];
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
pjl
ViPHP | 2119 Messages

17 mai 2005, 12:16

Avant d'insérer une date dans une base de données, il est important de vérifier qu'elle est valable avec checkdate.