EstebanSmits
4/13/2012 - 8:35 PM

Filter URL and find a specific querystring keyvalue pair value

Filter URL and find a specific querystring keyvalue pair value

DELIMITER $$

DROP FUNCTION IF EXISTS `YOURDB`.`FindQueryValueinURL` $$
CREATE DEFINER=`YOURDB`@`%` FUNCTION `FindQueryValueinURL`(
 URL varchar(255),
 KeyName varchar(12) ) RETURNS varchar(100) CHARSET latin1
BEGIN
  DECLARE myParameters varchar(255);
  Declare ParameterValue, KeyValuePair, ParameterKey VARCHAR(100);
  Declare ParameterCounter INT DEFAULT 1;
  set myParameters = split_str(URL,"?",2);
  SET KeyValuePair = split_str(myParameters,"&",ParameterCounter);
  /* CHECK TO SEE IF THIS URL HAS A QUERYSTRING */
  if  myParameters is null then
    Return "";
  end if;
  WHILE KeyValuePair <> "" DO
    SET KeyValuePair = split_str(myParameters,"&",ParameterCounter);
    SET ParameterKey = split_str(keyValuePair,"=",1);
    SET ParameterValue = split_str(keyValuePair,"=",2);
    if ParameterKey = KeyName then
      Return ParameterValue;
    end if;
    SET  ParameterCounter = ParameterCounter+ 1;
  END WHILE;
  Return  "";
END $$

DELIMITER ;