我的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 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>";
}