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

PHP & Base de données Discussion :

Parcours d'un tableau et suppression des entrées


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Parcours d'un tableau et suppression des entrées
    Pour accélerer un moteur de recherche (mysql+php) je crée une table dans laquelle j'enregistre une version "optimisée" des articles. Je supprime tous les accents, les mots de 1 caractère et souhaite supprimer également tous les mots contenu dans une table mysql (t_opti qui contient deux champs, un champ index(auto-incrément) et un champ mot).

    pour supprimer les mots de 1 caractère j'utilise la syntaxe suivante. ($mots représente le texte qui sera entré pour l'article)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $tab2=explode(' ',$mots);
    	$nbt2=count($tab2);
    	$tab4=Array();
     
    	// supprime les mots de 1 et 2 caractères
    	for ($i=0;$i<$nbt2;$i++){$ju=strlen($tab2[$i]);array_push($tab4, $ju);}
    	$ar=count($tab4);
    	$ot=count($tab2);
    for ($i=0;$i<$ot;$i++) { if ($tab4[$i]==1) {unset($tab2[$i]);
     
    }}
    Je souhaite ensuite vérifier la présence des 'mots interdits' enregistrés dans ma table t_opti dans le tableau $tab2[] et supprimer ces entrées du tableau si elles s'y trouvent.
    Je fais donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req=mysql_query("select mot from t_opti",$lien);
    while ($t_opti=mysql_fetch_object($req))
    {$mottrouve=$t_opti->mot;// là je récupère chacune des valeurs du champ mot
    et ici je ne sais plus faire.
    Il faut que je teste si $mottrouve est égale à l'une des valeurs de $tab2, si c'est le cas alors je supprime l'entrée correspondante dans le tableau.
    En français c'est beaucoup plus simple....

    Merci de votre aide

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Une solution pourrait être de créer un duplicata de ton $tab2 mais indexé par ses valeurs (regarde array_keys pour t'aider)

    Ensuite tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset($tab2_inverse[$mottrouve]))
    //traitement
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

Discussions similaires

  1. parcours d'un tableau et suppression d'élements
    Par Isabella83 dans le forum Langage
    Réponses: 46
    Dernier message: 21/10/2014, 12h16
  2. [PHP 5.3] Parcours d'un tableau tridimensionnel contenant des tableaux
    Par DarkSeiryu dans le forum Langage
    Réponses: 11
    Dernier message: 28/05/2010, 15h05
  3. Supprimer une entrée dans ajout suppression des programmes
    Par lavazavio dans le forum Windows XP
    Réponses: 5
    Dernier message: 01/05/2007, 18h30
  4. [Word] Suppression des lignes d'un tableau
    Par sat478 dans le forum VBA Word
    Réponses: 2
    Dernier message: 06/09/2006, 14h22
  5. Suppression espace entre ligne d'un tableau
    Par Alain15 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/08/2006, 12h04

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