Page 1 sur 1

afficher valeur par défaut?

Posté : 27 mars 2006, 10:32
par legolas0
Bonjour à tous, j'aimerai savoir s'il est possible d'afficher la valeur par défaut d'une table.
Merci

Posté : 27 mars 2006, 10:45
par ouckileou
Qu'entends tu par "valeur par défaut d'une table" ?? :shock:
Tu veux parler de colonne plutôt non ?

Posté : 27 mars 2006, 10:54
par legolas0
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

Posté : 27 mars 2006, 11:05
par ouckileou

Posté : 27 mars 2006, 14:24
par legolas0
//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

Posté : 27 mars 2006, 14:27
par ouckileou
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

Posté : 27 mars 2006, 14:34
par Invité
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

Posté : 27 mars 2006, 14:39
par ouckileou
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 />';
}

Posté : 27 mars 2006, 14:55
par Invité
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

Posté : 27 mars 2006, 15:01
par ouckileou
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 ;)

Posté : 27 mars 2006, 15:25
par Invité
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();

?>

Posté : 27 mars 2006, 15:35
par ouckileou
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)

Posté : 27 mars 2006, 16:27
par legolas0
résolu, merci de ton aide en tout cas