1

データベースからの一連の情報を表示するページを作成していますが、使用しているデータベースはファンキーに設定されています。

約 15 の列がありますが、私が関心を持っているのは 、Config_Name、Config_Type、Seq_Nbr、Question、Answer です。

各 Config_Type には、異なる Seq_Nbr 値のセットがあります。したがって、約 12 の異なる「Seq_Nbr」値を持つ「_Hosting」と呼ばれる Config_Type があります。各値は、異なる「質問」および「回答」フィールドに対応しています。例えば、

例:

指定された Config_Name の場合、Config_Type = _Hosting & Seq_Nbr = 60; 質問フィールドは「コントロール パネルの URL」、回答フィールドは「www.examplesite.com/cpanel」になります。

指定された Config_Name の場合、Config_Type = _Hosting & Seq_Nbr = 70; 質問フィールドは「コントロール パネルのユーザー名」、回答フィールドは「someusername」になります。

私がやろうとしているのは、1 つのページに表示されるすべての情報を取得することです。コードを使用して、各セクションの個々の値を照会できると考えていました (例から)。

<?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

それらすべてを 1 回の選択で返したい場合は、「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 に答える