3

SQLクエリを繰り返し作成できるウェブサイトを作成する予定です。

アイデアは次のとおりです。

while(user wants more where clauses)
{
    show selection (html select) for table columns
    let user choose one column
    upon selection, show distinct values of that column
    let user choose one/multiple value(s)
}

パーツの処理方法は知ってSQLいますが、ページの反復的な構築に取り組む方法がわかりません。

だから私の質問は:

  1. 上でスケッチしたアイデアを使用してページを繰り返し作成するための最良の方法は何ですか?
  2. ユーザーが前の選択の1つを変更した場合、どうすればよいですか?

ウェブサイトはで構築され、ダイナミックな部分Perlに利用することを考えています。Ajax

どんな助けでも大歓迎です。

4

2 に答える 2

0

何を使用するかはわかりませんが、何かをクリックして使用する場合は、データ/コンテンツを戻すスクリプトへのajax呼び出しで要素のOnloadイベントを使用し、readystateでコンテナDIVのinnerHTMLを更新するだけです。次のリンクが、概念を理解するのに役立ち、最初のコードも提供されることを願っています。 http://www.w3schools.com/php/php_ajax_database.asp

于 2012-11-14T21:57:09.463 に答える
0

これを行う場合は、SQL::Abstractを使用します。

アップデート:

ページ全体を再描画したくない場合は、AJAXを使用することになります。したがって、ajax呼び出しを含む快適なJavaScriptライブラリを見つけてください。Jqueryにはこれがあり、他の多くの人もそうしています。さまざまな図書館について、人々はさまざまな意見を持っています。

とにかく、ワークフローは次のようになります。

  1. ユーザーがフォームを送信
  2. javascriptはクライアント側の検証を実行します
  3. javascriptはAJAXスタイルをサーバーに送信します
  4. サーバーは、サーバー側の検証、データ操作などを実行します。
  5. サーバーはデータpaylodで応答します
  6. クライアントは、ペイロードの内容に基づいて画面を更新しました。

それでは、5と6に集中しましょう。

データペイロード:AJAXのXはXMLを意味しますが、多くのアプリはJSONまたはHTMLを送り返します。

画面を更新します。

タグのinnerHTMLまたはouterHTML属性を設定することにより、既存のページにHTMLを直接適用できます。しかし、それはDOMを更新しません。clcinetコードでDOMを掘り下げない場合は、これで十分です。掘り下げた場合は、ノードを構築してページのDOMに追加する必要があるため、JSONまたはXMLの返送を検討することをお勧めします。

したがって、AJAX呼び出しが再実行されるときにid ='generatedSQL'のdivがあるとすると、コールバックメソッドが起動され(updateSQL()と呼びましょう)、コールバック内に次のようなコードがあります。

$(#generatedSQL).innerHTML = theVariableHoldingTheHtml;

他のオプションは、JSONXMLなどを解析することです。createNode()などを使用して、新しいDOMビットを作成し、それらをページにプラグインします。私はあなたのためにこれを書くためのjqueryチョップを持っていません。私はそれのようなことをする必要があるたびにそれを調べます。

クエリテキストが表示専用であり、クライアント側でそれを掘り下げようとしない場合は、HTMLを渡すかJSONを渡してそこからHTMLを生成するかにかかわらず、innerHTMLメソッドを使用してください。クエリテキストがクライアントの内部動作にとって重要である場合は、一連のDOM操作コードを作成する必要があります。

于 2012-11-16T16:01:21.377 に答える