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

JavaScript Discussion :

Effacement de news


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Par défaut Effacement de news
    Bonjour,

    j'ai adapté un script de news sur un site. Celui-ci les crée en .txt (date + numéro au hasard) et les affiche mais ne pouvait pas les effacer.

    J'essaye de créer un script permettant de les sélectionner puis de les effacer.
    J'utilise du javascript pour ce faire. Je voudrais créer une variable tableau se remplissant au fur et à mesure que les cases sont cochées puis lorsqu'on appuie sur effacer, lire le tableau et effacer les .txt correspondant aux news sélectionnées.

    Une petite idée? Merci. Ci-dessous le code de la page concernée...

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    <?php
    /*************************************************
     * Micro News
     *
     * Version: 1.0
     * Date: 2007-07-12
     *
     * Usage:
     *
     ****************************************************/
     
    // This function reads all available news
    function getNewsList(){
            
       $fileList = array();
       
            // Open the actual directory
            if ($handle = opendir("news")) {
                    // Read all file from the actual directory
                    while ($file = readdir($handle))  {
                        if (!is_dir($file)) {
                           $fileList[] = $file;
            }
                    }
            }       
            
            rsort($fileList);
            
            return $fileList;
    }
     
     
     
     
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    <title>Suppression news</title>
     
    <link rel="icon" type="image/png" href="favicon.png" />
    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
     
    </head>
    <body class="oneColFixCtrHdr" id="container">
     
    <?php echo "<script>
    
    
    var array = [];
    
    function effnews() {
    
    
    
    array.push.getElementbyId('effacer');
    alert(array);
    }
    
    
    
    function clear() {
    var conf = confirm('Voulez-vous vraiment effacer les news sélectionnées ?');
    if (conf) {alert('EFFACEES!');
    for (i=0;count(array);i++) {fso.DeleteFile(\"news/\"+array[i]);} 
    }
    </script>
    "; ?>
     
    <div id="container">
     
        <br />
    <div class="actus"> 
    <!--<div id="main">-->
        <!--<div id="caption">Actualités</div>-->
    <form method="post">
        <table width="100%">
        <?php
     
          $list = getNewsList();
          foreach ($list as $value) {
          	$newsData = file("news/".$value);
          	$newsTitle  = $newsData[0];
             $submitDate = $newsData[1];	
             unset ($newsData['0']);
             unset ($newsData['1']);
     
             $newsContent = "";
             foreach ($newsData as $value) {
        	       $newsContent .= $value;
             }
     
          	echo "<tr class='fontactu'><th align='left'><INPUT type='checkbox' onclick='effnews();' name='effacer'></th><th align='left'>$newsTitle</th><th align='right'>$submitDate</th></tr>"; //echo $file;
          	echo "<tr class='fontactu2'><td></td><td colspan='2'>".$newsContent."<hr size='1'/></td></tr>";
          }
        ?>
        </table>
    <input id="effacer" type="button" onsubmit="clear();" value="Effacer"> 
     
    </form>  
    <br />
    </div>
      </div>
     
    </body>
    </html>

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 140
    Par défaut
    Salut , je te propose le code suivant, je ne sais pas si c'est exactement ce dont tu as besoin, mais c'est ce que j'ai compris que tu voulais faire.

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <?php
    /*************************************************
    * Micro News
    *
    * Version: 1.0
    * Date: 2007-07-12
    *
    * Usage:
    *
    ****************************************************/
     
    // This function reads all available news
    function getNewsList(){
        
        $fileList = array();
        
        // Open the actual directory
        if ($handle = opendir("news")) 
        {
            // Read all file from the actual directory
            while ($file = readdir($handle)) 
            {
                if (!is_dir($file) && substr($file,-3) == 'new') 
                {
                    $fileList[] = $file;
                }
            }
        }
     
        rsort($fileList);
     
        return $fileList;
    }
     
     
     
     
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    <title>Suppression news</title>
     
     
    </head>
    <body>
    <pre>
    <?php 
        
        print_r(getNewsList());
    ?>
    </pre>
     
    <table>
    <tr><td>Fichier</td><td>Description</td><td>Supprimer</td></tr>
    <?php 
        foreach (getNewsList() as $news)
        {
            echo '<tr><td>'.$news.'</td><td>'. substr(file_get_contents('news/'.$news),0,50).'...</td><td><form action="delete.php"><input type="hidden"name="delete" value="'.$news.'" /><input type="submit" value="X" onclick="return confirm(\'supprimer '.$news.' ?\')"></form></td></tr>';
        }    
     
    ?>
    </table>
    </body>
    </html>
    //je fais des lignes dans le tableau et je lis un appercu du contenu du fichier.Si on clique sur la croix, on demande a executer delete.php avec en variable $_POST['delete'] le nom du fichier à supprimer du repertoire news et retourner sur l'index. a toi de jouer

    Note que je charge seulement les fichiers qui ont une extension .new pour plus de sécurité

    Si tu veux faire une suppression sans recharger la page, tu peux faire une requête AJAX en GET ou en POST. Je te conseille alors de te tourner vers JQuery qui permet de faire une requête très soimplement
    ex :
    $.get('delete.php?file=monfichier.new',callback);
    cela va executer une requete vers le serveur, et le callback est une fonction annonyme qui sera exécutée lorsque la réponse du serveur est reçue. tu peux alors supprimer la ligne du tableau dans cette fonction.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Par défaut
    Pas bête... Sinon, super! ca marche!

    ... bien que j'eus préféré un appel de fonctions JS pour pouvoir effacer d'un coup celles qui sont sélectionnées car j'apprends le javascript en ce moment. Si qqun a une idée de fonction...

    Je vais essayer d'intégrer une fonction jquery comme tu me l'as décrite...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 140
    Par défaut
    RE ,

    je ne sais pas trop ce que tu as tenté avec ta fonction, mais avec cette ligne ca marche mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<tr class='fontactu'><form action='delete.php'><input type='hidden' name='delete' value='".$value."' /><td align='left' style='width:10%;'><input type='submit' value='X' onclick=\"return confirm('$newsTitle')\"></td><th align='left'>$newsTitle</th><td align='right'>$submitDate</td></tr>"; //echo $file;

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Par défaut
    Re,

    J'ai intégré un appel jquery de cette façon :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<tr><td>'.$news.'</td><td>'. substr(file_get_contents('news/'.$news),0,50).'...</td><td><form $.get("delete.php?file=monfichier.txt",callback);><input type="hidden"name="delete" value="'.$news.'" /><input type="submit" value="X" onclick="return confirm(\'supprimer '.$news.' ?\')"></form></td></tr>';
    Je ne sais pas si c'est correct.

    Je vais maintenant essayer de créer la page delete.php . A+ et merci!

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

Discussions similaires

  1. effacer une table que si elle existe ?
    Par soniaSQL dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/06/2003, 14h55
  2. [VBA-E] [Excel] Effacer une feuille
    Par Tray dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/01/2003, 10h04
  3. [VB6] Ecrire/Modifier/Effacer ds un fichier text-4 Chs/Lg
    Par Jonathan_Korvitch dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 24/12/2002, 18h54
  4. Comment effacer des Items d'un TListView ?
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/11/2002, 10h19
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

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