Merci pour ta reponse. Je pense avoir réussi à lancer la PS , j'ai fait comme suit :
Fonction développée :
1 2 3 4 5 6 7
|
function CallPS($name,$params=0)
{
mysql_query("CALL ".$name."(".$params.")");
$result = mysql_query("SELECT ".$params);
$row = mysql_fetch_row($result);
} |
Apel via php :
$this->Request->CallPS("SP_AffichageMapForLayer","@1");
Je n'utilise pas mysqli, quelle est la difference avec mysql ?
Par contre j'ai une question par rapport à la PS dont voici le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
DELIMITER $$
DROP PROCEDURE IF EXISTS `catalogue`.`SP_AffichageMapForLayer`$$
CREATE DEFINER=`root`@`%` PROCEDURE `SP_AffichageMapForLayer`(IN Id_Layer SMALLINT UNSIGNED)
BEGIN
DECLARE LABEL_Map VARCHAR(100);
DECLARE Layer_Map VARCHAR(100);
DECLARE ListMAP CURSOR FOR SELECT MAP FROM dynmap.map;
DROP TABLE IF EXISTS catalogue.MapForLayer;
CREATE TABLE catalogue.MapForLayer(LABEL VARCHAR(254));
OPEN ListMap;
BoucleMap : LOOP
FETCH ListMap INTO LABEL_Map;
SET Layer_Map = concat("cua.",LABEL_Map,"_Layer");
SELECT * FROM ZoneGeo;
END LOOP BoucleMap;
CLOSE ListMap;
END$$
DELIMITER ; |
En mettant en commentaire . Le table MapForLyer se créé en laissant le select cela ne marche pas (bien que la requete soit juste)
La question que je me pose est : Peut on en ouvrant un cursor faire un autre select dans une boucle ?
Merci
Partager