Changez le label avec les donné de la bdd

Fermé
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 - Modifié par jordane45 le 21/12/2015 à 11:14
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 21 déc. 2015 à 10:22
Bonjour,

auarait un moyen en php ou javascript de changer notre label avec les valeur dans la bdd voci le code :
<!DOCTYPE html>
<html lang="fr" xmlns="[http://www.w3.org/1999/html]">
<head>
    <link>
    <meta charset="UTF-8">
    <title>tableaux frais hors forfais</title>
    <link rel="stylesheet" href="style.css"/>

</head>
<body>
<div id="tl"><img src="gsb.jpg" ><p id="c1">Suivi des frais Visiteur</p></div><br/><br /><br />

<form method="post" action="affiche_input.php">
<label id="txtalign1">choisisez le libelle de la fiche à modifier</label><br />
    <select id="ld_depla" size="1">
<?php
    $lien_db = mysqli_init();

    $bdd = mysqli_real_connect($lien_db,'localhost', 'root', '','gsb');

    $requete = 'select lfhf_libelle from lignefraishorsforfait lfhf, visiteur v WHERE  lfhf.vis_matricule = v.vis_matricule';

    $reponse = mysqli_query($lien_db, $requete) or die(mysqli_error($lien_db));

    while($ligne = mysqli_fetch_array($reponse))
    {

       $resultat = '<option value="'.$ligne['lfhf_libelle'].'">'.$ligne['lfhf_libelle'].'</option>';
        echo $resultat;
    }

mysqli_close($lien_db);
?>
</select>
    <input value="faire apparaitre la fiche à modifier" type="submit" name="fafm">
</form>
<form>
    <label>mois</label><input type="text" name="m"><br />
    <label>libelle</label><input type="text" name="lbl"><br />
    <label>date</label><input type="text" name="d"><br />
    <label>montant</label><input type="text" name="mo"><br />
</form>

</body>
</html>

je voudrai qu'en appuyant sur le bouton les valeur des mes label ce change avec les donnée de ma bdd


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

1 réponse

sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
14 déc. 2015 à 15:48
Bonjour,

En cliquant sur quel bouton ? "faire apparaitre la fiche à modifier" ?

Tu as ici en fait deux solutions :
1) Utilise le serveur pour générer le contenu le choix de l'utilisateur, plus "simple" car ne nécessite que du PHP mais gourmand pour le serveur ;
2) Utilise le navigateur pour dynamiser le contenu selon le choix de l'utilisateur, plus "complexe" car fait appel en plus à du Javascript mais allège le travail du serveur, plus utile pour les sites fréquentés.
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
15 déc. 2015 à 19:48
en fait non ce que je veut faire c'est affiché le libéllé des valeurs ayant un id chaqu'un pouis les faire apparaitre dans des input suitué sur une autre page
voici le code de la liste deroulante :

<form method="post" action="affiche_input.php">
<label id="txtalign1"></label><br />
<select id="cff">
<?php

$lien_db = mysqli_init();
$bdd = mysqli_real_connect($lien_db,'localhost', 'root', '','gsb');
$requete = 'select lfhf.lfhf_id, lfhf_libelle from lignefraishorsforfait lfhf, visiteur v WHERE v.vis_matricule = lfhf.vis_matricule';
$reponse = mysqli_query($lien_db, $requete) or die(mysqli_error($lien_db));
while($ligne = mysqli_fetch_array($reponse))
{
$resultat = '<option value="'.$ligne['lfhf_id'].'">'.$ligne['lfhf_libelle'].'</option>';
echo $resultat;
}

$test = mysqli_fetch_array($reponse);
$_SESSION['id'] = $test['lfhf_id'];
$_SESSION['mois'] = $test['ff_mois'];
$_SESSION['libelle'] = $test['lfhf_libelle'];
$_SESSION['date'] = $test['lfhf_date'];
$_SESSION['montant'] = $test['lfhf_montant'];



mysqli_close($lien_db);

?>
</select>
<input value="faire apparaitre la fiche à modifier" type="submit" name="fafm" id="fafm">
</form>
<form action="vtfhf2.php" method="post"><input type="submit" name="retour" value="retourner au tableaux" id="rt"/></form>



et le code des inputs

<?php
$_SESSION['id'];
if(isset($_POST['fafm'])) //si on clique sur le bouton faire apparaitre la fiche à modifier
{


$lien_ai = mysqli_init(); //initialisation requête

$connexion_ai = mysqli_real_connect($lien_ai, "localhost", "root", "", "gsb"); //connection à la base de donnée


$requete_ai = 'select lfhf.lfhf_id, lfhf.ff_mois, lfhf_libelle, lfhf_date, lfhf_montant from lignefraishorsforfait lfhf WHERE lfhf.lfhf_id = "' . $_SESSION['id'] . '"'; //requête pour récuoérer la ligne



$resultat_ai = mysqli_query($lien_ai, $requete_ai) or die("echec de la requete" . mysqli_error($lien_ai)); //initialisation de la requête

$ligne_ai = mysqli_fetch_array($resultat_ai); //affiche ligne sous forme de tableau


?>
<!-- case ou vont apparaitre les valeurs de la base de donnée -->
<form method="post" action="cff.php" name="ai">
<label id="txtalign1">mois :</label><input type="text" name="m" value="<?php echo $_SESSION['mois'] = $ligne_ai['ff_mois']; ?>" id="align1"><br/><br/>
<label id="txtalign1">libelle :</label><input type="text" name="lbl" value="<?php echo $_SESSION['libelle'] = $ligne_ai['lfhf_libelle']; ?>" id="align1"><br/><br/>
<label id="txtalign1">date :</label><input type="text" name="d" value="<?php echo $_SESSION['date'] = $ligne_ai['lfhf_date']; ?>" id="align1"><br/><br/>
<label id="txtalign1">montant :</label><input type="text" name="mo" value="<?php echo $_SESSION['montant'] = $ligne_ai['lfhf_montant']; ?>" id="align1"><br/><br/>

<?php

mysqli_close($lien_ai); //fermeture connection
}
else{ echo "vous n'ête pas rentrer dans la variable mais votre variable est". $_SESSION['id'];}


?>

<input type="submit" value="corrigez fiche de frais" name="cff" id="cff">
</form>
<form action="choix_fiche_modif.php"><input type="submit" value="retour" name="cff"></form>
<?php
if (isset($message))
{
echo $message;
}
?>


des solutions???
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
16 déc. 2015 à 10:17
Ton code PHP
<?php echo $_SESSION['mois'] = $ligne_ai['ff_mois']; ?> 
va afficher true or false selon les valeurs de chacun (si les valeurs sont les mêmes alors il affichera True, sinon False).
Faire un echo de $_SESSION['mois'] affichera uniquement la valeur de $test['ff_mois'] définie sur ta première requête SQL.
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
16 déc. 2015 à 21:57
excuse moi je vais te paraitre bête mais que faut til modifier pour que ca marche? :)
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
16 déc. 2015 à 22:21
j'ai testé ta solution et sur le fichier ou il y a les inputs ca affiche

Notice: Undefined index: id in C:\Users\Thibaut\Desktop\boulot\projet\GSB\affiche_input.php on line 26 dans ma requête ou il y 'a le lfhf.lfhf_id = "' . $_SESSION['id'] . '" une solution??
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
17 déc. 2015 à 10:16
C'est que tu ne charges pas ta variable ID dans la session comme ton code l'indique. Si tu as un fichier a.php qui contient un lien vers b.php, si au début de a.php tu déclares $_SESSION['id'] quand tu vas sur b.php et que tu récupères $_SESSION['id'] alors sa valeur sera celle déclarée dans a.php ; le lien entre les deux pages n'est pas obligatoire, c'est juste un exemple.
Tout dépend de comment tu communiques entre tes deux pages ; justement, $_SESSION permet de passer des données entre script sans POST ni GET (mais il faut une session démarrée et active).
0