0

php を使用して、ブログ/スレッド アイテムを表示する html ページを生成しています。JavaScript を使用して、詳細の一部を表示/非表示にしています。問題は、入力を処理するフォームを含む隠しコンテンツのセットごとに一意の ID を生成していることです。フォームを処理する際に、どのブログ アイテムが編集されたかを知る必要があります。$_POST を使用したいと考えています。私は JavaScript にかなり慣れていないので、おそらくそこで使用できる解決策があると考えています。

投稿でテキストをmysqlデータベースに保存して(私が作業しているphp関数の1つを呼び出して)、テキストが何であるか、およびthreadIdが何であるかを教えてください。

$threadDetailItem は、スレッド データを含む配列です。

   foreach ($threadData as $threadDetailItem)
   {
    // display main line (a bunch of code here ...)


    // append button to edit or delete the post for admin
    if ( isset ($_SESSION['isAdmin']) && $_SESSION['isAdmin'] == 'Y'){
        // edit link opens content, and delete pops up a confirmation box
        $el = sprintf ("editThreadLink_%d", $threadDetailItem['blogThreadId']);
        $ec = sprintf ("editThreadContent_%d", $threadDetailItem['blogThreadId']);
        $link1 = sprintf ("<a id=\"%s\" href=\"javascript:toggle('%s', '%s');\">+</a>", $el, $ec, $el);
        $msg .= sprintf ("<li id=\"field6\">%s</li>\n", $link1);
    } 
    $msg .= "</ul>\n";
    echo $msg;

    // now that the row is printed, lets add the hidden content if admin so they can edit
    if ( isset ($_SESSION['isAdmin']) && $_SESSION['isAdmin'] == 'Y'){
        // hidden content to enable editing of the posting
        $msg = sprintf ("<div id=\"%s\" style=\"display: none\">\n", $ec);
        echo $msg;

        echo "<form name=\"form\" method=\"post\" action=\"\">\n";
        $msg = sprintf ("<textarea id=\"%s\" name=\"%s\">%s</textarea>\n", 
            $ec, $ec, $threadDetailItem['threadTitle']);
        echo $msg;
        $msg = sprintf ("<button type=\"submit\"> %s</button>\n", $lang->get('BLOG POST'));
        echo $msg;
        echo "</form>\n";
        echo "</div>";
    }
}

このイベントを処理するための良い方法についての提案は大歓迎です。前もって感謝します。

データのフィールドは、blogThreadId、threadTitle、username、createdOn、lastUpdated、displayed (未使用)、threadDetails (投稿情報を含む配列) です。

4

1 に答える 1

0

隠しフィールドのIDとともに$_POSTを使用して、PHPスクリプトが編集されているスレッドを認識できるようにすることができました。動作しています

于 2012-04-17T23:55:11.863 に答える