我正在创建一个页面来显示来自数据库的大量信息,但我正在使用的数据库设置很奇怪。
虽然大约有 15 列,但我关心的是: Config_Name、Config_Type、Seq_Nbr、问题和答案。
每个 Config_Type 都有一组不同的 Seq_Nbr 值。 所以我有一个名为“_Hosting”的 Config_Type,它有大约 12 个不同的“Seq_Nbr”值。每个值对应于不同的“问题”和“答案”字段。例如,
例子:
When any given Config_Name, Config_Type = _Hosting & Seq_Nbr = 60; the Question field will be "Control Panel URL" and the Answer field will be "www.examplesite.com/cpanel"
When any given Config_Name, Config_Type = _Hosting & Seq_Nbr = 70; the Question field will be "Control Panel Username" and the Answer field will be "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_*,只需调整您需要的内容即可
关于php - 复杂的数据库设置 : Trying to display two field values that correspond to three other specific fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17173890/