我的php文件中有一个表,其中有Table列(tablecode),并且有每个值(tablecode)的链接。例如
对于(tablecode)值“1”,我想在$link1中对其进行转述,
for(tablecode)“2”在$link2中输入。
我想它自动链接,每当它确定的值是“1”或“2”等。。这可能吗?还是不呢?

$sql1="SELECT tablecode FROM requests";

$lists=mysql_query($sql1);
$link1="http://.....";
$link2="http://.....";
$link="";

<?php
while($request = mysql_fetch_assoc($lists)) {
    echo"<tr>";
    echo"<td BGCOLOR=white><a href='$link'>".$request['tablecode']."</a></td>";
    echo"</tr>";
}

?>

我应该把
if(tablecode == "1") {
    $link=$link1;
}

或者什么?使用php和我的sql im我太困惑了。这里是新的。谢谢,这是我的项目
这是桌子
php - 表中的不同链接-LMLPHP

最佳答案

嗯,我不确定,但我认为你在寻找动态变量(参见PHP manual: Variable variables )。
比如说:

$link1="aaa";
$link2="bbb";

如果$tablecode=1,这将给您$link1
$link=${"link".$tablecode};
echo $link; // aaa

所以,在你的代码中:
while ($request=mysql_fetch_assoc($lists)){
    $link=${"link".$request['tablecode']};
    echo"<tr>
        <td BGCOLOR=white><a href='$link'>$request[tablecode]</a></td>";
        </tr>";
}

说明:
// writing ${"link1"} means that you are referencing $link1
// so if: $request["tablecode"] is 1 then
$link=${"link".$request["tablecode"]};
// is the same thing as $link = $link1;
// but if $request["tablecode"] is 2 then
// you will be referencing ${"link".2} or $link2

但是,正如已经提出的那样,数组更简单:
$links=array("1" => "http://1", "2" => "http://2");

然后使用:
while ($request=mysql_fetch_assoc($lists)){
    $link=$links[$request['tablecode']];
    echo"<tr>
        <td BGCOLOR=white><a href='$link'>$request[tablecode]</a></td>";
        </tr>";
}

09-27 02:11