1

我正在创建一个页面来显示来自数据库的大量信息,但是我正在使用的数据库设置得很时髦。

虽然大约有 15 列,但我关心的是: Config_Name、Config_Type、Seq_Nbr、Question 和 Answer。

每个 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 查询,但我正在尝试找到一种更有效的方法来做到这一点。

任何想法将不胜感激!(我知道代码不完全正确,我只是想传达方法)

谢谢!

4

2 回答 2

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 . " ) ";
于 2013-06-18T16:23:50.180 回答
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_*,只需调整您需要的内容

于 2013-06-18T16:26:06.097 回答