2016-04-05 7 views
1

私のPHPコードに問題があります。私はデータベースからのデータを持つテーブルを持っています。テーブルにはnameプロパティを含む入力があります。私はすでにデータベースからデータを読み込んでいるとき、プロパティ名は同じ値を持っています。だから、もし私がそれらを投稿したいのであれば、それは最後の入力名を取るだけです。ここに私のコードはあります:投稿方法に別の名前をつける

<html> 
    <head> 
    <title>Table PHP</title> 
    </head> 
    <body> 
    <form action="execute.php" method="POST"> 
    <table> 
     <tr> 
      <th>No.</th> 
      <th>Registration Number</th> 
      <th>Customer Name</th> 
      <th>Action</th> 
     </tr> 
     <?php 
    include "connect.php"; 
    $sql = mysql_query("SELECT numreg,name FROM registration WHERE (numreg NOT IN(SELECT validation FROM tablevalidation)) "); 
    $no = 1; 
    while($result = mysql_fetch_array($sql)){ 
     echo " 
     <tr> 
      <td>$no.</td> 
      <td><input type='hidden' name='numreg' value='$result[numreg]' />$result[numreg]</td> 
      <td>$result[name]</td> 
      <td><input type='submit' name='validation' value='Validation' /></td> 
     </tr>"; 
     $no++; 
    } 
?> 
    </table> 
    </form> 
    </body> 
</html> 

上記のコードでは、入力名= 'numreg'は各入力タグに対して同じ値を生成します。私のフォームでPOSTメソッドを使用すると、最初のレコードを選択しても最後のレコードだけが実行されます。私はこれは、入力タグのプロパティ名が同じ値を持つためだと思います。だから、私の問題を解決するために、入力タグに異なるプロパティ名を付けるにはどうすればいいですか?助けてください。

+0

変更入力タイプ名numreg示唆@Darji Jigarため – iOS

+0

感謝をしようとするよりも、私は、私は別の名前に入力された名前のnumregを変更しても、それは残りますので、それは私の問題を解決することができるとは思いません同じ。 、​​1​​<入力名=「numreg」/>、​​2​​<入力名=「numreg」/>:私は、結果は次のようになり、データベースからデータをロードするにループ中に使用します​​3.​​<入力名= "numreg" />。 –

+0

あなたは以下の答えを試しましたか? @ Mike.Drinkwater – RJParikh

答えて

0

以下のコードを使用してください。ポスト内のすべてのレコードを表示するようにnumregを配列として定義する必要があります。 name='numreg'name='numreg_".$no."'に変更すると、すべてのユーザーに固有のnumregが定義されます。

<html> 
    <head> 
    <title>Table PHP</title> 
    </head> 
    <body> 
    <form action="execute.php" method="POST"> 
    <table> 
     <tr> 
      <th>No.</th> 
      <th>Registration Number</th> 
      <th>Customer Name</th> 
      <th>Action</th> 
     </tr> 
     <?php 
    include "connect.php"; 
    $sql = mysql_query("SELECT numreg,name FROM registration WHERE (numreg NOT IN(SELECT validation FROM tablevalidation)) "); 
    $no = 1; 
    while($result = mysql_fetch_array($sql)){ 
     echo " 
     <tr> 
      <td>$no.</td> 
      **<td><input type='hidden' name='numreg_".$no."' value='$result[numreg]' />$result[numreg]</td>** 
      <td>$result[name]</td> 
      <td><input type='submit' name='validation' value='Validation' /></td> 
     </tr>"; 
     $no++; 
    } 
?> 
    </table> 
    **<input type='hidden' id='totalRecords' name='totalRecords' value='<?php echo $no; ?>' />** 
    </form> 
    </body> 
</html> 

<?php 

if($_POST['validation']) 
{ 
    for($i=1;$i<=$_POST['totalRecords'];$i++) 
    { 
     **echo $_POST['numreg_$i']."<br>";** 
    } 
} 
?> 
別の名前に
+0

あなたのコードの上記の変更を試して、あなたの肯定的なフィードバック@Mikeを与えてください。ドリンクウォーター – RJParikh

+0

私はすでにそれを使用していますが、機能しませんでした。 –

+0

あなたはあなたの出力と希望の出力を指定してください。 @ Mike.Drinkwater – RJParikh

関連する問題