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

jQuery Discussion :

Suppression de plusieurs éléments dans un tableau


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut Suppression de plusieurs éléments dans un tableau
    onjour

    J'ai un tableau et je souhaite supprimer une ou plusieurs données en cochant une ou plusieurs boxe.

    mon problème est que les données ne s'effacent pas. Auriez vous une solution à me proposer, peut être ai je fait une erreur. La page s'actualise.


    Merci beaucoup


    j'ai fait ceci

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
          case 'delete_all':								
           if ($_POST['selected'] != '') { 
             foreach ($_POST['selected'] as $suppliers['suppliers_id'] ) {						
              tep_db_query("delete from " . TABLE_SUPPLIERS . " where suppliers_id = '" . (int)$suppliers['suppliers_id'] ."' ");
              tep_db_query("delete from " . TABLE_SUPPLIERS_INFO . " where suppliers_id = '" . (int)$suppliers['suppliers_id'] . "'");					
     
              $products_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where suppliers_id = '" . (int)$suppliers_id . "'");
              tep_db_query("update " . TABLE_PRODUCTS . " set suppliers_id = '',
                                                              products_status = 0
                            where suppliers_id = '" . (int)$suppliers['suppliers_id'] . "'
                           ");
             }
           }							
           tep_redirect(tep_href_link(FILENAME_SUPPLIERS),'page='.$_GET['page']);
          break;

    en outre dans mon html j'ai ceci :

    Code js : 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
     
    <script type="text/javascript">
    //-----------------------------------------
    // Confirm Actions (delete, uninstall)
    //-----------------------------------------
    $(document).ready(function(){
        // Confirm Delete
        $('#form').submit(function(){
            if ($(this).attr('action').indexOf('delete',1) != -1) {
                if (!confirm('Delete/Uninstall cannot be undone! Are you sure you want to do this?')) {
                    return false;
                }
            }
        });    	
    });
     
    </script>

    mon code html
    Code html : 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
     
      <div class="buttons"><a class="button" onclick="$('form').submit();"><span><?php echo tep_image_button('button_delete_big.gif', IMAGE_DELETE); ?></span></a></div>
      <div style="width:100%;">  
     
          <form <?php echo 'action="' . tep_href_link(FILENAME_SUPPLIERS, 'page=' . $_GET['page'] . '&action=delete_all', 'NONSSL') . '"'; ?>  method="post" enctype="multipart/form-data" id="form">
     
     
     
        <div style="width:100%;">  
     
              <table cellpadding="0" cellspacing="0" border="0" class="display" id="example" width="100%">
                  <tr class="dataTableHeadingRow">
                    <td width="40" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').attr('checked', this.checked);" /></td>
    .....
                  </tr>
     
                  <tr>
                    <td>
    <?php 
          if ($suppliers['selected']) { 
    ?>
                      <input type="checkbox" name="selected[]" value="<?php echo $suppliers['suppliers_id']; ?>" checked="checked" />
    <?php 
          } else { 
    ?>
                      <input type="checkbox" name="selected[]" value="<?php echo $suppliers['suppliers_id']; ?>" />
    <?php 
          } 
    ?>
                    </td>
    .....
               </tr>
           </table> 
        </div>
    </form>
    </div>

  2. #2
    Membre à l'essai
    Analyste programmeur
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    Ola, avec les éléments que tu donne il difficile de savoir exactement le problème...

    Quelques pistes :
    - Tu fais un update pas un delete.
    - D'où viennent tes données, tu recharge la page mais est ce que tu actualise aussi la sources ?
    - Ta requête de sélection a-t-elle les bons filtres pour ne pas te ramener les éléments que tu viens d'update.
    - Et ce que tes champs sont bien mise à jour en db ?

    Et certainement un bon nombre encore de possibilités...

    GL

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 131
    Points : 49
    Points
    49
    Par défaut
    Quelques pistes :
    - Tu fais un update pas un delete.
    ===> Non je fais bien un delete des données. L'update concerne la table produit.

    - D'où viennent tes données, tu recharges la page mais est-ce que tu actualises aussi la source ?
    La page est rechargée mais les données ne sont pas actualisées, d'où mon problème ?


    - Ta requête de sélection a-t-elle les bons filtres pour ne pas te ramener les éléments que tu viens d'updater.

    ==> Oui je l'utilisais avant mais j'ai du revoir mon code car il y a des bugs qui se produisent en conflit avec d'autres formulaires.

    - Et ce que tes champs sont bien mis à jour en db ?
    Non pas de MAJ, sinon pas de problème.

  4. #4
    Membre à l'essai
    Analyste programmeur
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    Au temps pour moi pour le delete.

    Bah en fait on sait pas grand de qui fait quoi et comment (php, js, des appels ajax).

    Les infos de ton tableau pourraient être en session et tu ne les recharge pas après ta suppression pas par exemple.

    $suppliers['selected'] sort d'où ?

    Je le vois qu'au début de tes extraits de codes mais ça na strictement rien à voir avec le test dans l'html.

    Utilise tu firebug (petit soft über pratique pur dev) ? Tes logs disent quoi ?

Discussions similaires

  1. Suppression d'un élément dans un tableau
    Par hammag dans le forum Langage
    Réponses: 1
    Dernier message: 25/06/2009, 15h30
  2. Réponses: 6
    Dernier message: 10/01/2009, 14h12
  3. Suppression d'éléments dans un tableau (Array)
    Par jeremie74 dans le forum Flash
    Réponses: 4
    Dernier message: 06/03/2007, 13h54
  4. [HTML/CSS]désigner un élément dans un tableau de l'extérieur
    Par FrankOVD dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/06/2005, 21h55
  5. Réponses: 14
    Dernier message: 01/12/2003, 17h47

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