afficher valeur par défaut?

legolas0
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 10:32

Bonjour à tous, j'aimerai savoir s'il est possible d'afficher la valeur par défaut d'une table.
Merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 mars 2006, 10:45

Qu'entends tu par "valeur par défaut d'une table" ?? :shock:
Tu veux parler de colonne plutôt non ?

legolas0
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 10:54

Champ Type Interclassement Attributs Null Défaut Extra Action
id_sta int(3) Non auto_increment
annee_sta int(4) Non 0
statut_sta int(1) Non 0
lieu_sta varchar(150) latin1_swedish_ci Oui NULL
theme_sta varchar(80) latin1_swedish_ci Non
dateDeb_sta date Non 2006-04-03
dateFin_sta date Non 2006-06-09
nbInfo_sta int(2) Non 0
descr_sta text latin1_swedish_ci Non
config_sta text latin1_swedish_ci Non
date_sta date Non 0000-00-00

c'est la valeur par défaut en gras d'un attribut que j'aimerai afficher

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 mars 2006, 11:05


legolas0
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 14:24

//Recuperation de la date de début
$requete="SELECT * FROM stage, annee";
//Execution de la requete
$result=mysql_query($requete);
while($array=mysql_fetch_array($result)){
	extract($array);

}

echo "<table>";
echo "<tr>";
echo "<td>";
echo "Date de d&eacute;but du stage (AAAA-MM-JJ) ";
echo "</td><td>";
echo '<input type="text" name="dateDeb_sta" size="10" value="$date" >';
echo "</td></tr>";
echo "<tr><td>";
en fait , dans l'input, au lieu d'afficher $date, j'aimerai afficher sa valeur par défaut dans la table

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 mars 2006, 14:27

en fait , dans l'input, au lieu d'afficher $date, j'aimerai afficher sa valeur par défaut dans la table
OK

Et sinon, tu as suivi le lien que je t'ai donné ? :roll:
Tu peux peut-être utiliser cette commande pour récupérer des infos et les traiter en PHP

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 14:34

j'ai utiliser le lien que tu m'as donné mais est-ce qu'on peut stocker ces informations dans une variable?
parceque moi je vois que de l'affichage la

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 mars 2006, 14:39

Je ne sais pas il faut tester justement, perso je n'ai jamais essayé

Donc avec un truc du genre peut-être :
$requete = 'DESCRIBE table';
$exec = mysql_query($requete);

while ($resultat = mysql_fetch_array($exec, MYSQL_ASSOC)) {
   echo 'Field : '.$resultat['Field'].'<br />';
   echo 'Type : '.$resultat['Type'].'<br />';
   echo 'Null : '.$resultat['Null'].'<br />';
   echo 'Key : '.$resultat['Key'].'<br />';
   echo 'Default : '.$resultat['Default'].'<br />';
   echo 'Extra : '.$resultat['Extra'].'<br />';
   echo '<br />';
}

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 14:55

merci, ca me retourne toutes les informations de la table:

Field : statut_sta
Type : int(1)
Null :
Key :
Default : 0
Extra :

Field : lieu_sta
Type : varchar(150)
Null : YES
Key :
Default :
Extra :

Field : theme_sta
Type : varchar(80)
Null :
Key :
Default :
Extra :

Field : dateDeb_sta
Type : date
Null :
Key :
Default : 2006-04-03
Extra :
mais moi j'aimerai avoir que l'info en gras

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 mars 2006, 15:01

Excuse-moi, je vais être un peu désagréable mais... y'a un moment il faut commencer à réfléchir tout seul et essayer d'adapter :
merci, ca me retourne toutes les informations de la table:
Normal, j'ai fait afficher toutes les infos qu'on peut récupérer pour une colonne (Field, Type, Null...)
De plus dans une boucle, ce qui fait que tu affiches toutes les infos pour toutes les colonnes

Si toi tu ne veux qu'une info, pour une colonne précise, et bien tu ne fais afficher que l'info que tu veux (donc "Default") et pour la colonne que tu veux (donc "dateDeb_sta")

Si tu n'y arrives pas je veux bien t'aider mais il faut faire des essais, ce n'est pas bine compliqué maintenant ;)

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:25

c'est bon j'ai réussit merci à toi, je sais pas si la méthode est bonne mais en tout cas ça marche je laisse mon code pour ceux que ça intéresse
//Recuperation de la date de début de stage
$requete = "DESCRIBE stage dateDeb_sta"; 
$exec = mysql_query($requete); 

while ($resultat = mysql_fetch_array($exec, MYSQL_ASSOC)) { 
  $dateDeb_sta=$resultat['Default']; 
} 

//Recuperation de la date de fin de stage
$requete = "DESCRIBE stage dateFin_sta"; 
$exec = mysql_query($requete); 

while ($resultat = mysql_fetch_array($exec, MYSQL_ASSOC)) { 
  $dateFin_sta=$resultat['Default']; 
} 


//Recuperation de l'ancienne année courante
$requete="SELECT date_sta FROM stage";
//Execution de la requete
$result=mysql_query($requete);
while($array=mysql_fetch_array($result)){
	extract($array);
}


list($annee, $mois, $jour) = explode("-", $date_sta);
list($anneeD, $moisD, $jourD) = explode("-", $dateDeb_sta);
list($anneeF, $moisF, $jourF) = explode("-", $dateFin_sta);
$anneeD=$anneeD+1;
$anneeF=$anneeF+1;
echo "<table>";
echo "<tr>";
echo "<td>";
echo "Date de d&eacute;but du stage (JJ-MM-AAAA) ";
echo "</td><td>";
echo '<input type="text" name="dateDeb_sta" size="10" value="'.$jourD . '-' . $moisD . '-' . $anneeD.'" >';
echo "</td></tr>";
echo "<tr><td>";
echo "Date de fin du stage (JJ-MM-AAAA) ";
echo "</td><td>";
echo '<input type="text" name="dateFin_sta" size="10" value="'.$jourF . '-' . $moisF . '-' . $anneeF.'" >';
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<input type =\"hidden\" name = \"ancienneAnnee\" value = \"$annee\">";
echo '<input type="submit" value="Valider"></form>';

//Fermeture de la base de donnee
mysql_close();

?>

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 mars 2006, 15:35

Tu vois c'était pas compliqué ;)

C'est ça, mais par contre tu peux peut-être regrouper en une seule requête (moins de code, et gain de perfs)
//Recuperation de la date de début de stage
$requete = "DESCRIBE stage dateDeb_sta";
$exec = mysql_query($requete);

while ($resultat = mysql_fetch_array($exec, MYSQL_ASSOC)) {
  $dateDeb_sta=$resultat['Default'];
}

//Recuperation de la date de fin de stage
$requete = "DESCRIBE stage dateFin_sta";
$exec = mysql_query($requete);

while ($resultat = mysql_fetch_array($exec, MYSQL_ASSOC)) {
  $dateFin_sta=$resultat['Default'];
} 
deviendrait par exemple :
//Recuperation de la date de début de stage
$requete = "DESCRIBE stage dateDeb_sta, dateFin_sta"; // à tester
$exec = mysql_query($requete);

while ($resultat = mysql_fetch_array($exec, MYSQL_ASSOC)) {
  $date[]=$resultat['Default'];
}
echo $date[0]; //dateDeb_sta
echo $date[1]; //dateFin_sta
Mais tu pourrais peut-être aussi envisager de stocker ces dates dans des variables de config, des constantes, ce qui t'éviterait d'aller les chercher à chaque fois

On met Résolu ? 8)

legolas0
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 16:27

résolu, merci de ton aide en tout cas