2012-04-25 1 views
0

私はPHPに関連した宿題に取り組んでいます。基本的には、データベースからアイテムを引き出すWebフォームを含むページがあります。各行と2つのラジオボタンにチェックボックスがあります。ユーザは「受け入れる」または「拒否する」を選択し、提出がクリックされると、チェックされる項目はその承認ステータスに変更されるはずです。フォームのすべての項目が投稿されます。私はポストは配列だと思ったので、カウンタを使ってwhileループを使うことができたので、ループが配列を横断し、最後のインデックス(承認または拒否を含むべき)に到達する。以前のすべてのインデックスを変更して、承認または拒否するクエリが生成されます。これがあまり意味がないのなら、ごめんなさい。 <input type='radio' name='accept' value='1' />次のような名前の属性を持っている必要がありますあなたのhtmlで複数の行にある1つの要素を変更するクエリを生成するPHP MySQL

<?php 
     #create a query string 
     $query = "SELECT * FROM Request WHERE superemail = '$user'"; 
     #echo $query; 

     #run the query 
     $result = mysqli_query($link, $query) or die('error querying'); 

     while($row = mysqli_fetch_array($result)){ 
       #print out each row of the queryi 
       #line up the query results with temporary strings 
       $change = $row['KEY']; 
       $name = $row['first']. " " . $row['last']; 
       #echo $name; 
       $email = $row['email']; 
       #echo $email; 
       $type = $row['type']; 
       #echo $type; 
       $duration = $row['duration']; 
       $status = $row['status']; 

       #create a table row with the query results 

       echo "<tr><td><input type=checkbox name=$change /></td> 
       <td>$name</td> 
       <td>$email</td><td>$type</td> 
       <td>$duration</td><td>$status</td></tr>"; 

     } #end while 
    ?> 
    <label for=update>Change status to:</label><br /> 
    <input type=radio name=update value=A />Approved<br /> 
    <input type=radio name=update value=D />Denied<br /> 
    <input type = submit value = "Change Status" /> 
+0

あなたが努力していることを知るために、いくつかのコードを表示する必要があります。また、誰かがまだ問題を完全に理解していない状況をデバッグするのに役立ちます。私たちにPHPコードとHTMLを与えてください。 –

+0

何が質問ですか?コードを提供せずに「私は宿題に取り組んでいます」と投稿を開始することは、あなたに多くの助けをもたらすことにはなりません。 –

+0

ステータスを閉じるに変更します。これはJavaScriptと非同期のJQuery AJAXリクエストで処理されています。 – mikeyGlitz

答えて

0

inputタグ(あなたのチェックボックスとあなたのラジオボタン): Here's a picture for more clarification

ここで私はWebフォームを生成するために使用されるコードです。フォームがPHPによって提出され、処理されると、スクリプトは$_POST['accept'](またはフォームの方法によっては$_GET['accept'])にあるその情報にアクセスできます。

ラジオボタンの名前を指定できるようにして、そのインデックスのPOST配列に値があるかどうかを確認する必要があります。

0

私はいくつかのことを想定します。まず、あなたが選択する承認キュー内のアイテムのみを処理し、他のものはそのままにしておくことが設計目標です。次に、ラジオボタンで選択されている状態にステータスを変更したいとします。第三に、コードスニペットと、タスクがどのように達成されたかの説明が必要だということです。

だから、ここに行きます。

一連のチェックボックスがあります。私は彼らが同じ名前を持っていると仮定します。値をPHPに配列として渡したい場合は、入力をwhatever[]と明示的に指定し、[]を強調する必要があります。これはチェックボックスから$ _POST/$ _ GETに表示される配列を作成するものです。選択した項目のみが配列に表示されます。値は、もちろん、入力を墨塗りした後で...を選択して照会することができる有用なもの(例えば対応するデータベーステーブルの値)でなければなりません。

だから、あなたのHTML入力タグは次のようになります。

<input type="checkbox" name="process[]" value="<?php echo $employeeName ?>" > 

あなたは、これが戻ってあなたに来ている必要があり...

$_POST['process'][array(0=>name1, 1=>name2/*...etc*/)] 

...これはあなたができるループを備えてあなたのレジャーでforeach。

+0

チェックボックスの名前は、IDフィールドまたは対応するデータベース行に対応します。 – mikeyGlitz

関連する問題