Bonsoir,

Voila je rencontre un petit problème avec mon code.

Ce que je veux

Je voudrai afficher le contenu d'une table mai celuis spécifique a l'ID

SELECT `param_id`, `param_name`, `param_value`, `param_activ` FROM `parameters`

J'ai donc ma table avec trois paramêtres dedans si je veut récupéré le contenu dans l'ordre que je veut je fait comment ?

exemple :

1 - dans la balisse title je veut le nom du site qui a l'id 2
2 - je veut prendre aussi le slogan qui a l'id 1

etc...

Faut-il faire un tableau ? car la je ne vois pas, d'habitude je me contente de faire un while ou un foreach.

merci pour les futur retour :)

5 réponses


Salut !
Hm, il te faut surement insérer l'ID avec un passage de variable dans l'URL avec la méthode GET. Si j'ai bien compris ce que tu cherche à faire ^^

neecride
Auteur

Bonjour,

Non la methode GET je sais faire !! un exemple :

//jai mon title
<title><?= $param->param_name; ?></title>

//et mon slogan
<div class="slogan"><?= $param->param_name; ?></div>

voici ma table

Il va de soi que je ne vais pas mettre mon header en GET pour afficher mon slogan et le titre, mais le titre du site est stocker avec l'id-1 en base de donnée et le slogan en id-2.

Donc comment prendre seulement l'id voulu a l'endrois voulu de ma page.

Ha ok du coup moi je ferai en début de page :

<?php
PHP //
$connexion = new PDO blablabla
$req = "SELECT param_id, param_name, param_value, param_activ FROM parameters WHERE param_id = 1"; //ou 2 ou 3
$sql = $connexion->prepare($req);
$res = $sql->fetchAll(PDO::FETCH_OBJ); 
foreach($res as $param){
?>
<title><?php echo $param->param_name; ?></title>
<div class="slogan"></div><?php echo $param->param_value; ?></div>
<?php
}
?>

Tu récupères tes données :

$req = "SELECT param_id, param_name, param_value, param_activ FROM parameters WHERE param_name IN ('slogan', 'sitename') ORDER BY param_id ASC";

Et ensuite tu récupères dans ton code :

//jai mon title
<title><?= $param[1]->param_name; ?></title>

//et mon slogan
<div class="slogan"><?= $param[0]->param_name; ?></div>

OU tu peux aussi créer une table de "configuration" qui contiendra des colonnes du genre "sitename", "slogan", etc... Cette table ne contiendra qu'un seul enregistrement contentant toutes les informations

neecride
Auteur

es-ce que c'est bon si je fait comme ça ? sur ton exemple Kareylo :

function parameters(){

    global $db;

    $params = $db->query("SELECT * FROM parameters");

    $param = [];

    while($rows = $params->fetchObject()){
        $param[] = $rows;
    }

    return $param;
}

$param = parameters();

ensuite :

<?php echo $param[0]->param_value; ?>

<?php echo $param[1]->param_value; ?>

j'ai fais un vardump j'ai ce résultats :

en tous cas j'ai le résultat escompter, mai je me demande s'il n'y a pas de meilleurs façon de faire ?