8791 sujets

Développement web côté serveur, CMS

Bonjour, étant clairement débutant, je rencontre le stress suivant:

Etat des lieux:
-------------------

J'ai une Base de données: "mabellebase"
j'ai 5 tables dans "mabellebase": news, livres, magazines, conseils, admin

Dans mes tables j'ai plus ou moins 8 champs à chaque fois. ( genre: id, titre, chapeau, contenu... )

Ce qui fonctionne:
-------------------------

Je sais intérroger ma base en lui demandant à mysql de me sélectionner tout les champs de ma table news,en affichant les 20 premières entrées, et de me les organiser par ordre décroissant.

$reponse = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 20');


Ce qui ne fonctionne pas:
------------------------------------

En fait, j'essaie de rajouter en plus de ma requête précédente, que lorsque je sélectionne la table news, que les résultats affichés contiennent le mot "médecin" dans le champ contenu

Donc j'essaie ceci:

$reponse = mysql_query('SELECT * FROM news WHERE contenu <="medecin" ORDER BY id DESC LIMIT 0, 20');

Mais ça ne fonctionne pas ...

Je me demande si c'est possible ...
Modifié par FranZz (11 Sep 2008 - 14:52)
Hello FranZz,

tu devrais quand même faire attention à tout ce stress ! Smiley lol

Sinon le SQL c'est comme le reste : c'est plus facile en lisant la doc !

Par exemple <= ça recherche quelque chose inférieur ou égal Smiley biggol

pour rechercher un mot à l'intérieur d'un champ c'est LIKE qu'il faut utiliser. Par exemple :
$reponse = mysql_query('SELECT * FROM news WHERE contenu LIKE "%medecin%" ORDER BY id DESC LIMIT 0, 20');

A+
" délire de l'artisan boucher"

Je vais tenter de reprendre...
Modifié par FranZz (11 Sep 2008 - 13:50)
Euh... rien compris ! Smiley rolleyes

Déjà quand tu testes un champ alphanumérique ça marche mieux avec des quotes ' ou des guillemets " (et là ça doit être le premier chapitre de n'importe quel tutorial PHP Smiley cligne ).

Du genre
if ($_GET['key'] == 'medecin')


Sinon à quel moment utilises-tu le LIKE dans une requête ? Smiley confuse
Ok ok !

ça fonctionne >_

Mon stress était là:

J'avais omis de placer des " autour de %medecin%

Donc, avec ceci

$reponse = mysql_query('SELECT * FROM news WHERE contenu LIKE "%medecin%" ORDER BY id DESC LIMIT 0, 20');
ça roule

Merci... Smiley biggol Smiley biggol Smiley biggol
Modifié par FranZz (11 Sep 2008 - 14:06)