我正在创建一个页面来显示来自数据库的一堆信息,但是我正在使用的数据库设置得很时髦。
虽然有大约15列,我关心的是:Config_Name, Config_Type, Seq_Nbr, Question, and, Answer.
每个Config_Type都有一组不同的Seq_Nbr值。所以我有一个名为"_Hosting"的Config_Type,它有大约12个不同的"Seq_Nbr"值。每个值对应一个不同的"问题"one_answers"答案"字段。例如
例子:
当任意给定的Config_Name, Config_Type = _Hosting &Seq_Nbr = 60;Question字段将为"控制面板URL"和答案字段将是"www.examplesite.com/cpanel"
当任意给定的Config_Name, Config_Type = _Hosting &Seq_Nbr = 70;Question字段将为"控制面板用户名"和答案字段将是"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查询,但我正试图找到一个更有效的方法来做到这一点。
任何想法都将非常感激!(我知道代码不完全正确,我只是想传达方法)
谢谢!
为什么不直接查询所有并显示所有呢?
并使用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_*
如果希望在一次选择中全部返回,可以尝试使用"in"子句。
$seq = "'60','70','80'";
$sql = "SELECT Question, Answer FROM configs WHERE Config_Name='Company' and Config_Type = '_Hosting' and Seq_Nbr in ( " . $seq . " ) ";