dsbm49845
2014-05-25 17:56
浏览 34
已采纳

在AJAX请求中从MySQL数据库中获取大数据

I am building a PHP application which makes use of Ajax as well.

The Ajax code i am using is

    function getdetails(id){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}
else{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}

xhr.onreadystatechange = function(){
    if(xhr.readyState==4 && xhr.status==200){
        document.getElementById("updateform").innerHTML=xhr.responseText;
    }
}

xhr.open("GET","get_details?id="+id+"&table="+'<?php echo $table_name ?>',true);
xhr.send();
}

The PHP function that handles this is

public function get_details(){
        $id = $_GET['id'];
        $table = $_GET['table'];
        $query = $this->db->get_where($table,array('id'=>$id));
        if($query){
            $row = $query->row();
            echo form_open('members/update_detail');
            foreach ($row as $key => $value) {
                echo $key.'     <input type="text" name='.$key.' value='.$value.'><br>';
            }
            echo '</form>';
        }

        //echo $_GET['id'];
    }

I have defined a div with id "updateform". The code is working fine in the sense that it is fetching data. However, it is not fetching the entire data. For example : in a VARCHAR(200) field, if I store Stack Overflow , only Stack is getting displayed.

Is my method for fetching the data wrong?

图片转代码服务由CSDN问答提供 功能建议

我正在构建一个使用Ajax的PHP应用程序。

我正在使用的Ajax代码是

  function getdetails(id){
var xhr; 
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest(); 
  } 
else {
xhr = new ActiveXObject(“Microsoft.XMLHTTP”); 
} 
 
xhr.onreadystatechange = function(){
 if(xhr.readyState == 4&amp;&amp; xhr.status ==  200){
 document.getElementById(“updateform”)。innerHTML = xhr.responseText; 
} 
} 
 
 
xhr.open(“GET”,“get_details?id =”+ id +“&amp; table =  “+'&lt;?php echo $ table_name?&gt;',true); 
 
xhr.send(); 
} 
   
 
 

处理的PHP函数 这是

  public function get_details(){
 $ id = $ _GET ['id']; 
 $ table = $ _GET ['table']; 
  $ query = $ this-&gt; db-&gt; get_where($ table,array('id'=&gt; $ id)); 
 if($ query){
 $ row = $ query-&gt; row(  ); 
 echo form_open('members / update_detail'); 
 foreach($ row  as $ key =&gt;  $ value){
 echo $ key。'  &lt; input type =“text”name ='。$ key。'  value ='。$ value。'&gt;&lt; br&gt;'; 
} 
 echo'&lt; / form&gt;'; 
} 
 
 // echo $ _GET ['id']; 
  } 
   
 
 

我已经定义了一个id为“updateform”的div。 代码在获取数据的意义上工作正常。 但是,它不会获取整个数据。 例如:在VARCHAR(200)字段中,如果我存储堆栈溢出,则仅显示堆栈

是我的 获取数据错误的方法?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doudang1890 2014-05-25 18:21
    已采纳

    First var_dump($row); and check it is as you expect.

    Then instead of

     echo $key.'     <input type="text" name='.$key.' value='.$value.'><br>';
    

    try

    echo $key.'<input type="text" name="'.$key.'" value="'.$value.'"><br>';
    

    As you're missing the quotes in the html output for name and value

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题