INSERT TO syntaxe joomla

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] INSERT TO syntaxe joomla

    Bonjour,

    j'ai un souci avec la syntaxe joomla, j'ai vu sur certains posts que je ne suis pas seule dans ce cas, malheureusement les solutions des posts ne m'ont pas aidé.

    J'essaye de faire un simple INSERT TO, voici ma requete :

    Code PHP:
    $club "'".$_POST['club']."'";
        
    $nom "'".$_POST['nom']."'";
        
    $division "'".$_POST['division']."'";
        
    $poule $_POST['poule'];
        
    $points $_POST['points'];

        
    $db JFactory::getDbo();
        
        
    $query 'INSERT INTO #__tt_equipes(club, nom, division, poule, points) VALUES ('.$club.', '.$nom.', '.$division.', '.$poule.', '.$points.')';
        
    $db->query$query ) ; 
    J'ai été obligée de mettre mes POST en variables pour que les chaines de caractères apparaissent avec leur '' dans la requête echo.

    J'ai bien vérifié en echo, aucun souci des variables postées par mon formulaire
    Code PHP:
    echo 'INSERT INTO #__tt_equipes(club, nom, division, poule, points) VALUES ('.$club.', '.$nom.', '.$division.', '.$poule.', '.$points.')'
    j'ai sur la même page une requête SELECT sur cette base, aucun problème
    je n'ai pas de message d'erreur, j'ai validé la syntaxe php sur un validateur
    la requête echo passe bien dans MySQL et ajoute bien la ligne

    Je sèche

    Merci d'avance si ca saute aux yeux pour quelqu'un
    Dernière édition par Minie à 22/12/2016, 13h33

  • #2
    Re : INSERT TO syntaxe joomla

    $query = 'INSERT INTO #__tt_equipes(club, nom, division, poule, points) VALUES (".$club.", ".$nom.", ".$division.", ".$poule.", ".$points.")";

    ou tu peux te servir de la classe joomla

    Christophe
    http://www.webcrea.fr

    Commentaire


    • #3
      Re : INSERT TO syntaxe joomla

      ta synthaxe n'est pas bonne tu ouvre une guillement simple pour la fermer en double, et même en corrigeant ca, elle n'est pas bonne a cause des guillements doubles, mon echo renvoie :
      Code:
      INSERT INTO #__tt_equipes(club, nom, division, poule, points) VALUES (".$club.", ".$nom.", ".$division.", ".$poule.", ".$points.")
      au lieu de
      Code:
      INSERT INTO #__tt_equipes(club, nom, division, poule, points) VALUES ('ville', 'test', 'div', 0, 0)
      dans mon cas

      Pour la classe joomla j'ai déjà essayé j'ai lu toute la doc, je vais réessayer, j'ai peut être loupé quelque chose.
      Dernière édition par Minie à 22/12/2016, 12h39

      Commentaire


      • #4
        Re : INSERT TO syntaxe joomla

        la même requête en utilisant la doc, ca ne fonctionne toujours pas

        Code PHP:
        $club "'".$_POST['club']."'";
            
        $nom "'".$_POST['nom']."'";
            
        $division "'".$_POST['division']."'";
            
        $poule $_POST['poule'];
            
        $points $_POST['points'];

            
        $db JFactory::getDbo();
         
            
        $query $db->getQuery(true);
            
        $columns = array('club''nom''division''poule''points');
            
        $values = array($club$nom$division$poule$points);
            
        $query
                
        ->insert($db->quoteName('#__tt_equipes'))
                ->
        columns($db->quoteName($columns))
                ->
        values(implode(','$values));
            
        $db->setQuery($query);
            
        $db->execute(); 
        et puis personnellement je préfère la première méthode elle est plus courte.

        Commentaire


        • #5
          Re : INSERT TO syntaxe joomla

          j'ai trouvé, c'est comme la tarte tatin, grâce à un erreur ...

          lorsque j'ai souhaité repassé sur mon code à moi, j'ai mis en commentaire celui de la doc, et sans faire exprès j'ai inclu le $db = JFactory::getDbo(); dans mon commentaire et là ca fonctionne, j'en déduit donc que tout mon code etait bien bon mais que joomla n’apprécie pas la répétition du $db = JFactory::getDbo(); qui se trouve sur une autre feuille php inclue dans le même article que cette feuille.

          Problème résolu !

          Commentaire


          • #6
            Re : INSERT TO syntaxe joomla

            n’apprécie pas la répétition du $db = JFactory::getDbo();
            normal, tu cherches à créer deux fois le meme objet.

            Si tu veut le faire en generant deux objets, alors renomme le second $db en $db2 et la ca passera.

            Commentaire


            • #7
              Re : INSERT TO syntaxe joomla

              Hello en fait mon code etait bon j'ai eu un problème de rafraichissement de la page qui m'a fait croire que ca n'avait pas marché. Rappel du bon code :

              Code PHP:
              $club "'".$_POST['club']."'"
                  
              $nom "'".$_POST['nom']."'"
                  
              $division "'".$_POST['division']."'"
                  
              $poule $_POST['poule']; 
                  
              $points $_POST['points']; 

                  
              $db JFactory::getDbo(); 
                
                  
              $query $db->getQuery(true); 
                  
              $columns = array('club''nom''division''poule''points'); 
                  
              $values = array($club$nom$division$poule$points); 
                  
              $query 
                      
              ->insert($db->quoteName('#__tt_equipes')) 
                      ->
              columns($db->quoteName($columns)) 
                      ->
              values(implode(','$values)); 
                  
              $db->setQuery($query); 
                  
              $db->execute(); 

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X