用于PHP的ASE类,但具有与我需要的相同的函数

用于PHP的ASE类,但具有与我需要的相同的函数,php,mysql,Php,Mysql,谢谢 多尼亚尼我做了一个简单的函数。它起作用了 // get variable $area = $_GET['area']; // function function cases($a) { $sel_dash = mysql_query("SELECT * FROM sys_dash WHERE area = '$a'"); $dados = mysql_fetch_assoc($sel_dash); $page = $dados['page']; ret

谢谢


多尼亚尼

我做了一个简单的函数。它起作用了

// get variable
$area = $_GET['area'];

// function
function cases($a) {

    $sel_dash = mysql_query("SELECT * FROM sys_dash WHERE area = '$a'");
    $dados = mysql_fetch_assoc($sel_dash);
    $page = $dados['page'];

    return $page;
}

// call function with the variable
$page = cases($area);
为了测试您得到的值是否正确,您可以将“return”更改为“echo”,然后将变量写入代码中

我使用的表格是:

CREATE TABLE `sys_dash` (
    `id` INT(10) NOT NULL AUTO_INCREMENT,
    `area` VARCHAR(250) NOT NULL,
    `page` VARCHAR(250) NOT NULL,
    PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
我希望我能帮忙

它是PHP的note CASE类,但具有与我需要的相同的函数

谢谢


donani

您不能在
ON
WHERE
子句中引用列别名。您必须重复
CASE
表达式。您不能在
ON
WHERE
子句中引用列别名。您必须重复
CASE
表达式。您不能在
ON
WHERE
子句中引用列别名。您必须重复
CASE
表达式。您不能在
ON
WHERE
子句中引用列别名。您必须重复
CASE
表达式。我运行了您的示例,发现我的逻辑不正确。修好后,一切看起来都很好。基于性能,您推荐哪种方法?@RCM8402性能与您的数据库有很大关系,任何人都不能简单地说“使用方法x”。。。运行一些测试,用这两种方法破坏数据库,看看哪一种更有效。更改表中的数据量,使用最适合您的方法:)我运行了您的示例,发现我的逻辑不正确。修好后,一切看起来都很好。基于性能,您推荐哪种方法?@RCM8402性能与您的数据库有很大关系,任何人都不能简单地说“使用方法x”。。。运行一些测试,用这两种方法破坏数据库,看看哪一种更有效。更改表中的数据量,使用最适合您的方法:)我运行了您的示例,发现我的逻辑不正确。修好后,一切看起来都很好。基于性能,您推荐哪种方法?@RCM8402性能与您的数据库有很大关系,任何人都不能简单地说“使用方法x”。。。运行一些测试,用这两种方法破坏数据库,看看哪一种更有效。更改表中的数据量,使用最适合您的方法:)我运行了您的示例,发现我的逻辑不正确。修好后,一切看起来都很好。基于性能,您推荐哪种方法?@RCM8402性能与您的数据库有很大关系,任何人都不能简单地说“使用方法x”。。。运行一些测试,用这两种方法破坏数据库,看看哪一种更有效。更改表中的数据量,使用最适合您的方法:)
#1052 - Column 'id' in on clause is ambiguous
INNER JOIN teams ON games.id = teams.id 
INNER JOIN teams ON
CASE 
    WHEN games.home_team != ? AND (games.home_score > games.visitor_score) THEN games.home_team 
    WHEN games.visitor_team != ? AND (games.home_score < games.visitor_score) THEN games.visitor_team 
END  = teams.id 
Select
    sub.id,
    teams.class_id,
    classes.name
from
    (
        SELECT 
            CASE 
            WHEN games.home_team != ? AND (games.home_score > games.visitor_score) THEN games.home_team 
            WHEN games.visitor_team != ? AND (games.home_score < games.visitor_score) THEN games.visitor_team 
            END AS id
        FROM 
            games
        WHERE 
            games.complete = 1
    ) sub
    INNER JOIN teams ON sub.id = teams.id 
    INNER JOIN classes ON teams.class_id = class.id
// get variable
$area = $_GET['area'];

// function
function cases($a) {

    $sel_dash = mysql_query("SELECT * FROM sys_dash WHERE area = '$a'");
    $dados = mysql_fetch_assoc($sel_dash);
    $page = $dados['page'];

    return $page;
}

// call function with the variable
$page = cases($area);
CREATE TABLE `sys_dash` (
    `id` INT(10) NOT NULL AUTO_INCREMENT,
    `area` VARCHAR(250) NOT NULL,
    `page` VARCHAR(250) NOT NULL,
    PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT