Mettre le contenu de plusieurs id sur une page
Fermé
sebs
-
14 oct. 2016 à 11:48
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 16 oct. 2016 à 01:05
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 16 oct. 2016 à 01:05
A voir également:
- Mettre le contenu de plusieurs id sur une page
- Supprimer une page word - Guide
- Traduire une page web - Guide
- Créer une page facebook - Guide
- Page d'accueil iphone - Guide
- Word numéro de page 1/2 - Guide
2 réponses
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
14 oct. 2016 à 12:41
14 oct. 2016 à 12:41
Bonjour,
Si tu connais les ID à afficher, tu utilises dans le WHERE de ta requête un IN
et tu boucles surle résulat obtenu par ta requête dans ton script PHP.
NB: (pour info) Attention ... l'opérateur LIKE sert à faire des recherches partielles...
Dans ton exemple de code , tu aurais du utiliser le signe égale
Si tu connais les ID à afficher, tu utilises dans le WHERE de ta requête un IN
where id IN (1,2,8,12)
et tu boucles surle résulat obtenu par ta requête dans ton script PHP.
NB: (pour info) Attention ... l'opérateur LIKE sert à faire des recherches partielles...
Dans ton exemple de code , tu aurais du utiliser le signe égale
WHERE id = '8'
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
Modifié par jordane45 le 15/10/2016 à 18:03
Modifié par jordane45 le 15/10/2016 à 18:03
Voila :
Donc voici :
Dans un fichier nommé (par exemple) cnxBdd.php tu places le code de connexion à ta BDD
(Ainsi tu n'auras qu'à l'inclure dans tes pages où tu en as besoin au lieu de réécrire à chaque fois le code de connexion)
Il contient le code suivant :
Ensuite, dans ta page, tu peux faire comme ceci pour récupérer les infos souhaitées
Cordialement,
Jordane
Donc voici :
Dans un fichier nommé (par exemple) cnxBdd.php tu places le code de connexion à ta BDD
(Ainsi tu n'auras qu'à l'inclure dans tes pages où tu en as besoin au lieu de réécrire à chaque fois le code de connexion)
Il contient le code suivant :
<?php // FICHIER : cnxBdd.php //---------------------------------------------------------------------------------// // Variables à changer //---------------------------------------------------------------------------------// $host = "localhost"; $user = "user"; $pwd = "password"; $bddName = "Nom_de_ta_bdd"; //---------------------------------------------------------------------------------// //Connexion à la BDD en PDO //---------------------------------------------------------------------------------// try{ $bdd =new PDO('mysql:host=$host; dbname=$bddName; charset=utf8', '$user', '$pwd'); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); } catch(PDOException $e) { // En cas d'erreur lors de la connexion die('Erreur de connexion à la BDD : ' . $e->getMessage()); } ?>
Ensuite, dans ta page, tu peux faire comme ceci pour récupérer les infos souhaitées
<?php //---------------------------------------------------------------------------------// //On active l'affichage des erreurs PHP //---------------------------------------------------------------------------------// error_reporting(E_ALL); //---------------------------------------------------------------------------------// // On inclus la page de connexion à la bdd //---------------------------------------------------------------------------------// require_once "cnxBdd.php"; //---------------------------------------------------------------------------------// // LA REQUETE //---------------------------------------------------------------------------------// //préparation de la requête $sql = "SELECT * FROM Contenu_site WHERE id IN (1,2,3)"; //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute() ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } // on place le résultat de la requête dans un array $mesDonnees = $requete->fetchaAll(); //on vérifie que le tableau n'est pas vide if(!empty($mesDonnees)){ // Maintenant on boucle sur l'array pour afficher les données foreach($mesDonnees as $R ){ print_r($R); // ne connaissant pas la structure de ta table je ne peux pas faire mieux.... // par exemple on peut afficher les ID : echo "<br> ID = " . $R['id']; } }else{ echo "le tableau 'mesDonnees' est vide !"; } //---------------------------------------------------------------------------------// // FIN DU CODE //---------------------------------------------------------------------------------// ?>
Cordialement,
Jordane
Hi Jordane,
Je viens de tenter ton code, mais celui ci me retourne des erreurs.
Etant donné que je ne connais que le mysql, je galere un peu. Déjà bien le merci pour ton code, je ne t'en demandais pas autant. Ensuite, merci de ton aide, car tu as l'air de bien gerer le truc.
Voici l'erreur
Peut etre est ce le fournisseur qui ne prend pas cela en charge? J'ignore sur ce coup je suis assez perdu
merci encore
Je pensais faire la connexion avec mysqli je gere plus ou moins sans aucun soucis :D
Je viens de tenter ton code, mais celui ci me retourne des erreurs.
Etant donné que je ne connais que le mysql, je galere un peu. Déjà bien le merci pour ton code, je ne t'en demandais pas autant. Ensuite, merci de ton aide, car tu as l'air de bien gerer le truc.
Voici l'erreur
Warning: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/carat179/public_html/cnxBdd.php on line 16
Erreur de connexion à la BDD : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
Peut etre est ce le fournisseur qui ne prend pas cela en charge? J'ignore sur ce coup je suis assez perdu
merci encore
Je pensais faire la connexion avec mysqli je gere plus ou moins sans aucun soucis :D
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
>
sebs
16 oct. 2016 à 01:05
16 oct. 2016 à 01:05
Je pense savoir :
J'ai fait une erreur de copier coller.... (j'ai utilisé de simples quotes au lieu de doubles...
A remplacer par :
ou au pire, le temps des tests histoire de voir si les données sont correctement mises dans le code :
J'ai fait une erreur de copier coller.... (j'ai utilisé de simples quotes au lieu de doubles...
$bdd =new PDO('mysql:host=$host; dbname=$bddName; charset=utf8', '$user', '$pwd');
A remplacer par :
$bdd =new PDO("mysql:host=$host; dbname=$bddName; charset=utf8", $user, $pwd);
ou au pire, le temps des tests histoire de voir si les données sont correctement mises dans le code :
$dsn = "mysql:host=$host; dbname=$bddName; charset=utf8" ; echo $dsn ; //le temps des tests $bdd =new PDO($dsn,$user;$pwd);
15 oct. 2016 à 11:48
J'y avais déjà songé à tout ceci, mais c'est plutot le code php qui permettrais de mettre en oeuvre l'écho de l'id ou je galere je me suis surement planté dans mon code
bref je te montre ne rigole pas :D
Modifié par jordane45 le 15/10/2016 à 12:08
Pour affecter une valeur à une variable il ne faut en mettre qu'un seul
Il faut aussi le mettre dans les accolades et retirer le point virgule de la ligne du while
15 oct. 2016 à 12:09
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
15 oct. 2016 à 13:50
Mais comment lui expliquer le code PDO qui lui permettrais d'obtenir ce qu'il veut, car j'avoue que c'est tentant de le savoir
15 oct. 2016 à 18:01