Faire une condition pour faire correpondre le login a ces fiche

Résolu/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 8/12/2015 à 00:34
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 - 8 déc. 2015 à 13:47
Bonsoir,
je cherche un moyen de faire correspondre le login avec lequel je me connecte à la bdd à ces fiche de frais quand je veut les modifiez voici le code :
    $lien_db = mysqli_init();

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

    $requete2 = 'select lfhf_libelle from lignefraishorsforfait';

    $reponse2 = mysqli_query($lien_db, $requete2) or die(mysqli_error($lien_db));

    while($ligne = mysqli_fetch_array($reponse2))
    {
       $resultat = '<option value="'.$ligne['lfhf_libelle'].'">'.$ligne['lfhf_libelle'].'</option>';
        echo $resultat;
    }

mysqli_close($lien_db);

bien sur il deux table en jointure une qui ce nomme visiteur ou il y'a le login et l'autre qui ce nomme lignefraishorsforfait(lfhf) ou il y 'a le libelle qui apparait dans le choix de modification de fiche et en gros je voudrai que si le libelle est egale au login il affiche dans la liste deroulante le libelle correpondant au login


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

Merci d'y penser dans tes prochains messages.


4 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
8 déc. 2015 à 01:48
Bonjour,

bien sur il deux table en jointure

Et elle est où ta jointure dans la requête que tu nous montres ?

Qu'as tu essayé ?

Sachant que, tu pourrais éventuellement faire une requête de la forme :
SELECT lfhf_libelle 
          ,CASE WHEN V.login IS NOT NULL THEN V.login ELSE '' END as LOGIN
FROM  lignefraishorsforfait L
LEFT JOIN visiteur V ON V.login = L.lfhf


Puis, dans ton php :
while($ligne = mysqli_fetch_array($reponse2))  {
        $login = $ligne['LOGIN'];
        $libelle = $ligne['lfhf_libelle '];
       $resultat = "<option 
                           value='$libelle'>
                           $login $libelle
                         </option>";
        echo $resultat;
    }




0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
Modifié par thibautB le 8/12/2015 à 13:32
enfaite j'ai deux table une qui sont en jointure par vis_matricule, visiteur et lignefraishorsforfaits, vis_matricule étant en clé primaire dans la table visiteur et en clé étrangère dans la table lignefraishorforfaits.
enfaite j'ai un tableaux ou les valeurs affiché correpond au login de l'utilisateur comme ca il ne peut modifier que ces fiches voici le code :

<?php
//connexion base de donnée
session_start();

$liendb = mysqli_init();
mysqli_real_connect($liendb, 'localhost', 'root', "",'gsb');

$requete = 'select vis_matricule, vis_login from visiteur v WHERE vis_login = "'.$_SESSION['nmu2'].'"'; //requete pour recuperer l'identifiant

$result = mysqli_query($liendb, $requete) or die('echec de la requete1' . mysqli_error($liendb));

$ll = mysqli_fetch_array($result, MYSQL_NUM);
//récupération de toute les adresses (requête sql) :

$requete2 = ' select lfhf.lfhf_id,lfhf.ff_mois, lfhf_libelle, lfhf_date, lfhf_montant, libelle from lignefraishorsforfait lfhf, etat e where e.id_etat = 3 and lfhf.vis_matricule = "'.$ll[0].'"'; //requete pour afficher le tableau + faire correspondre l'id selon le login

$result2 = mysqli_query($liendb,$requete2) or die('echec de la requete2' . mysqli_error($liendb));

//Affichage des résultats
echo"<table>\n";
echo"\t<tr>\n";
echo"\t<td>mois</td>\n";
echo"\t<td>libelle</td>\n";
echo"\t<td>date</td>\n";
echo"\t<td>montant</td>\n";
echo"\t<td>etat</td>\n";






//récupération de chaque ligne de la requête
while ($ligneResReq = mysqli_fetch_array($result2, MYSQL_NUM))
{
echo"\t<tr>\n";
//affichage ligne

for($i = 0; $i<sizeof($ligneResReq); $i++)
{
if($i == 0) // condition pour vérifier que c'est identique
{
$id = $ligneResReq[$i];
}
else
{
echo "<td>".$ligneResReq[$i]."</td>";
}


}
echo"\t</tr>\n";



}

echo"</table>\n";



//libération des résultats en mémoires
mysqli_free_result($result2);
//fermeture de la connection
mysqli_close($liendb)
?>
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
8 déc. 2015 à 13:31
suite de ma problématique en bas
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
8 déc. 2015 à 13:30
puis l'utilisateur clique sur le bouton modifier et va sur la page avec la liste deroulante et dans la liste deroulante je voudrais qu'il n'y a que le libelle correspondand à l'utilisteur donc au vis_login dans la table visiteur.
voici le code dde la liste deroulante :
<?php
$lien_db = mysqli_init();

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

$requete2 = 'select lfhf_libelle from lignefraishorsforfait';

$reponse2 = mysqli_query($lien_db, $requete2) or die(mysqli_error($lien_db));

while($ligne = mysqli_fetch_array($reponse2))
{
$resultat = '<option value="'.$ligne['lfhf_libelle'].'">'.$ligne['lfhf_libelle'].'</option>';
echo $resultat;
}

mysqli_close($lien_db);
?>
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
8 déc. 2015 à 13:47
finalement j'ai trouver ca donne ca :
<?php
$lien_db = mysqli_init();

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

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

$reponse2 = mysqli_query($lien_db, $requete2) or die(mysqli_error($lien_db));

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

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

mysqli_close($lien_db);
?>
0