par
jojolapine » 28 sept. 2013, 19:02
Bonjour,
Il y a à priori deux solution à ton problème.
La plus simple serait de faire une recherche exacte mais cela implique que les valeurs des champs corresponde bien, cela donnerais en SQL :
SELECT * FROM `serveurs` WHERE `nom` IN ('serveur1','serveur2','...')
Cela donnerais en php :
<?php
// transformation en tableau
$tab_serveur1 = explode(';',$serveur1);
// protection des données pour mysql
$tab_serveur1_protected = array_map("mysql_real_escape_string",$tab_serveur1);
$req = mysql_query("SELECT * FROM `serveurs` WHERE `nom` in ('".implode("','",$tab_serveur1_protected)."')")or die(mysql_error());
L'autre solution si une recherche approchée est nécessaire c'est de multiplier les LIKE... en sql :
SELECT * FROM `serveurs` WHERE `nom` LIKE 'serveur1' OR LIKE 'serveur2' OR LIKE '...'
En php cela donnerais quelque chose du genre :
<?php
// transformation en tableau
$tab_serveur1 = explode(';',$serveur1);
// protection des données pour mysql
$tab_serveur1_protected = array_map("mysql_real_escape_string",$tab_serveur1);
$req = mysql_query("SELECT * FROM `serveurs` WHERE `nom` in ('".implode("' OR LIKE '",$tab_serveur1_protected)."')")or die(mysql_error());
Cordialement,