对于我的新项目,我想要一种现代的方法,不需要在每个数据库请求上重新加载页面。:)我希望脚本查询数据库并使用查询信息创建表。
我尝试了在互联网上找到的不同脚本。下面的一个最接近我的需求。
index.php
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <title>Display Page</title> <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> <script language='JavaScript' type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'></script> </head> <body> <button type='button' name='getdata' id='getdata'>Get Data.</button> <div id='result_table'> </div> <script type='text/javascript' language='javascript'> $('#getdata').click(function(){ $.ajax({ url: 'getdata.php', type:'POST', dataType: 'json', success: function(output_string){ $('#result_table').append(output_string); } // End of success function of ajax form }); // End of ajax call }); </script> </body> </html>
getdata.php
<?php include('conn.inc.php'); //Query of facebook database $facebook = mysql_query('SELECT * FROM users') or die(mysql_error()); //Output results if(!$facebook) { mysql_close(); echo json_encode('There was an error running the query: ' . mysql_error()); } elseif(!mysql_num_rows($facebook)) { mysql_close(); echo json_encode('No results returned'); } else { $output_string = ''; $output_string .= '<table border="1">'; while($row = mysql_fetch_assoc($facebook)) { $output_string .= '<tr>'; foreach($row as $value) { $output_string .= '<td>{$value}</td>'; } $output_string .= '</tr>'; } $output_string .= '</table>'; } mysql_close(); // This echo for jquery echo json_encode($output_string); ?>
但是我只得到一个表,里面有一堆{$ value}。我尝试只用$ value,但是得到了一堆零。
我尝试了一个简单的脚本
$query = "SELECT users_name, users_password FROM users WHERE users_name = 'name'"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($result); echo $row['users_name'];
然后我得到了som结果,但是使用此脚本我必须在每次搜索时刷新页面。为了清楚起见,我希望能够使用mysql数据库中的信息创建一个表,并在重新加载页面时将其显示在屏幕上。
有任何想法吗?
您应该只使用$ value而不是{$ value}。在while循环内,您不需要另一个foreach循环。
$output_string = ''; $output_string .= '<table border="1">'; while($row = mysql_fetch_assoc($facebook)) { $output_string .= '<tr>'; $output_string .= '<td>'.$row['Your table column name here'].'</td>'; $output_string .= '</tr>'; } $output_string .= '</table>';