[RESOLU] requette sql en fonction de 2 colonne

Eléphant du PHP | 150 Messages

08 nov. 2015, 15:32

bonjour,

je souhaiterai récupérer une valeur dans la bdd en fonction d'une autre dans la même table


voici la table

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `page_accueil` ( `id` int(11) NOT NULL AUTO_INCREMENT, `technical_code` varchar(255) NOT NULL DEFAULT '', `origin` varchar(255) NOT NULL DEFAULT '', `type` varchar(255) NOT NULL DEFAULT '', `string` text NOT NULL, `lang` varchar(2) NOT NULL DEFAULT '', `last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `explain` text NOT NULL, `etat` tinyint(1) NOT NULL DEFAULT '0', `site_id` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `technical_code` (`technical_code`), KEY `site_id` (`site_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;");
exemple dans technical_code j'ai "home1" et dans string j'ai "voici la page home"


je souhaiterais récupérer la valeur de string en fonction de technical_code
ex:
$donnee[home1];
et que sa me retourne : voici la page home


merci par avance

Mammouth du PHP | 2703 Messages

08 nov. 2015, 16:33

select * from page_accueil where technical_code = 'home1'
executer cette requete et recuperer le champ string

Eléphant du PHP | 150 Messages

08 nov. 2015, 23:39

bonsoir, merci pour cette reponse mais je doit récupéré plusieurs résultat home1 n'est qu'un exemple

exemple dans technical_code j'ai "home1" et dans string j'ai "voici la page home"
dans technical_code j'ai "home2" et dans string j'ai "voici la page home 2"
dans technical_code j'ai "home_obj" et dans string j'ai "15"
dans technical_code j'ai "home_obj2" et dans string j'ai "17"

et ce a diferente partie du code php

ex :

Code : Tout sélectionner

echo '<span class="my_home">'.$donnee['home1'].'</span> //plus loin dans le code '.$donnee['home_obj'].' //plus loin dans le code : <span class="my_home">'.$donnee['home2'].'</span> //plus loin dans le code '.$donnee['home_obj2'].' //et encore du code

Mammouth du PHP | 2703 Messages

08 nov. 2015, 23:43

tu fais une requete sans le where, tu sauves les résultats dans un tableau et tu fais une fonction qui prend en paramètre ce tableau et l'id à chercher, la fonction parcours les résultats, teste l'id et retourne ce qui doit être retourné.

Eléphant du PHP | 150 Messages

08 nov. 2015, 23:52

re bonsoir,

maleureusement je ne c pas comment faire
et est ce que a la place de l'id je peut mettre le technical_code ?

Eléphant du PHP | 150 Messages

09 nov. 2015, 00:47

je viens de tester ceci mais j'ai erreur
otice: Undefined variable: tab in ligne qui correspond a $output= $tab['home1']['string'];

Code : Tout sélectionner

$sql = "SELECT * FROM accueil"; $result = query($sql); while ($donnee = fetch_assoc($result)) { $tab[$donnee['technical_code']] = $donnee; } $output= $tab['home1']['string']; return $output;

Mammouth du PHP | 2703 Messages

09 nov. 2015, 00:52

$tab = array();
avant le while

Eléphanteau du PHP | 38 Messages

09 nov. 2015, 01:40

$sql = "SELECT * FROM page_accueil WHERE technical_code='home1' ";
$result = query($sql);

while ($donnee =$result-> fetch())
{
echo $donnee['string'];
}
// il va afficher les champs ou le technical_code=home1 "afficher seulement la colonne string "
bon courage