我正在创建一个页面来显示数据库中的一堆信息,但我正在使用的数据库设置得很时髦。
虽然大约有15列,但我关注的是: Config_Name,Config_Type,Seq_Nbr,问题和答案。
每个Config_Type都有一组不同的Seq_Nbr值。 所以我有一个名为“_Hosting”的Config_Type,它有大约12个不同的“Seq_Nbr”值。每个值对应于不同的“问题”和“答案”字段。例如,
示例:
任何给定的Config_Name,Config_Type = _Hosting& Seq_Nbr = 60;问题字段将是 “控制面板URL”和“答案”字段将是 “www.examplesite.com/cpanel”
任何给定的Config_Name,Config_Type = _Hosting& Seq_Nbr = 70;问题字段将是 “控制面板用户名”和“答案”字段将为“ someusername ”
我要做的是将所有信息显示在一个页面上。 我在想我可以使用代码并查询每个部分的个别值(来自示例):
<?php
$sql = "SELECT Question, Answer FROM configs WHERE Config_Name='Company', Config_Type = '_Hosting', Seq_Nbr = '60'";
$result = mysql_query($sql)or die(mysql_error());
$content = $result
?>
然后将其回显到每个
字段:
<p>
<h2><? echo "Control Panel URL"; ?><h2>
<br></br>
<h4><? echo $content; ?><h4>
</p></br>
但是因为我必须为10+“Seq_Nbr”值执行此操作,所以整个过程看起来很乏味且不必要地重复。我知道我可以实现一个switch()并让它通过不同的SQL查询,但我正在尝试找到一种更有效的方法来实现这一点。
任何想法都将不胜感激! (我知道代码不完全正确,我只是想传达方法)
谢谢!
答案 0 :(得分:0)
如果你想让它们全部在一个选择中返回,你可以尝试一个“in”子句。
$seq = "'60','70','80'";
$sql = "SELECT Question, Answer FROM configs WHERE Config_Name='Company' and Config_Type = '_Hosting' and Seq_Nbr in ( " . $seq . " ) ";
答案 1 :(得分:0)
为什么不只是查询所有并显示所有??
使用ORDER BY来组织它,无论你想要......
//Google PDO to learn more, and how to connect
//Connect
$conn = new PDO("...");
$sql = "SELECT * FROM configs ORDER BY Seq_Nbr";
foreach($conn->query($sql) as $val){
echo "Name :". $val['Config_Name']."<br>";
echo "Type :".$val['Config_Type']."<br>";
echo "Question :". $val['Question']." | Answer :".$val['Answer']."<br>";
}
如果我误解你想做什么,请原谅我......
另外,我在示例中使用PDO,如果您仍然要使用mysql,只需调整所需的内容_ *