Extraire et tester variable [Résolu/Fermé]

Signaler
Messages postés
1306
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
3 mai 2021
-
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
-
Bonjour,

J'extrait une chaine de caractère de la base, et je voudrais tester si le contenu de cette variable contient bien bien le mot XXX.

Merci.

4 réponses

Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
812
Hello,

La fonction preg_match() de PHP est faite pour toi.

<?php
   $bContientXXX = preg_match("#XXX#", $maVariable);
   // Contient true si ta variable $maVariable contient "XXX"
?>


Tu peux aussi récupérer directement en base les valeurs contenant XXX toujours en utilisant les expression régulières et en te servant de ça : https://dev.mysql.com/doc/refman/8.0/en/regexp.html
Messages postés
1306
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
3 mai 2021
10
Ce n'est pas tout à fait ce que je cherche.

J'ai cette requête :
$select = 'SELECT * FROM ville_bis WHERE sexe LIKE "F" AND (lieu_mariage_1 LIKE "%ALBE%BAS-RHIN" OR lieu_mariage_2 LIKE "%ALBE%BAS-RHIN" OR lieu_mariage_3 LIKE "%ALBE%BAS-RHIN" AND SUBSTRING(date_naissance, -4) > "1599" AND SUBSTRING(date_naissance, -4) < "1801") ORDER BY nom ASC, prenom ASC';

(je cherche les enregistrements qui contiennent "%ALBE%BAS-RHIN" dans lieu_mariage_1 , 2 ou 3.

Dans la suite des traitements, je voudrais tester si et seulement si lieu_mariage_1 contient ALBE, ou lieu_mariage_2 ou lieu_mariage_3, ou lieu_mariage_1 + lieu_mariage_2, ou lieu_mariage_1 + lieu_mariage_3, ou lieu_mariage_2 + lieu_mariage_2 ............. (en fait, si ALBE est contenu dan l'un des lieu_mariage).

Merci
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
812
(Repeat)

La fonction preg_match() de PHP est faite pour toi.

<?php 
   $bContientAlbe = (preg_match("#ALBE#", $lieuMariage1) || preg_match("#ALBE#", $lieuMariage2) || preg_match("#ALBE#", $lieuMariage3)); 
?> 


Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
Messages postés
1306
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
3 mai 2021
10
OK !!!! J'ai réussi ........... ;o))
Merci beaucoup !
A ++
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
812
Au plaisir :)