begin process at 2012 05 30 21:07:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Fonction semblable à LIKE (MySQL) en Php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction semblable à LIKE (MySQL) en Php

vendredi 11 novembre 2005 à 15:21:39 | Fonction semblable à LIKE (MySQL) en Php

tweeder

Bonjour,

Est-ce que vous pourriez me dire s'il existe une fonction qui fait le même travaille que la fonction LIKE en Mysql ?
J'ai conçu le ptit bout de code ci-dessous qui réussi à faire ce que je veux, mais je sais très bien que ce n'est pas optimisé.
Vous seriez très sympa si vous m'aidiez à l'optimiser ou si me disiez s'il existe une fonction qui fait le même boulot en php.
J'ai beau regardé sur le site et je ne trouve pas cette fonction.
Merci

//Fonction qui est appellée en premier
//Vérifie si le critère est retrouvé dans un des éléments du tableau
function contains_key( $origine, $criteres ) {
    foreach ($origine as $mot)  {
        foreach ($criteres as $critere)  {
            if( contain_key( strtoupper($mot), strtoupper( trim($critere) ) ) > 0)
                return true;
        }
    }
    return false;
}

//Semblant de la fonction LIKE en MySQL, vérifie si les mots sont semblables
function contain_key( $mot, $critere ) {
    $index = 0;
   
    for($i=0; $i< strlen($mot); $i++)  {
        if($mot[$i] == $critere[$index]) 
        {
            $index++;   
                   
            if( $index == strlen($critere) )
                return true;
        }
        else
            $index = 0;
    }  
    return false;
}


Jonathan
vendredi 11 novembre 2005 à 15:54:23 | Re : Fonction semblable à LIKE (MySQL) en Php

Anthomicro

Salut,

tu veux faire quoi en gros ?

parce que un truc WHERE champ LIKE '%machin%' OR champ LIKE '%machin2%' OR ...

ça fonctionne aussi. Tu veux faire un moteur de recherche ? tu veux faire quoi exactement ?


    vendredi 11 novembre 2005 à 16:00:00 | Re : Fonction semblable à LIKE (MySQL) en Php

    FhX

    Nan je crois que ce qu'il veut, c'est savoir si un mot est contenu dans une chaine :o
    vendredi 11 novembre 2005 à 16:03:58 | Re : Fonction semblable à LIKE (MySQL) en Php

    tweeder

    Désolé j'ai pas été très clair
    En fait ce n'est pas sur une base de données. J'ai un tableau avec pleins de chaines de caractères et le mot que la personne recherche parmi toutes ces chaines.
    Donc j'ai   $tab = { ballon, balle, ami, fou, blabla }  et le mot recherché est : ou
    Je veux donc consulter tous les mots de mon tableau et vérifier s'il y en a un qui contient le chaine : ou

    Jonathan
    vendredi 11 novembre 2005 à 16:22:13 | Re : Fonction semblable à LIKE (MySQL) en Php

    Anthomicro

    bah

    $chaine=array('mot','mot2');

    if(in_array('mot_a_rechercher',$chaine))
    {
        //ok
    }


      vendredi 11 novembre 2005 à 17:36:41 | Re : Fonction semblable à LIKE (MySQL) en Php

      tweeder

      Est-ce que in_array retrouvera fou dans mon exemple ou recherche strictement le même mot (en ne prenant pas compte des majuscules et minuscules ) ?

      Merci

      Jonathan
      vendredi 11 novembre 2005 à 17:43:01 | Re : Fonction semblable à LIKE (MySQL) en Php

      Anthomicro

      Réponse acceptée !
      ah non dans ce cas faut faire une boucle avec des strtolower et des strpos. je me souviens avoir répondu il y a très longtemps à un problème de ce genre en ayant fourni du code.


        vendredi 11 novembre 2005 à 17:48:34 | Re : Fonction semblable à LIKE (MySQL) en Php

        tweeder

        Ok merci Antho, je vais donc faire des recherches pour voir si je ne retrouverais pas cette source.

        Jonathan


        Cette discussion est classée dans : fonction, mysql, like, index, critere


        Répondre à ce message

        Sujets en rapport avec ce message

        la fonction like qui pose probleme [ par RMOINAS ] Salut Alors voilà mon probleme est que dans mon code la fonction like ne fonctionne pas mais pour vous expliquer voci le code en question : $let Index de mysql [ par caranguejo ] Salut j'ai plus l'habitude de taper les requetes avec des foreign key desfois et la jutilise easyphp.Et là, ya pas alors je me demandais a quoi servai LIKE avec casse ? [ par malaysia ] Je fais une requête dans une base MySQL avec LIKE car le mot cherché ($tb) est au milieu d'une phrase (donc impossible de faire "="). Toutefois j'aime Probleme de sélection avec LIKE (mysql) [ par levampiremarius ] Bonjour, Voilà je vous explique la situation rapidement : J'ai un champ mysql qui contient plusieurs mots clefs (séparés par des espaces). Je voudra Mysql ? question idiote ? :s [ par milkasoprano ] Bonjour tous le monde, j'ai une question  un peu idiote a propos de mysql ... voila je voudrai savoir comment mettre des données genre : 12.50 ou 12,5 Random dans MySQL [ par mightteam ] Salut à tous voila g un pti probje chercher une fonction pour faire un Random dans la sortie de mes données$query = "SELECT * From `products` WHERE od probleme a la con [ par niko14 ] salut tout le monde! j'ai un probleme, je m'explik suivez bien ca peut etre con a comprendre ou moi qui m'exprime mal... en fait j'ai fait une fonctio PHP & mysql probléme de tri [ par donfab ] bonjourjai quatre score voudrai les trier cad j'ai quatre diagramme en svg qui represente 4 ligne d'une table et qui sont de la taille du champ scoree XML MySQL et fonction [ par Teclis01 ] Bonjour, Je savais pas trop dans quel theme posté donc je suis resté assez global Alors voyons mon probleme. J ai un fichier xml qui a le corps suiva fonction sql avec retour de valeur mensuelle [ par gabs77 ] bonjour, je cherche a faire une fonction sql en php qui me retournerai le nb de fois qu'apparait une donnée dans une table sur un etendue de moiscad q


        Nos sponsors


        Sondage...

        Comparez les prix

        CalendriCode

        Mai 2012
        LMMJVSD
         123456
        78910111213
        14151617181920
        21222324252627
        28293031   

        Consulter la suite du CalendriCode

        A découvrir



         
        Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
        CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
        CodeS-SourceS.com© est une marque déposée tous droits réservés

        Google Coop CodeS-SourceS Google Coop CodeS-SourceS
        Temps d'éxécution de la page : 7,847 sec (3)

        Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales