Vous êtes ici > code source PHP > MySQL > Supprimer les champs qui contiennent un nombre de mots trop faible







Description du code source
Ce bout de code sert a supprimer les champs d'une table si le texte d'un champ est < à n mots.
Trés pratique pour nettoyer un annuaire. Dans 1 premier temps, on repère les champs qui n'ont pas assez de mots pour être conservé, on les sauvgarde dans 1 tableau. Puis en dernier, avec une relecture du tableau, on peux suprimer tout les champs invalides.
Dans l'exemple ci-dessous : Si un texte contient un nombre de mots inferieur à 5 , le champ sera supprimer.

| .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 .39 .40 .41 .42 .43 .44 .45 .46 .47 .48 .49 .50 .51 |
/***************************************************************/
/* */
/* __ ____ */
/* ___ / / ___ / __/__ __ _____________ ___ */
/* / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-< */
/* / .__/_//_/ .__/___/\___/\_,_/_/ \__/\__/___/ */
/* /_/ /_/ */
/* */
/* */
/***************************************************************/
/* */
/* Titre:
/* Supprimer les champs qui contiennent un nombre de mots...
/* */
/* URL: http://www.phpsources.org/scripts121-PHP.htm
/* Auteur: KOogar
/* Date édition: 15-04-2005
/* */
/***************************************************************/
<?php
$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))
{
$mots = split(" *[][ ,.;:?!'\"{()}] *", $r['champ1']);
$nombre_mots = count($mots);
if ($nombre_mots < $T_nb) { $champ[] .= $r['champ1'];}
}
// supression des champs invalides
$i = 0;
while ($i < count($champ))
{
$champ_sup = $champ[$i];
mysql_query("DELETE FROM $T_site WHERE champ1 = '$champ_sup'");
echo "Cet element a été suprimé : $champ[$i] <br />";
$i++;
}
?>
|

array : Crée un tableau - (PHP 4, PHP 5)
count : Compte le nombre d'éléments d'un tableau ou le nombre de propriétés d'un objet - (PHP 4, PHP 5)
mysql_fetch_array : Retourne une ligne de résultat MySQL sous la forme d'un tableau - (PHP 4, PHP 5, PECL mysql:1.0)
mysql_query : Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
split : Scinde une chaîne en un tableau, grâce à une expression rationnelle - (PHP 4, PHP 5)
echo : Affiche une chaîne de caractères - (PHP 4, PHP 5)

Votre participation pour les dépôts de sources est possible à partir de l'espace membre. Il faut être inscrit pour déposer une ressource sur le site.
» Inscription libre et gratuite