Demande d'infos en PHP

Bonjour

J'aurais besoin d'une petite info sur cette ligne de cde, je comprends pas tout :

$reqproduit="SELECT * FROM produits p, categorie c, souscateg s WHERE (s.nom LIKE '%".$search."%' OR c.nom LIKE '%".$search."%' OR p.marque LIKE '%".$search."%' OR p.description LIKE '%".$search."%') AND p.del='0' GROUP BY p.idproduit ORDER BY p.taxe ASC";

1/ a quoi correspond les lettres apres les mots comme produits, categorie, souscateg ?
2/également à quoi sert le % ?

Soit infos soit site web qui explique tout cela. Merci d'avance

Melaine

2 réponses

  1. Euh kalamit, y'a un problème avec les '% eau %' parce que dans les expressions qui commence par eau, y'a pas d'espace devant...

    Je verrais plutôt un truc du style : variable LIKE '%eau ' OR variable LIKE ' eau%'

    .:: TaBou JuNioR ::.
    J'ai des questions à toutes vos réponses. [W. Allen]
    0
    1. Salut,
      C'est plus un probleme de sql que de php !

      1. les lettres après les tables, sont positionnées la pour faire un raccourcis. Ca evite de repeter le nom complet de la table, tu peux directement remplacé "produit" par "p" dans la suite de la requete.

      2. Les %, c'est par exemple lorsque tu veux récuperé tous les champs qui commence par 'A', tu diras 'A%'. Si tu veux récuperer tous les champs qui finissent par A, tu diras '%A'.

      Je sais pas trop si c'est clair... :)

      Kalamit,
      Parle à ma culasse, mon carter est malade. :)
      0
      1. Hi
        Oki donki merci pour ta réponse ...très clair
        Thank

        Melaine
        0
      2. Salut

        Juste une dernière petite info :
        si tu mets '%"eau"%' l'ordi recherche dans la base de données tout e qui peut trouver avec les lettres eau qqsoit ce qu'il y a devant et derrière. Il me trouvera donc :
        - eau de pluie
        - eau de table
        - eau plate
        mais également des mots comme
        - gateau
        - chateau
        - pruneau
        - etc...

        Comment je peux pallier à cela ?

        Merci d'avance

        Melaine
        0
      3. Ok, tu cherches finalement: les expressions qui commencent par 'eau', non ? C'est le cas de ton exemple. Alors dans ce cas, tu mettras "eau%" et non pas "%eau%".

        Kalamit,
        Parle à ma culasse, mon carter est malade. :)
        0
      4. @kalamitResalut

        Non pas forcement les phrases qui commencent par eau, exemple :
        - biberon à eau
        - bac à eau

        devrait venir dans ma séléction

        Comme quand tu recherche eau sous Google, il te renvoie l'ensemble des sites contenant le mot eau mais pas les sites qui contiennent les lettres "eau" dans les mots qui le composent

        Melaine
        0
      5. @kalamitD'accord, donc, ce que tu cherches, c'est "%& nbsp; eau& nbsp;%". :)

        Kalamit,
        Parle à ma culasse, mon carter est malade. :)
        0