Supprimer les champs à faible densité de contenu

Ce bout de code sert a supprimer les champs d'une table si le texte d'un champ est < à n mots.
Pratique pour nettoyer une table. Dans 1 premier temps, on repère les champs qui n'ont pas assez de mots pour être conservé, on les sauvegarde dans 1 tableau. Puis en dernier, avec une relecture du tableau, on peut supprimer tous les champs invalides.
Dans l'exemple ci-dessous : Si un texte contient un nombre de mots inférieur à 5 , le champ sera supprimé.

  Voir en MySQLi un code identique : Supprimer en MySQLi les champs à faible densité de contenu


Information sur les mises à jour

Dernière mise à jour :

18 Sept 2019
fonctionnement du code vérifié

10 013  vues
Compatibilité du code
PHP 4, PHP 5
A savoir

Ces fonctions sont utilisées dans ce code source:
mysql_fetch_array()    mysql_query()   

Ces extensions étaient obsolètes en PHP 5.5.0, et ont été supprimées en PHP 7.0.0.
à la place, vous pouvez utiliser l'extension MySQLi ou l'extension PDO_MySQL.
Voir aussi MySQL : choisir une API du guide et ces entrées de la FAQ pour plus d'informations.
Alternatives à cette fonction :
mysqli_connect() et PDO::__construct()

  code classé dans   MySQL
  code source classé dans   MySQL
 
01
02
03
04
05
06
07
08
09
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
                    
<?php
/*------------------------------*/
/*
Titre : Supprimer les champs a faible densité de contenu

Date édition : 15 Avril 2005
Date mise a jour : 18 Sept 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/

$T_nb = 5 ; // Nombre de mots
$T_site = ''; // Nom de la table


$q = mysql_query("SELECT * FROM $T_site");
$champ = array();
while ($r = mysql_fetch_array($q))
{
$nombre_mots = str_word_count($r['champ']);
if ($nombre_mots < $T_nb) { $champ[] = $r['champ'];}
}

// suppression des champs invalides
$i = 0;
while ($i < count($champ))
{
$champ_sup = $champ[$i];
mysql_query("DELETE FROM $T_site WHERE champ = '$champ_sup'");

echo "Cet élément a été supprimé : $champ[$i] <br />";

$i++;
}

?>
<?php
/*------------------------------*/
/*
Titre : Supprimer les champs a faible densité de contenu

Date édition : 15 Avril 2005
Date mise a jour : 18 Sept 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/

$T_nb = 5 ; // Nombre de mots
$T_site = ''; // Nom de la table


$q = mysql_query("SELECT * FROM $T_site");
$champ = array();
while ($r = mysql_fetch_array($q))
{
$nombre_mots = str_word_count($r['champ']);
if ($nombre_mots < $T_nb) { $champ[] = $r['champ'];}
}

// suppression des champs invalides
$i = 0;
while ($i < count($champ))
{
$champ_sup = $champ[$i];
mysql_query("DELETE FROM $T_site WHERE champ = '$champ_sup'");

echo "Cet élément a été supprimé : $champ[$i] <br />";

$i++;
}

?>

      Fonctions du code - Doc officielle PHP

   php.net  
Description
Versions PHP
    array
Crée un tableau
PHP 4, 5, 7 et 8
    count
Compte tous les éléments d'un tableau ou dans un objet Countable
PHP 4, 5, 7 et 8
    echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
    mysql_fetch_array Retourne une ligne de résultat MySQL sous la forme d'un tableau - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLèTE en PHP 5.5.0, supprimée en PHP 7.0.0
    mysql_query Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLèTE en PHP 5.5.0, supprimée en PHP 7.0.0
    str_word_count
Compte le nombre de mots utilisés dans une chaîne
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
Minimum 10 mots. Votre commentaire sera visible après validation.


 Autres snippets qui pourraient vous intéresser

Supprimer les champs à faible densité de contenu

Compatibilité : PHP 7, PHP 8

Ce bout de script sert a supprimer les enregistrements d'une table dont le texte d'un champ est < au nombre de mots souhaités.

Calcul en % la similarité entre 2 champs MySQL

Compatibilité : PHP 5, PHP 7, PHP 8

Calcule le % de mots clefs communs entre chaque enregistrements de la même table ou de 2 tables différentes.

* Requêtes exécutées avec Recherche Contextuelle

  15 Avril 2005

Information sur les mises à jour

Dernière mise à jour :

18 Sept 2019
fonctionnement du code vérifié

10 013 Vues
Compatibilité du code
PHP 4, PHP 5