Fonction in_array en php - PHP - Programmation
Marsh Posté le 15-10-2008 à 13:33:43
$tabconsultants doit être un tableau "simple", pas multidimensions (là, t'as $tabconsultants['nom'] et $tabconsultants['fonctionnel'].
Par ailleurs, je trouve douteux le $tabfonctionnel = array(); après le test in_array() : à cahque fois, tu vas réinitialiser le tableau...C'est bien ce que tu veux?
Marsh Posté le 14-10-2008 à 17:51:04
Bonjour
je bataille avec un moteur de recherche que j'essaie de mettre en place et la fonction in_array que j'utilise ne marche pas.
Dans le formulaire de recherche il y a plusieurs champs que je récupère via un formulaire html.
Ensuite j'analyse le 1er champ : $recherchenom
$noms = explode(" ", $recherchenom);
$tabconsultants = array();
foreach($noms as $nom)
{
$resnomconsultant=mysql_query("SELECT * FROM consultants WHERE nom_consultant LIKE '%$nom%'" );
while($reqnomconsultant=mysql_fetch_array($resnomconsultant))
{
$numconsultant=$reqnomconsultant['num_consultant'];
$tabconsultants['nom'] = $numconsultant;
print_r ($tabconsultants);
}
}
Jusque là tout marche bien.
Ensuite j'analyse le 2eme champ : $fonctionnel
if (strlen(trim($fonctionnel))>1)
{
$fonctions = explode(" ", $fonctionnel);
foreach($fonctions as $fonction)
{
$resfonctionconsultant=mysql_query("SELECT * FROM consultants WHERE fonctionnel_consultant LIKE '%$fonction%'" );
while($resfonctionnel = mysql_fetch_array($resfonctionconsultant))
{
if(in_array ($resfonctionnel['num_consultant'], $tabconsultants))
{
$tabfonctionnel = array();
$tabfonctionnel['fonctionnel'] = $resfonctionnel['num_consultant'];
}
print_r ($tabfonctionnel);
}
}
}
Et il ne se passe rien, je n'arrive pas à le faire passer dans le if et à lire la table $tabconsultants
Est-ce que quelqu'un peut m"éclairer car je tatonne depuis des heures sans avancer ?
merci d'avance