IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Plugin et Insertion dans BBD (wordpress)


Sujet :

WordPress PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    DUT MMI
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : DUT MMI
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut Plugin et Insertion dans BBD (wordpress)
    Bonjour,


    Je travaille actuellement sur la création d'un plugin sous wordpress et je rencontre de nombreuses difficultés..

    J'ai actuellement une table que j'ai réussis à créer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
            id int(20) NOT NULL auto_increment,
            time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
            name varchar(255) NOT NULL,
            prenom varchar(255) NOT NULL,
            societe varchar(255) NOT NULL,
            mail varchar(255) NOT NULL,
            tel varchar(15) NOT NULL,
            modele varchar(255) NOT NULL,
            titre varchar(255) NOT NULL,
            ind_a varchar(255) DEFAULT '' NOT NULL, 
            ind_b varchar(255) DEFAULT '' NOT NULL,
            ind_c varchar(255) DEFAULT '' NOT NULL,
            col_titre varchar(255) NOT NULL,
            col_head varchar(255) NOT NULL,
            col_bkg varchar(255) NOT NULL,
            materiel varchar(255) NOT NULL,
            commentaire text DEFAULT '' NOT NULL,
            PRIMARY KEY (id)
    J'essaye maintenant de rentrer les données suite à la validation de plusieurs formulaires à suivre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    session_start();
     
    global $wpdb;
    $col_titre="'". $_SESSION['titreCouleur'] . "'";
    $col_head="'" . $_SESSION['headCouleur'] . "'";
    $col_bkg="'" . $_SESSION['bgcolor'] . "'";
    $ind_a="'" . $_SESSION['ind1'] . "'";
    $ind_b="'" . $_SESSION['ind2'] . "'";
    $ind_c="'" . $_SESSION['ind3'] . "'";
    $titre="'" . $_SESSION['titre'] . "'";
    $modele="'" . $_SESSION['modele'] . "'";
    $materiel="'" . $_SESSION['matiere'] . "'";
    $commentaire="'" . $_SESSION['matiere'] . "'";
    $name="'" . $_POST["tableau_nom"] . "'";
    $prenom="'" . $_POST["tableau_prenom"] . "'";
    $societe="'" . $_POST["tableau_societe"] . "'";
    $tel="'" . $_POST["tableau_telephone"] . "'";
    $mail="'" . $_POST["tableau_mail"] . "'";
    $dateN = new DateTime() ;
    $date = $dateN->format('Y-m-d H:i:s');
     
     
    $tablename = $wpdb->prefix . "tableau_interactif";
     
    $wpbd->insert(
    $tablename, array(
            'id' => 0,
            'time' => $date, 
    	'name' => $name, 
    	'prenom' => $prenom, 
            'societe' => $societe,
            'mail' => $mail, 
            'tel' => $tel, 
            'modele' => $modele,
            'titre' => $titre, 
            'ind_a' => $ind_a, 
            'ind_b' => $ind_b, 
            'ind_c' => $ind_c, 
            'col_titre' => $col_titre, 
            'col_head' => $col_head,
            'col_bkg' => $col_bkg,
            'materiel' => $materiel,
            'commentaire' => $commentaire,
    	)  
    );
    J'ai essayé beaucoup de chose mais aucun de mes test ne fonctionne et je ne sais pas comment avoir accès au log pour regarder les erreurs. Y a t il quelques choses que j'ai mal fait ? J'ai encore beaucoup de progrès à faire en PHP ...

    Merci beaucoup !

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 668
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 668
    Par défaut
    sous WordPress, la création d'un nouvel objet passe plutôt par la création d'un "custom post type"
    Par exemple le code suivant permet de créer une liste d'objets "tableau" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    add_action("init", function () {
     
        $configuration = array(
            "public" => TRUE,
            "label" => "Tableaux",
        );
     
        register_post_type("tableau", $configuration);
    });
    Avec ce code, il y a les pages d'administration gérées par WordPress (ajout / modification / suppression) ainsi que l'affichage sur le site à l'adresse http://serveur/tableau/nomDuTableau
    En créant des nouveaux types d'objet, on peut ensuite ajouter des champs particuliers comme si on créait une nouvelle table dans la base de données. Sauf que là c'est Wordpress qui fait tout, pas besoin de toucher à la base de données.
    Dans les réglages, il possible d'indiquer que ce type d'objet n'apparait pas sur le site par exemple. Il y a des exemple d'utilisation sur la page de la fonction "register_post_type" :
    http://codex.wordpress.org/Function_...ster_post_type



    voilà pour la partie information. maintenant si tu veux quand même passer par la création de tables, c'est comme tu veux, ça dépends quels sont tes objectifs

  3. #3
    Membre averti
    Femme Profil pro
    DUT MMI
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : DUT MMI
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    Finalement, j'ai réussis à résoudre mon problème. Le chemin du require_once() n'était pas bon et j'ai du utiliser $GLOBALS['wpdb'] à la place de global $wpdb. Merci pour votre aide ! Je pense que pour mon projet la création de table est nécessaire, mais peut être que je ne connais pas assez wordpress pour cela.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/06/2004, 12h47
  2. Insertion dans fichier texte + rapide que TStringList ?
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 26/02/2004, 11h34
  3. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34
  4. Insertion dans un fichier xml à partir d'un xsl
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/03/2003, 09h45
  5. Insertion dans un fichier XML
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/02/2003, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo