Mettre le contenu de plusieurs id sur une page
                                    
                        sebs                    
                                    -
                                     
jordane45 Messages postés 40050 Statut Modérateur -
        jordane45 Messages postés 40050 Statut Modérateur -
        Bonjour à toutes la communauté CCM
J'aimerais mettre le contenu d'une table sql sur une page ATTENTION pas dans un tableau avec affichage de résultat etc juste du texte entre des balises
je m'explique j'aimerais que ce contenu soit modifiables à souhait pour le client.
Mais le soucis c'est que je n'ai pas envie de mettre de code html dans la base mysql
Donc facile pour afficher le contenu sur une page mysql_query('SELECT * FROM Contenu where id like"8"') par exemple.
Puis je fait un echo du contenu.
Mais comment faire cela avec plusieurs id sur la meme page?
Merci a vous :)
            
            
                
            
                
    
    
    
        J'aimerais mettre le contenu d'une table sql sur une page ATTENTION pas dans un tableau avec affichage de résultat etc juste du texte entre des balises
je m'explique j'aimerais que ce contenu soit modifiables à souhait pour le client.
Mais le soucis c'est que je n'ai pas envie de mettre de code html dans la base mysql
Donc facile pour afficher le contenu sur une page mysql_query('SELECT * FROM Contenu where id like"8"') par exemple.
Puis je fait un echo du contenu.
Mais comment faire cela avec plusieurs id sur la meme page?
Merci a vous :)
        A voir également:         
- Mettre le contenu de plusieurs id sur une page
- Comment supprimer une page sur word - Guide
- Imprimer tableau excel sur une page - Guide
- Mettre google en page d'accueil - Guide
- Id telephone - Guide
- Comment mettre une page en paysage sur word - Guide
2 réponses
                        
                    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'
                        
                    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
    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);
 
    
    
    
    
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
$req = mysql_query('select * from Contenu_site Where id In (1,2,3')) ;
while($dnn = mysql_fetch_array($req));
$a==($dnn['contenu where id ="1" ']);
{
?>
<? echo $a; ?>
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
While (condition) { $a = truc ; Echo $a ; }https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
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