2017-09-19 7 views
1

まず、私のknowlegdeはw3schoolsとgoogleから来ていますので、私と一緒に裸にしてください。私はsearch google、こことw3schoolsを持っているが、この答えはとにかく見つけることができない。 「あなたの答えがすでにあるかもしれない質問」でさえも。フォームのボタンは、dbからのajaxコールの後に動作しません

私はAJAXについてもう少し学ぶことを試みていると私は、このガイドW3schools AJAX database

私は仕事を得ることができますすべてのガイドをしかし、私は私のニーズにそれを合わせしようとすると、それがうまくいかない時に保留になってきました。私が望むのは、 "getuser.php"になると、このファイルのdbを更新できるようにしたいということです。可能であれば、私はこのページに結果を残すことなく、私は見つけました。私はこのサイトの前にドロップダウンテーブルから選択します。 dbを更新するはずのphpファイルが正常に動作しています(通常のページで試してみましたが、すべて正常です)。私の現在の回避策は、情報を更新するための第2のウィンドウを開くボタンを追加することです。

私はこのポイントを取得:

<?php 
$q = intval($_GET['q']); 
include 'db.php'; 
$con = new mysqli($servername, $username, $password, $dbname); 
if (!$con) { 
    die('Could not connect: ' . mysqli_error($con)); 
} 

mysqli_select_db($con,"webhelp"); 
$sql="SELECT * FROM advisors WHERE id = '".$q."'"; 
$result = mysqli_query($con,$sql); 

while($row = mysqli_fetch_assoc($result)) { 
    echo "<table><tr><td>Phone</td><td>" . $row['phone'] . "</td> 
      <td><form action='addphone.php' method='post'> 
      <input type='hidden' name='id' value='".$q."'>   
      <td><input type='text' name='phone'></td> 
      <td><input type='submit' value='Update'></td> 
      </form></td></tr></table>"; 

    echo "<tr><td>LoB</td><td>" . $row['lob'] . "</td> 
      <td><form action='addlob.php' method='post'> 
      <input type='hidden' name='id' value='".$q."'> 
      <td><select name='lob'> 
      <option value='". $row['lob'] ."'>" . $row['lob'] . "</option>". 

      $sql = "SELECT * FROM lob"; 
      $result = $con->query($sql); 

      while($row = $result->fetch_assoc()) { 
      echo "<option value='" . $row["lob"] . "'>" . $row["lob"] . "</option>"; } 
       "</select></td> 
       <td><input type='submit' value='Update'></td> 
       </form> 
       </tr>"; 

    echo "<tr><td>Country</td><td>" . $row['country'] . "</td> 
      <td><form action='addcountry.php' method='post'> 
      <input type='hidden' name='id' value='".$q."'> 
      <td><select name='country'> 
      <option value='". $row['country'] ."'>" . $row['country'] . "</option>". 

      $sql = "SELECT * FROM country"; 
      $result = $con->query($sql); 

      while($row = $result->fetch_assoc()) { 
      echo "<option value='" . $row["country"] . "'>" . $row2["country"] . "</option>" ; } 
      "</select></td> 
      <td><input type='submit' value='Update'></td> 
      </form> 
      </tr>"; 

    } 
echo "</table>"; 

mysqli_close($con); 
?> 

"更新" ボタンdoesntの仕事。それは私がどこにファイル(同じフォルダ、別のフォルダ)の場所を置く問題です。しかし、私はそのボタンの作業の外にリンクを持つボタンを追加する場合。しかし、それがテーブルの中に入ったらすぐにメソッド= "ポスト"という形式になってしまいます。

私は間違っていますか?

また、$ idを小さなポップアップウィンドウに表示するボタンをここで作成することは可能ですか? (私は新しいウィンドウで開くことができますが、私は窓がどうあるべきか、大きな選択カント)

種類はクリス

+2

は、HTMLのサイドノート: '

は' '' の子にすることはできません。 –

+0

私はあなたを正しく理解していることを確認しています。 は

の外にある必要がありますか? :) – Stryhns

+0

はい、(基本)構文は: '

'です。この回答は、どのように完了したかを示します。https://stackoverflow.com/a/29364569/1415724 –

答えて

0

あなたはすべての3つのフォームのためにこれを行うにはしたく

について。私は最初のものの例を挙げます。

フォーム

echo "<form class='addPhoneForm' action='addphone.php' method='post'> 
     <table> 
     <tr> 
      <td>Phone</td><td>" . $row['phone'] . "</td> 
      <td><input class='phoneID' type='hidden' name='id' value='".$q."'></td>   
      <td><input class='phoneNumber' type='text' name='phone'></td> 
      <td><input class='submitme' type='submit' value='Update'></td> 
      </td> 
      </tr> 
     </table> 
     </form>"; 

AJAX

$(document).ready(function(){ 
$(".submitme").click(function(){ 

//collect variables from input 
var phoneID = $(".phoneID").val(); 
var phoneNumber = $(".phoneNumber").val(); 

// store in a string 
var dataAddPhone = 'phoneID='+ phoneID + '&phoneNumber='+ phoneNumber; 

// send to database 
$.ajax({ 
type: "POST", 
url: "addphone.php", 
data: dataAddPhone, 
cache: true, 

//if success 
success: function(response){ 

//display message 
    $(".displayMessage").html(response); 

    //and reset form 
     $(".addPhoneForm").trigger("reset"); 
} 
}); 

return false; 
}); 

}); 
+0

ありがとうございます!それは理にかなっている。私は明日私が家にいるときにこれを試してみる。 :) – Stryhns

関連する問題