1

PHPには2つの機能があり、1つはISBNと本のタイトルを表示し、もう1つは前の選択で選択したISBNに基づいてデータベースに存在するエディションを表示します。

2つの機能は次のとおりです。

ISBN-書籍のドロップダウンリスト:

    <?php include ("includes/connections.php");
function dropdown($intIdField, $strNameField, $strTableName, $strOrderField, $strNameOrdinal, $strMethod="asc") {
   echo "<select name=\"$strNameOrdinal\" onchange=\"selection($id)\">\n";
   echo "<option value=\"NULL\">Select Value</option>\n";



   $strQuery = "select $intIdField, $strNameField
               from $strTableName
               order by $strOrderField $strMethod";

   $rsrcResult = mysql_query($strQuery);

   while($arrayRow = mysql_fetch_assoc($rsrcResult)) {
      $strA = $arrayRow["$intIdField"];
      $strB = $arrayRow["$intIdField"] . " - " . $arrayRow["$strNameField"];
      echo "<option value=\"$strA\">$strB</option>\n";
   }

   echo "</select>";
}
?>

エディションのドロップダウンリスト:

<?php include ("includes/connections.php");
function dropdownEdition($intId1Field, $intId2Field, $strTableName, $strOrderField, $strNameOrdinal, $strMethod="asc") {

    $intId2Field = $GLOBALS['book'];
   var_dump($intId2Field);
   var_dump($_POST["book"]);

   echo "<select name=\"$strNameOrdinal\">\n";
   echo "<option value=\"NULL\">Select Value</option>\n";



   $strQuery = "SELECT $intId1Field, $intId2Field
               FROM $strTableName
               ORDER BY $strOrderField $strMethod";

   $rsrcResult = mysql_query($strQuery);

   while($arrayRow = mysql_fetch_assoc($rsrcResult)) {
      $strA = $arrayRow["$intId1Field"];
      echo "<option value=\"$strA\">$strA</option>\n";
   }

   echo "</select>";
   }

?>

私がやろうとしていたのは、前の選択で選択したonchangeISBNを、本のISBNを返す関数で渡すことですが、多くの失敗がありました。

<?php

    function selection($id){
            echo $id;
        }

?>

私はこれでひどいことを知っていますが、あなたが私にそれが大いに感謝される方向を示すことができれば、私は他に何をすべきかわかりません。

可能であれば、JavaScriptソリューションよりもPHPソリューションの方がいいと思います。

4

1 に答える 1

2

onchange イベントを介して PHP 関数を呼び出そうとしています。

結果を取得するには、PHP ファイルへの AJAX 呼び出しを行う JavaScript 関数を作成する必要があります。


jQueryでAJAXリクエストを簡単に作成できます

$.get({
  url: "/selection.php",
  data: {
    id: "ISBN HERE"
  },
  success: function(data) {
    alert(data)
  }
})

結果を表示するには、PHPファイルに次のようなものを追加する必要もあります

echo selection($_GET["id"]);

書籍のリストとGoボタンがある最初のページ

<form action="page2.php" method="get">
   <!-- book selection list -->
   <input type="submit" value="Go">
</form>

2 番目のページには、ID を持つ書籍のすべてのエディションを一覧表示できます。$_GET[$strNameOrdinal]


同じページでこれを行うには、リロードして、フォームが送信されたかどうかを確認する必要があります

<?php

  if (empty($_GET[$strNameOrdinal])) {
    // List Books
  } else {
    // List editions
  }

?>
于 2012-06-08T18:07:57.040 に答える