Utilisation d'alias issu d'une table

danielos77 Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   -  
danielos77 Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Je fais appelle au forum car je pédale (sans fin) dans la semoule.

Pour éviter de changer x fois les mêmes informations dans des pages, j'ai créé une table simple avec 3 champs (ID, Var, Contenu).

L'idée est de mettre à la place d'une information une variable nommée par le contenu d'un champ de la colonne Var et que cela affiche le contenu correspondant de la colonne Contenu.

Table

ID | Var | Contenu

1 | Pdt |Alain DUPONT

2 | MailPdt |Alain.dupont@patate.com

Ensuite dans la page, je placerai simplement

$Pdt=$alias['Contenu']; à l'endroit où je souhaiterais avoir Alain DUPONT (en ayant ma requête mise en amont sur ladite page)

J'arrive bien à récupérer mes couples, chacun dans un tableau, avec la requête suivante :

$sql = 'SELECT Var,Contenu FROM Alias';
        try{
            $req = $bdd->query($sql);
            $res = $req->fetchAll();
           }
         catch(Exception $e){
         // en cas d'erreur :
         echo " <br>Erreur ! ".$e->getMessage();
         echo " <br>Les datas : " ;
         print_r($res);
         }

Ou à lister tous les $alias['Contenu']; en rajoutant un foreach

$sql = 'SELECT Var,Contenu FROM Alias';
    try{
        $req = $bdd->query($sql);
        $res = $req->fetchAll();

        foreach($res as $alias){
        echo "<br>".$alias['Contenu']."<br>";  
        }
       }
        catch(Exception $e){
        // en cas d'erreur :
        echo " <br>Erreur ! ".$e->getMessage();
        echo " <br>Les datas : " ;
        print_r($res);
        }

Mais après je bloque sur la façon de faire... si c'est faisable.

J'ai bien chercher aussi du côté 

$sql="SELECT Contenu FROM Alias where Var= :var";
$requete =$bdd->prepare($sql);1
$requete->bindValue(":var", $Var, PDO::PARAM_STR);
$requete->execute();

mais sans succès $Var car s'il faut saisir la valeur de $Var à la main ;-(

Merci à celui ou celle qui pourra me donner une piste
 


Windows / Firefox 152.0

4 réponses

  1. Grandasse_ Messages postés 974 Date d'inscription   Statut Membre Dernière intervention   614
     

    Bonjour,

    C'est très curieux comme façon de faire, pourquoi ne pas avoir simplement une table de la sorte : 

    ID | Pdt | MailPdt

    1 | Alain DUPONT | Alain.dupont@patate.com
    2 | Michèle MICHU | mich@michu.com
    ...

    Ça facilite beaucoup les choses parce que pour chaque ligne, tu peux demander ta variable Pdt ou MailPdt, et les deux informations sont liées ensemble (=sur une même ligne quoi)

    Désolé, je sais que ça ne répond pas à ta question mais je trouve ça vraiment sur-compliqué comme organisation dans ta BDD


    0
  2. danielos77 Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   2
     

    Bonjour,

    Tout simplement parce que sur certaines pages il y aura le nom et le tph sur d'autre ce sera l'envoi d'un mail, etc... Mais oui la variable en place de l'alias pourrait être $var=$alias['nom_colonne'];

    Ce qui pouvait simplifier la table c'est de mettre Var en unique et de supprimer l'ID qui ne me servira pas.

    L'idée est simplement de ne pas avoir à faire le tour de toute les pages et de scruter tous les codes lorsqu'il y a un changement dans l'association.

    Mais comme tu dis, ça ne fait pas avancer la chose.

    @+
    Daniel

    0
  3. jee pee Messages postés 31889 Date d'inscription   Statut Modérateur Dernière intervention   9 982
     

    Bonjour,

    Si tu en es au stade de la définition des données et de la conception d'un site web, tu devrais te concentrer d'abord sur la première.

    J'imagine que dans une association on pourrait avoir :

    une table membre : id, nom, prénom,tel, email, date inscription, ...

    une table bureau : id, membre.id, fonction.id, date début, date fin, ...

    une table fonction : id, fonction


    0
  4. danielos77 Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   2
     

    Bonjour,

    Et ?
    Le scmilblick n'a pas beaucoup avancé avec ça ;-)

    0