Requête avec expression ?

Eléphanteau du PHP | 31 Messages

18 sept. 2007, 22:29

Bonjour,

Est-il possible (et si oui, sous quelle forme) de faire une recherche poussée sous mySQL.

Plus précisément, j'ai une table qui contient des info du style :
[Un texte] blablabla
[Un autre texte] blablabla
[24/05/2007 19h30] Un texte
[30/07/2007 19h30] Un autre texte
je voudrait rechercher les résultats dans la bdd qui ne contiennent que les champs où il y a une date :
[30/07/2007 19h30] Un autre texte
par exemple.

Vous avez une idée de la requête ?

Merci :)
Const.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

18 sept. 2007, 23:30

Rappel pratique - n'oubliez pas de :
  • suivre ces quelques conseils de débogage
  • préciser quel SGBD vous utilisez ainsi que sa version
  • utiliser les balises

    Code : Tout sélectionner

    [/b] et [b]
    [/b] pour afficher vos requêtes SQL[/color]
  • poster le schéma des tables pertinentes à votre requête sous la forme d'une instruction "CREATE TABLE" (vous pouvez retirer les colonnes qui ne sont pas utilisées dans les requêtes problématiques)
  • si nécessaire, poster un échantillon des données

d0m
Mammouth du PHP | 1141 Messages

19 sept. 2007, 08:04

je dirais carrement changer ta table en ajoutant un champ date.
Si il n'y a pas de date, celle ci reste à null.
Ensuite tu n'as plus qu'à sélectionner les textes qui ont une date.

ViPHP
AB
ViPHP | 5818 Messages

19 sept. 2007, 17:52

@const

Sur les deux lignes qu' Hubert Roksor t'a indiqué en rouge, il manque une information - et pas la moindre - que tu n'as pas indiquée...

Sans cette information, la réponse de dOm est la seule pertinente.

Eléphanteau du PHP | 31 Messages

20 sept. 2007, 09:30

Mais la table importe peu étant donné que je vais piocher dans plusieurs qui n'ont absolument pas le même schéma, j'ai seulement besoin d'un champs de texte où se trouve l'info.

Mais je crois avoir trouvé :

Code : Tout sélectionner

$sql = 'SELECT * FROM `myTable` WHERE `sujet` REGEXP "^[[]([0-9]{2})/([0-9]{2})/([0-9]{2}) " AND id = \'' . $nxe_id . '\' ORDER BY date_time DESC';
Const.

ViPHP
AB
ViPHP | 5818 Messages

20 sept. 2007, 17:01

Mais la table importe peu étant donné que je vais piocher dans plusieurs qui n'ont absolument pas le même schéma, j'ai seulement besoin d'un champs de texte où se trouve l'info.
Ce que tu n'a peut-être pas saisi c'est que l'on peut s'en servir pour faire des tests :wink: