Bonjour à tous,

Je coince encore pour extrauire les données d'une base de donnée selon une array.

J'ai plusieurs menus déroulants afin de sélection 1 ou plusieurs glaciers, 1 ou plusieurs locations, etc.

Je récupère les données ainsi
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
(isset($_GET['glaciers'])) ? $array_glaciers = $_GET['glaciers'] : $array_glaciers = array();
print_r($array_glaciers);
Ca marche.

Ensuite je faire une requte sur ma base MSSQL.

Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
$where0 ="la.id_label > 0";
$tsql0= 'SELECT id_label FROM labels AS la WHERE '.$where0.' ORDER BY la.id_label ASC;';
$getResults0= sqlsrv_query($conn, $tsql0, array(), array("Scrollable"=>"static"));
echo $num_rows = sqlsrv_num_rows( $getResults0 );

Ca marche aussi

Maintenant, j'aimerais ajouter mes glaciers, donc je pensais ajouter ceci


Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
$where0 ="la.id_label > 0";
$array_glaciers = implode(',',$array_glaciers);
$where0 .= ' AND la.galciers_id_glacier IN ($array_glaciers)';
$tsql0= 'SELECT id_label FROM labels AS la WHERE '.$where0.' ORDER BY la.id_label ASC;';
$getResults0= sqlsrv_query($conn, $tsql0, array(), array("Scrollable"=>"static"));
echo $num_rows = sqlsrv_num_rows( $getResults0 );

Donc en mors, il va axtraire tous les glacier qui se ont l'id stocké dans $array_glaciers dont l'id des label est supérieurs a 0

Le hic c'est que la fonction

Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
echo $num_rows = sqlsrv_num_rows( $getResults0 );
me retourne cette erreur
Warning: sqlsrv_num_rows() expects parameter 1 to be resource, boolean given in /var/www/html/opal/index.php on line 317
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -14 [code] => -14 [2] => An invalid parameter was passed to sqlsrv_num_rows. [message] => An invalid parameter was passed to sqlsrv_num_rows. ) )
Je me demande si SQL retourne des lignes mais portant les glacier existes bien dans la bas de donnée,
ou alors j'emploie mal cette partie
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$where0 .= ' AND la.galciers_id_glacier IN ($array_glaciers)';


Quelle erreur de syntaxe dois-je corrigé alors?

Milles mercis