-2

私の問題は次のようになります:私のホームページにはデータベースからプルされた行を持つテーブルがあります(whileループ)各行には-セルがあり、その特定の行にイベントを追加して、行IDをホームページテーブルの$_GET変数と「イベントの追加」ページに変数として保存しますが、(コーディングしたとおりに)適切に入力せずにaddeventフォームを送信すると、行IDがない場合にのみフォームが更新されます。そのためのurlも、行データをプルするためにページの最初で行うクエリを実行できなくなり、$ _ GETとクエリ(mysqlフェッチ配列)に署名するid変数のPHPエラーが表示されます。もちろん、そのクエリからフォームに表示するすべてのデータは失われます。

これにアプローチする方法についての提案はありますか?よろしくお願いします。

編集:**新しい男を殺します!-申し訳ありませんが

IDを送信するホームページ:

$sql = "SELECT * FROM alarms WHERE alarmstatus = 'OFF' and starttime='::' ORDER BY clientid ASC";
$query = mysql_query($sql);
echo "<table cellpadding='1px' border='1px' bordercolor='#0066FF' cellspacing='0'>
        <form action='hpage.php' method='get'>";
while($fetch = mysql_fetch_array($query)) {
echo "<tr>
            <td>
            ".$fetch['clientid']."</td>
            <td>".$fetch['controller']."</td>
            <td>".$fetch['typeid']."</td>
            <td style='color: red'>".$fetch['alarmstatus']."</td>
            <td>".$fetch['starttime']."</td>
            <td>".$fetch['endtime']."</td>
            <td><a href='includes/editalarm.php?id=".$fetch['id']."'>Edit</a></td>
            <td><a href='includes/addevent.php?id=".$fetch['id']."'>Add event</a></td>
            <td><a href='includes/deletealarm.php?id=".$fetch['id']."'>Delete</a></td>
    </tr>";
}

変数を取得してクエリを実行するaddイベント:

$alarmid = $_GET['id'];
  $sql = "SELECT * FROM alarms WHERE id=".$alarmid;
  $query = mysql_query($sql);
  $fetch = mysql_fetch_array($query);
?>

フォーム:

<table cellpadding="2px" cellspacing="0" >
 <form action="addevent.php" method="post">
   <tr>
     <td>סניף:</td>
     <td><input style="width:200px; background-color: #d6d6d6;" readonly name="client" value="<?php echo $fetch['clientid']; ?>" /></td>
   </tr> 
   <tr>
     <td>בקר:</td>
     <td><input style="width:200px; background-color: #d6d6d6;" readonly name="controller" value="<?php echo $fetch['controller']; ?>" /></td>
   </tr>
   <tr>
     <td>אזעקה:</td>
     <td><input style="width:200px; background-color: #d6d6d6;" readonly name="controller" value="<?php echo $fetch['typeid']; ?>" /></td>
   </tr>
   <tr>
     <td>מוקדן:</td>
     <td>
       <?php 
       $sql = "SELECT * FROM users WHERE privilege = '2'";
       $query = mysql_query($sql);
       echo "<select name='user' style='width:207px;'>";
       echo "<option>..</option>";
       while ($fetch2 = mysql_fetch_array($query)){
         echo "<option>".$fetch2['username']."</option>";
       }
       echo "</select>";
       ?>       
     </td>
   </tr>
   <tr>
     <td>איש קשר:</td>
     <td><input type="text" name="contact" /></td>

   </tr>
   <tr>
     <td>הודעה:</td>
     <td><input type="text" style="width:200px; height:100px" name="message" /></td>
   </tr>
   <tr>
     <td>תשובה:</td>
     <td><input type="text" style="width:200px; height:100px" name="answer" /></td>
   </tr>
   <tr>
     <td>שעה:</td>
     <td>
       <select name="eventhour">
         <option value ="default"></option>         
         <?php
           for($i = 0; $i<60; $i++){
             $value = $i;
             if($i<=9){
               $value= "0".$i;
             } 
           echo "<option>".$value."</option>";
           }
         ?>
       </select>  
       <select name="eventminute">
         <option value ="default"></option>
         <?php
           for($i = 0; $i<24; $i++){
             $value = $i;
             if($i<=9){
               $value= "0".$i;
             } 
           echo "<option>".$value."</option>";
           }
         ?>
       </select>         
     </td>
   </tr>
   <tr>
     <td>  
       <input type="submit" name="save" value="שמור" />
       <input type="submit" name="cancell" value="בטל" />
     </td>
     <td></td>
   </tr>
 </form> 
4

1 に答える 1

0

フォーム アクションは POST です。これを GET に変更すると、フォームは $_GET になります。

于 2012-05-18T14:00:57.100 に答える