Demande d'infos en PHP

Melaine -  
Taboujr Messages postés 507 Statut Membre -
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. kalamit
     
    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. Melaine
       
      Hi
      Oki donki merci pour ta réponse ...très clair
      Thank

      Melaine
      0
    2. Melaine
       
      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. kalamit
       
      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. Melaine > kalamit
       
      Resalut

      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. kalamit > kalamit
       
      D'accord, donc, ce que tu cherches, c'est "%& nbsp; eau& nbsp;%". :)

      Kalamit,
      Parle à ma culasse, mon carter est malade. :)
      0
  2. Taboujr Messages postés 507 Statut Membre 117
     
    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