2016-07-05 7 views
0

私はラジオボタンの値を更新したいが、それは(すなわち。私のクエリは実行されません)「何かが間違っていた」私にメッセージを表示して、データベースにすでにあるレコードを更新することができます。クリックして送信すると、新しいページ(つまり、update.php)に移動しました......助けてください! また、未定義インデックス 'id'のエラーを表示しますか?どのように私はPHP

//main.php 
<?php 
//connecting to the database 
$db_host="localhost"; 
$db_username="root"; 
$db_pass=""; 
$db_name="company"; 
@mysql_connect("$db_host","$db_username","$db_pass") or die ("couldnt connect to mysql"); 
@mysql_select_db("$db_name") or die("no database"); 

$query = "SELECT driver_name,vehicle_no FROM driver_info"; //You don't need a ; like you do in SQL 

$html=""; 
$rs=mysql_query($query); 

       while($row=mysql_fetch_array($rs)) 
       { 
         $html.=' 
         <form action="update.php" method="get"> 
         <tr> 

         <td>'.$row['driver_name'].'</td> 
         <td>'.$row['vehicle_no'].'</td> 
         <td><label class="checkbox"> 
         <input type="radio" value="free" name="stat" required="required"></label></td> 
         <td><label class="checkbox"> 
         <input type="radio" value="travel" name="stat" required="required"></label></td> 
         <td><input type="submit" value="update" name="submit"></td> 

         </tr> 
         </form>'; 
       } 

?> 

//update.php 
<?php 
include('data_conn.php'); 

$id=$_GET['id']; 
$stat=$_GET['stat']; 

$query ="UPDATE driver_info SET status=$stat WHERE id=$id"; 
$result = mysql_query($query); 

    if(!$result) { 
         echo '<script language="javascript">'; 
         echo 'alert("something went Wrong...:(((("); location.href="search.php"'; 
         echo '</script>'; 
       }     
       else{ 
       echo '<script language="javascript">'; 
       echo 'alert("successfully updated!!!"); location.href="search.php"'; 
       echo '</script>'; 
        } 
?> 
+0

' "SET 'status' = driver_info UPDATE" "WHERE ID =" "" '; '$スタット。。' '$のID。'これを試してください –

答えて

1

私はあなたがGETidを渡していないため、問題が発生したと思います。 これを試してみてください:

//main.php

<?php 
    //connecting to the database 
    $db_host="localhost"; 
    $db_username="root"; 
    $db_pass=""; 
    $db_name="company"; 
    @mysql_connect("$db_host","$db_username","$db_pass") or die ("couldnt connect to mysql"); 
    @mysql_select_db("$db_name") or die("no database"); 

    $query = "SELECT id,driver_name,vehicle_no FROM driver_info"; //You don't need a ; like you do in SQL 

    $html=""; 
    $rs=mysql_query($query); 

        while($row=mysql_fetch_array($rs)) 
        { 
          $html.=' 
          <form action="update.php" method="get"> 
          <input type="text" name="id" value='.$row['id'].' style="display:none"><br> 
          <tr> 

          <td>'.$row['driver_name'].'</td> 
          <td>'.$row['vehicle_no'].'</td> 
          <td><label class="checkbox"> 
          <input type="radio" value="free" name="stat" required="required"></label></td> 
          <td><label class="checkbox"> 
          <input type="radio" value="travel" name="stat" required="required"></label></td> 
          <td><input type="submit" value="update" name="submit"></td> 

          </tr> 
          </form>'; 
        } 

    ?> 


//update.php 
<?php 
include('data_conn.php'); 

$id=$_GET['id']; 
$stat=$_GET['stat']; 

$query ="UPDATE driver_info SET status=".$stat." WHERE id=".$id"; 
$result = mysql_query($query); 

    if(!$result) { 
         echo '<script language="javascript">'; 
         echo 'alert("something went Wrong...:(((("); location.href="search.php"'; 
         echo '</script>'; 
       }     
       else{ 
       echo '<script language="javascript">'; 
       echo 'alert("successfully updated!!!"); location.href="search.php"'; 
       echo '</script>'; 
        } 
?> 
+0

それは部分的に動作します.....未定義の「ID」のエラーが解消ますが、それでも「何かが間違っていた」と表示され??? :( – Rkboss

+0

あなたが取得しているものは何でも、エラーログを追加してくださいすることができます。一つのことを投稿しません '$は$クエリをエコー;。。更新クエリの後に'とMySQLで手動その結果(クエリ)を実行し、あなたの答えを得るでしょう可能性があります – Akshay

+0

をこのクエリをエコーし​​た後、=「無料」SET状態driver_info UPDATEを示しWHERE ID = '「;(すなわち、それは得るカント 'ID')を – Rkboss

0

ここで、$ _GET ['id']を取得しますか?私にはそれが空であるように見えるので、IDがないので更新クエリは実行されません。

$id=$_GET['id']; 

これは空であり、値が割り当てられていないため、クエリは機能しません。

+0

こんにちは、私はそれぞれのIDを取得するデータベースからそれぞれの行.....で操作を実行する方法私はデータベースからこのIDを得ることができますか? – Rkboss

+0

それぞれのIDで何を意味するのか正確にはわかりません。私は何をIDで更新したいのかわからないので、あなたがそれを教えてくれるまで私はそれを助けません。 – kerv

0

は、このコードを試してみてください。

$query ="UPDATE driver_info SET status=".$stat." WHERE id=".$id"; 
+0

それは動作しません:(( – Rkboss