- WordPress :6.0
- Statut : non résolu
- Ce sujet contient 10 réponses, 3 participants et a été mis à jour pour la dernière fois par JBuendia41, le il y a 1 année et 10 mois.
-
AuteurMessages
-
28 octobre 2022 à 20 h 12 min #2427479
Bonjour,
Ma configuration WP actuelle
- Version de PHP/MySQL : PHP version <b>8.0.19</b> & MySQL version <b>5.7.40-log</b>
- Thème utilisé : Responsive
- Extensions en place : Akismet Anti-Spam/Code Snippets/CSS & JavaScript Toolbox/Debug Info/inDiv for TablePress/Insert PHP Code Snippet/My Custom Functions/Responsive Starter Templates/Roosium Info/SecuPress Pro — WordPress Security/Secure DB Connection/TablePress/WP PHP Version Display/WP phpMyAdmin/WP-ServerInfo/WPS Hide Login/Yoast SEO
- Nom de l’hébergeur : OVH
- Adresse du site : https://www.gigsenpoche.org/
Problème(s) rencontré(s) :
Bonjour, l’idée est de faire apparaître sur la page « Agenda » du site « www.gigsenpoche.org », les résultats de la table « agenda » de la BDD = « johnskrioabddgig ». Il s’agit de dates de concerts dans la région Centre Val de Loire. Ceci en les classant tout d’abord par date puis par départements. Sous forme de tableau, il s’agirait de colonnes : date-departement-programmation-lieu-tarif-organisateurs. Je suis novice en code que ce soit PHP, HTML ou CSS. J’aimerai savoir où je dois insérer mon code PHP ? Et comment l’insérer ? Est-ce que je dois aller sur le FTP qui héberge mon site sur OVH ? Voici le code:
<!DOCTYPE html>
<html>
<head>
<meta charset = ‘utf-8’>
</head>
<body>
<?php
$servname = « johnskrioabddgig.mysql.db »; $dbname = « agenda »; $user = « johnskrioabddgig »; $pass = « root »;
try{
$dbco = new PDO(« mysql:host=$servname;dbname=$dbname », $user, $pass);
$dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $dbco->prepare(« SELECT date, departement, programmation, lieu, tarif, organisateur FROM users
ORDER by date ASC, departement ASC »);
$sth-> execute();
$resultat = $sth->fetchAll(PDO::FETCH_ASSOC);
echo ‘
'; print_r($resultat); echo '
‘;
}
catch(PDOException $e){
echo « Erreur : » .$e->getMessage();
}
?>
</body>
</html>
Merci pour votre aide.
28 octobre 2022 à 21 h 06 min #2427488Tu devrais te plonger dans le codex, et découvrir les fonctions wordpress … https://codex.wordpress.org/fr:Accueil
Comprendre la base de données, utiliser les fonctions WP pour sélectionner et manipuler les données. Si ton agenda est une table wp, bien entendu.
28 octobre 2022 à 21 h 43 min #2427490Qu’entends-tu par : « si ton agenda est une table wp »? J’ai créé une BDD avec une table (‘agenda’) via php my admin chez OVH qui héberge mon site wordpress.
28 octobre 2022 à 22 h 52 min #2427495Qu’entends-tu par : « si ton agenda est une table wp »? J’ai créé une BDD avec une table (‘agenda’) via php my admin chez OVH qui héberge mon site wordpress.
C’est donc une base de données externe, pas celle de wordpress, donc pas une table wp. Une solution pour afficher vos résultats: Vous pouvez mettre votre code à l’intérieur d’une fonction, ajouter un shortcode et ajouter le même shortcode sur la page où les résultats les doivent apparaitre.
Vous mettez ensuite cette fonction soit dans le fichier functions.php de votre thème soit dans un plugin personnel facile à faire. Donc
- Dans functions.PHP ou plugin personnel:
function ma_fonction(){
Votre code PHP ICI
}
add_shortcode('mon_shortcode', 'ma_fonction');2.Dans la page souhaitée [mon_shortcode]
29 octobre 2022 à 2 h 01 min #2427511Je veux dire que :
– au lieu de créer une table (ce qui veut dire tout un backend pour administrer les données), pourquoi ne pas créer un custom post type et éventuellement des customs fields, ce qui permet de bénéficier de tout l’éco système wordpress (archives, mise à jour dans l’admin, etc)
– créer une table s’il le faut absolument n’empêche pas d’utiliser toutes les fonctions de la classe WpDb, pas besoin par exemple d’ouvrir une seconde connexion
1 novembre 2022 à 7 h 52 min #2428027Merci Lumière de Lune et Ferman, je vais voir si je m’en sors 🙂
1 novembre 2022 à 10 h 02 min #2428037J’ai suivi la méthode de Ferman (avec le shortcode) et les données de la table « agenda » s’affichent bien dans ma page AGENDA. Par contre il va falloir que je modifie la mise en page des résultats, j’aimerais obtenir les résultats sous forme de lignes avec :
la date – le département – la programmation – le lieu – le tarif – l’organisateur
exemple :
22/12/2022 37 GHOULIES (Rock 70’s de Kiev) + HUTOYING (Dream Pop de Tours) L’atelier (372450 Saint-Perlinpinpin) 15,00€ FAITES DU BRUIT
Avec une couleur de fond différente une ligne sur deux.
Je suppose que pour modifier ce que j’obtiens actuellement en ce que je désire il faut que j’utilise du HTML et/ou du CSS. Question de débutant : est-ce que le code HTML et CSS doit être insérer dans le code PHP de la « function agenda » (dans function.php) ? Ou bien est-ce que je peux réaliser cette mise en page en insérant le code dans le shortcode ( [agenda_shortcode] [/agenda_shortcode]), il me semble que c’est possible ?
Voici ce qui s’affiche sur ma page AGENDA :
Array ( [0] => Array ( [date] => 2022-10-22 [departement] => 37 [programmation] => MY BODY HORSE (Savage punk blues de Tours) - SHARPERS (Nervous pub rock de Blois) - CAUSA NOSTRA (Punk / O� de Montreuil) - KONECT' SON (Electro swing live de Tours) - 21h00 [lieu] => Salles des f�tes de Chaumussay 37350 Chaumussay [tarif] => 5 [organisateur] => Association Le P'tit Paum� ) [1] => Array ( [date] => 2022-10-22 [departement] => 45 [programmation] => SYNDROME 81 (Street Punk de Brest) + BAD SHEEPS (Punk Rawk d'Orl�ans) - 20h00 [lieu] => Le Dropkick Bar 37 place du Ch�telet 45000 Orl�ans [tarif] => 8 [organisateur] => 45Tours de POITRINE ) [2] => Array ( [date] => 2022-10-22 [departement] => 45 [programmation] => SYNDROME 81 (Street Punk de Brest) + BAD SHEEPS (Punk Rawk d'Orl�ans) - 20h00 [lieu] => Le Dropkick Bar 37 place du Ch�telet 45000 Orl�ans [tarif] => 8 [organisateur] => 45Tours de POITRINE ) [3] => Array ( [date] => 2022-10-25 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : Soir�e Propul'Son en partenariat avec la Fracama - BLEU SHINOBI + ELECTRIC VOCUHILA & BEHAJA + TIGRE BLEU - 20h00 [lieu] => Troisi�me Volume du Minotaure 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [4] => Array ( [date] => 2022-10-25 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : Soir�e Propul'Son en partenariat avec la Fracama - BLEU SHINOBI + ELECTRIC VOCUHILA & BEHAJA + TIGRE BLEU - 20h00 [lieu] => Troisi�me Volume du Minotaure 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [5] => Array ( [date] => 2022-10-26 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : HERMAN DUNE + The Healthy Boy vs Tereglio - 20h30 [lieu] => Chapelle saint jacques 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [6] => Array ( [date] => 2022-10-26 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : HERMAN DUNE + The Healthy Boy vs Tereglio - 20h30 [lieu] => Chapelle saint jacques 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [7] => Array ( [date] => 2022-10-26 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : � Mini mini Chat, Mini mini Show � concert jeune public LE CLUB DES CHATS - 15h00 � 17h00 [lieu] => Troisi�me Volume du Minotaure 41000 Vend�me [tarif] => 5 [organisateur] => FIGURES LIBRES ) [8] => Array ( [date] => 2022-10-26 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : � Mini mini Chat, Mini mini Show � concert jeune public LE CLUB DES CHATS - 15h00 � 17h00 [lieu] => Troisi�me Volume du Minotaure 41000 Vend�me [tarif] => 5 [organisateur] => FIGURES LIBRES ) [9] => Array ( [date] => 2022-10-27 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : FISHBACH + MATHILDE FERNANDEZ + JACQUES + THE HAUNTED YOUTH (bel) + ALAIN DAMASIO & YAN P�CHIN - 19h00 [lieu] => Le Minotaure 41000 Vend�me [tarif] => 20 [organisateur] => FIGURES LIBRES ) [10] => Array ( [date] => 2022-10-27 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : FISHBACH + MATHILDE FERNANDEZ + JACQUES + THE HAUNTED YOUTH (bel) + ALAIN DAMASIO & YAN P�CHIN - 19h00 [lieu] => Le Minotaure 41000 Vend�me [tarif] => 20 [organisateur] => FIGURES LIBRES ) [11] => Array ( [date] => 2022-10-27 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : BIBI CLUB (can) + MONOLITHE NOIR - 16h45 [lieu] => La Fabrique du Dr Faton 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [12] => Array ( [date] => 2022-10-27 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : BIBI CLUB (can) + MONOLITHE NOIR - 16h45 [lieu] => La Fabrique du Dr Faton 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [13] => Array ( [date] => 2022-10-28 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : STUFFED FOXES + BASS DRUM OF DEATH (usa) [lieu] => Troisi�me Volume du Minotaure 41000 Vend�me [tarif] => 8 [organisateur] => FIGURES LIBRES ) [14] => Array ( [date] => 2022-10-28 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : STUFFED FOXES + BASS DRUM OF DEATH (usa) [lieu] => Troisi�me Volume du Minotaure 41000 Vend�me [tarif] => 8 [organisateur] => FIGURES LIBRES ) [15] => Array ( [date] => 2022-10-28 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : EZ3KIEL + STAR FEMININE BAND + MAXWELL FARRINGTON & LE SUPER HOMARD + MIDBAND + GUS ENGLEHORN (can) + AEROBICONOISE + DJ UNVERSE - 19h00 [lieu] => Le Minotaure 41000 Vend�me [tarif] => 25 [organisateur] => FIGURES LIBRES ) [16] => Array ( [date] => 2022-10-28 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : EZ3KIEL + STAR FEMININE BAND + MAXWELL FARRINGTON & LE SUPER HOMARD + MIDBAND + GUS ENGLEHORN (can) + AEROBICONOISE + DJ UNVERSE - 19h00 [lieu] => Le Minotaure 41000 Vend�me [tarif] => 25 [organisateur] => FIGURES LIBRES ) [17] => Array ( [date] => 2022-10-28 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : MULE JENNY - 17h45 [lieu] => La Fabrique du Dr Faton 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [18] => Array ( [date] => 2022-10-28 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : MULE JENNY - 17h45 [lieu] => La Fabrique du Dr Faton 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [19] => Array ( [date] => 2022-10-28 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : ANTOINE WIELEMANS (bel) + PRIMEV�RE - 15h00 [lieu] => Chapelle saint jacques 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [20] => Array ( [date] => 2022-10-28 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : ANTOINE WIELEMANS (bel) + PRIMEV�RE - 15h00 [lieu] => Chapelle saint jacques 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [21] => Array ( [date] => 2022-10-29 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVALES : DEWAERE - 17h 45 [lieu] => La Fabrique du Dr Faton 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [22] => Array ( [date] => 2022-10-29 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVALES : DEWAERE - 17h 45 [lieu] => La Fabrique du Dr Faton 41000 Vend�me [tarif] => 0 [organisateur] => FIGURES LIBRES ) [23] => Array ( [date] => 2022-10-29 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : THE LIMI�ANAS + CABADZI + SOPHIA KENNEDY + BRNS (bel) + MADMADMAD (uk/fr) + GUADAL TEJAZ + HONEY FOR PETZI (ch) - 19h 00 [lieu] => Le Minotaure 41000 Vend�me [tarif] => 25 [organisateur] => FIGURES LIBRES ) [24] => Array ( [date] => 2022-10-29 [departement] => 41 [programmation] => ROCKOMOTIVES FESTIVAL : THE LIMI�ANAS + CABADZI + SOPHIA KENNEDY + BRNS (bel) + MADMADMAD (uk/fr) + GUADAL TEJAZ + HONEY FOR PETZI (ch) - 19h 00 [lieu] => Le Minotaure 41000 Vend�me [tarif] => 25 [organisateur] => FIGURES LIBRES ) ) Merci d'aider un ignare du code :)
1 novembre 2022 à 10 h 56 min #2428042Juste pour confirmer: vous travaillez bien avec une base de données externe contenant une seule table (et donc vous utilisez MySQLi) et non la base de données wordpress (contenant les tables wordpress + la table que vous avez créée). Dans ce cas vous utiliseriez $wpdb? Ce n’est pas pareil.
Si c’est le cas, aviez-vous vraiment besoin d’une base de données supplémentaire?
Pour se HTML, il se met dans la fonction. Pour les CSS soit dans la fonction soit en dehors dans le fichier style si vous avez un thème enfant.
1 novembre 2022 à 13 h 15 min #2428067Bjr Ferman,
Lorsque j’ai posté ma première demande d’aide il y avait 2 BDD, une pour WP et l’autre juste avec la table ‘agenda’,
maintenant tout est sur la même BDD. Donc je vais utiliser $wpdb et me référer à ce que me conseillait Lumière de Lune –> le CODEX.
Autre question (de débutant), pour insérer le code PHP j’ai utilisé « Snippets », je pensais retrouver ce code dans « function.php » du thème que j’utilise,
mais pas du tout 🙁 Où se trouve t’il si j’ai besoin de le modifier ?
Merci encore pour votre patience.
1 novembre 2022 à 13 h 18 min #2428068Je viens de trouver où modifier mon code dans « Snippets » 🙂
14 novembre 2022 à 9 h 14 min #2430520Bonjour, je reviens vers vous car depuis j’ai trouvé cette extension : https://plugin5.home.blog/ qui m’a été d’une grande utilité. J’ai réussi avec ELEMENTOR à modifier la mise en page du tableau (font, centrer, couleur de fond, etc…), mais j’ai encore quelques soucis, comme vous pouvez le constater les accents et caractères spéciaux sont remplacés par des points d’interrogations https://www.gigsenpoche.org/agenda/
J’aimerai aussi changer l’ordre de la date J/M/A et que les dates soient classées de la plus récente à la plus éloignée. Pour le classement il faut que j’utilise « SELECT * FROM agenda ORDER BY date ASC » ‘agenda’ étant le nom de ma table et ‘date’ le champ, mais comme dans l’extension la connexion à la base de données et l’affichage des champs sont gérés par des formulaires, je suis perdu 🙂
J’ai vérifié l’interclassement de la BDD et de la table, c’est en ‘uft8_general_ci’, je suppose que c’est à l’affichage qu’il y a un problème.
Merci pour votre aide.
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.