2017-11-25 36 views
0

我有一个html页面,它上面有一个触发ajax请求的php页面。到现在为止还挺好。动态PHP响应

我有一个数据库消息它有列“ID”,“接收器”,“发件人”,“消息”。

假设我有两个相同的接收者和发送者。消息是不同的。

现在点击按钮后,消息应显示在单独的段落<p>Message 1</p><p>Message 2</p>中。

我的问题是,我不知道会有多少消息,并且按钮点击应该显示它们全部。我已经尝试了一段时间循环,但无法让它正常工作。另外JQuery如何处理这样的事情?

我至今PHP:

$thuser = $_SESSION['username']; //this user 
$sql = "SELECT * FROM messages WHERE receiver = '$thuser'"; 

if ($result = mysqli_query($link, $sql)) { 

    while ($row = $result->fetch_row()) { 
    ... 
    }); 

} 

如果可能的话,我想一个数组作为方含所有消息 { 'MESSAGE1'=> '你好', '消息2'=>“到底是怎么回事的反应如何? ',message n =>'blah'}

感谢您的帮助!你的情况

+0

这是相当广泛的。你用'Jquery'试过了什么? – Akintunde007

+0

@ D.Krold你应该创建一个php文件来处理来自jquery的ajax请求。 PHP将返回JSON数组中所有消息的列表。你会在ajax成功的前端收到。使用该数组来运行循环并使用jquery在页面中打印页面。 如果还需要更多帮助,请随时发表评论。 –

+0

'...'是无效的PHP。如果您在PHP文件中输出HTML,您可以简单地在js中获取请求,并将响应添加到dom(页面),并直接在页面上随意显示。请注意,大多数人都同意从服务器(PHP)输出JSON并在JS中处理是实现此目的的方法。您应该使用您的Web浏览器开发工具来检查获取请求以查看它接收到的输出。如果输出是错误的,那么这是一个PHP问题,如果你很难用JS获得输出在页面上显示,那么这是一个JS问题。你需要弄清楚哪一个是第一个 – JimL

回答

1

使用数组:

$message=array(); 

$thuser = $_SESSION['username']; //this user 
$sql = "SELECT * FROM messages WHERE receiver = '$thuser'"; 

if ($result = mysqli_query($link, $sql)) { 
$i=1; 
    while ($row = $result->fetch_row()) { 
    $st='Message'.$i; 
    $message[$st]=$row['message']; 
    $i++; 
    }); 

} 
print_r($message); 
+0

非常感谢! –