0

サービス ID とその他の関連しないフィールドを含む「サービス」のデータベース テーブルがあります。PHP を使用して、照会されたサービスを表示する HTML テーブルを動的に生成しています。各行には、対応する「表示」ボタンがあり、クリックすると、表示されるサービスの ID の値を使用して同じページに送信されます (ページは、$_POST['serviceid']渡された値と等しくなるように設定した後、別のページにリダイレクトされます)。ボタン)。

PHPでHTMLテーブルを動的に作成する方法は次のとおりです。

    while(list($id, $name, $details, $datecreated, $firstname, $lastname) = $results->fetch_row())
    {
      if($index % 2 == 0)
      {
        echo "<tr BGCOLOR=\"#DCDCDC\" style=\"color: Black;\">";
      }
      else
      {
        echo "<tr>";
      }
      echo "<td>" . "<input type=\"checkbox\" id=\"flag$id \" name=\"flag\" value=\"Flag$id\"/>" . "</td>";
      echo "<td>" . "<input type=\"submit\" id=\"view$id \" name=\"view\" value=\"View\"/>" . "</td>";
      echo "<td>" . $id . "</td>";
      echo "<td>" . $name . "</td>";
      echo "<td>" . $details . "</td>";
      echo "<td>" . $datecreated . "</td>";
      echo "<td>" . $firstname . " " . $lastname . "</td>";
      echo "</tr>";

      $index++;
    } 

これは私の results.view.php です。ここにデータを表示します。上記のタグは表示されませんが<form>、このビューとボタンの押下などを処理するモデルを含むコントローラーにポストバックされることを知っていれば十分です。

私の質問は、どのビュー ボタンがクリックされているかをどのように知ることができるかということです。最初のサービス、最後のサービス、またはその間のいずれかである可能性があります。ボタンの id 値にサービスの を配置しました$idが、それを参照する方法がわかりません。その方法を知っていれば、「ビュー」という単語をつなぎ合わせることができ、タスクを実行するために必要な ID が残る可能性があります。

何か案は?

4

2 に答える 2

0

クリックしたボタンの値だけが次のページに送信されます。すべてのボタンに一意の名前を割り当てると、次のコマンドで簡単に確認できます

if (isset($_POST['button1'])) echo "button 1 was clicked";.

もちろん、フィールドの 1 つに [Enter] を入力してフォームを送信すると、これは機能しません。別のオプションは、これにラジオボタンを使用することですか? またはそれ以上のフォーム。

于 2011-02-21T22:04:29.503 に答える