2016-11-28 25 views
0

テーブル内で編集可能なセルを作成してから、ページ全体をリフレッシュせずにデータベースを更新してください。 テーブルセルからテーブルをリフレッシュせずにデータベースを更新する

//up there - no important things 

echo'<table> 
     <tr>';     
     while($row = mysql_fetch_assoc($result)) 
     {      
      foreach($row as $key=>$value) 
      { 
       if(!($value == "id_p" || $value == "pass" || $value == "salt" || $value == "login")) 
       {    
       echo'<th>'.$value.'</th>'; 
       } 
      } 
     } 
     echo '</tr>'; 

     if(mysql_num_rows($result2) > 0) 
     { 
      while($row2 = mysql_fetch_assoc($result2)) 
      {       
       echo '<tr>'; 
       foreach($row2 as $key=>$value) 
       {       
        if(!($key == "id_p" || $key == "pass" || $key == "salt" || $key == "login")) 
         echo'<td>'.$value.'</td>'; 
       } 
       echo '</tr>'; 
      } 
     } 
     else 
      echo '<tr><td colspan="9">Brak wyników.</td></tr>'; 

echo'</table>'; 

が、私は

$(function(){ 
     $("td").click(function(event) 
     { 
      if($(this).children("input").length > 0) 
        return false; 
      var tdObj = $(this); 
      var preText = tdObj.html(); 
      var inputObj = $("<input type='text' />"); 
      tdObj.html(""); 
      inputObj.width(tdObj.width()) 
       .height(tdObj.height()) 
       .css({border:"0px",fontSize:"17px"}) 
       .val(preText) 
       .appendTo(tdObj) 
       .trigger("focus") 
       .trigger("select"); 
      inputObj.keyup(function(event){ 
       if(13 == event.which) // if ENTER 
       { 
        var text = $(this).val(); 
        tdObj.html(text); 

// SOMETHING HERE TO UPDATE DATABASE?? 

       } 
       else if(27 == event.which) { // if ESC 
         tdObj.html(preText); 
       } 
       }); 
       inputObj.click(function(){ 
         return false; 
       }); 
     }); 
}); 

にスクリプト(ない私のスクリプト)を用いた細胞<td>を変更そして今、私はこだわっている:すべての最初の

は、私のようなSQLクエリからの私のテーブルを移入します。更新するために新しいデータを送信するにはどうしたらいいですか?私はjs/ajaxが良くない。 私はupdate_db.php

if(isset($_POST['post_name'])) 
{ 
    echo 'processing...'; 
    //mysql things... 
} 

新しいページを作成しましたが、これは私が持っているすべてです。

答えて

1

AJAXを使用しない限り、リフレッシュせずに行うことはできません。

if(13 == event.which) // if ENTER 
{ 
    var text = $(this).val(); 
    tdObj.html(text); 
    $.POST("update_db.php", { tdVal: text }); 
} 

あなたは今も、私は返信用のPHPから削除7.

+0

おかげ以来のMySQLの代わりにmysqliのを使用することをお勧めします

update_db.php

$_POSTtdValを得ることができます。どのように私は成功またはエラーが発生したときにメッセージを印刷することができますか?と私は別の1つの変数をPOSTすることができます(例えば、 'id_p')?私は 'mysqli'を使いたかったのですが、' mysqli_real_escape_string'に問題があり、 'mysql'を使うことを余儀なくされました:( – Kafus

+0

BTW。これは動作しません:( – Kafus

+0

' .done(function(data){// sth here '' {{{{{{{{{{{{{{{{{}}}) '' $ { {console.log(err);}); ' コンソールでエラーが何であるかを見ることができます。 –

関連する問題