Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 复杂的数据库设置:试图显示与其他三个特定字段相对应的两个字段值_Php_Mysql_Sql - Fatal编程技术网

Php 复杂的数据库设置:试图显示与其他三个特定字段相对应的两个字段值

Php 复杂的数据库设置:试图显示与其他三个特定字段相对应的两个字段值,php,mysql,sql,Php,Mysql,Sql,我正在创建一个页面来显示数据库中的一组信息,但是我正在使用的数据库设置得很糟糕 虽然大约有15个专栏,但我关注的是: 配置名称、配置类型、序号、问题和答案。 每种配置类型都有一组不同的Seq_Nbr值。 所以我有一个名为“_Hosting”的配置类型,它有大约12个不同的“Seq_Nbr”值。每个值对应一个不同的“问题”和“答案”字段。比如说, 示例: 当任何给定的配置名称时,配置类型=\u主机&Seq\u Nbr=60;问题域将是 “控制面板URL”和答案字段将为 “www.examplesi

我正在创建一个页面来显示数据库中的一组信息,但是我正在使用的数据库设置得很糟糕

虽然大约有15个专栏,但我关注的是: 配置名称、配置类型、序号、问题和答案。

每种配置类型都有一组不同的Seq_Nbr值。 所以我有一个名为“_Hosting”的配置类型,它有大约12个不同的“Seq_Nbr”值。每个值对应一个不同的“问题”和“答案”字段。比如说,

示例:

当任何给定的配置名称时,配置类型=\u主机&Seq\u Nbr=60;问题域将是 “控制面板URL”和答案字段将为 “www.examplesite.com/cpanel”

当任何给定的配置名称时,配置类型=\u主机&Seq\u Nbr=70;问题域将是 “控制面板用户名”和答案字段将为“someusername”

我想做的是把所有的信息都显示在一个页面上。 我想我可以使用代码并查询每个部分的单个值(来自示例):


如果希望在一个select中返回所有这些内容,可以尝试使用“in”子句


为什么不直接查询全部并显示全部

并使用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了解更多信息,以及如何连接
//连接
$conn=新PDO(“…”);
$sql=“按顺序从配置订单中选择*”;
foreach($conn->query($sql)作为$val){
echo“Name:.$val['Config_Name'].“
”; echo“类型:”.$val['Config_Type'].“
”; 回应“问题:.$val['Question']。”回答:.$val['Answer']。
”; }
如果我误解了你想做什么,请原谅我


此外,我在示例中使用PDO,如果您仍然要使用mysql,只需调整您需要的内容即可。您是对的,您必须对每个Seq\u Nbr循环并重复查询……实际上没有其他方法……但为什么您不能只查询全部并显示全部?这不是更容易吗?必须执行:
mysql.*
函数将是。不建议编写新代码,因为它将在将来被删除。取而代之的是或和。@KyleK-这可能会更容易,但是我组织数据时不会有问题吗?我希望能够将显示页面布局为“问题”-“答案”。//将Google全部浏览查询并全部显示,以查看是否符合我的需要。@JasonMcCreary-当然。非常感谢。我在一家公司工作,他们没有在数据库上启用MySQLi,我也没有权限。我会告诉我的老板,看看我们能不能改变。嗯。。。这似乎奏效了。现在我将把它组织成一张表,然后从那里开始。谢谢你的洞察力!这种方式比一个接一个的好得多!这也是一个很好的方法。谢谢你的回答!我想投票,但我没有足够的代表。
<p>
    <h2><? echo "Control Panel URL"; ?><h2>
    <br></br>
    <h4><? echo $content; ?><h4>
</p></br>
$seq = "'60','70','80'";
$sql = "SELECT Question, Answer FROM configs WHERE Config_Name='Company' and Config_Type = '_Hosting' and Seq_Nbr in ( " . $seq . " ) ";
 //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>";
}