2016-04-24 95 views
0

我基本上有两个php页面,一个是uploadnotif.php另一个是notif.php如何上传数据并将其显示在其他页面上?

这些页面应该做的事情是,当管理员在uploadnotif.php上输入一些注意并上传它时,其他人可以在notif.php上查看它们。

而这一切是根据已假设

  • ALL
  • XYZ
  • ABC

一个选择选项如果管理员选择所有的uploadnotif.php并上传,然后内容可以使用notif.php上的ALL下拉菜单查看,XYZ和ABC也可以查看。

例子:

选项中选择XYZ

通知类型的,世界,你好!然后上传。

所以用户选择XYZ时可以看到“Hello World!”作为通知之一等将是根据他们上传的顺序排列的通知。

我真的很困惑我究竟应该如何处理它?我应该使用文件还是应该使用数据库或任何其他方法?我该如何使用它?

请帮忙!

非常感谢。

回答

0

在uploadnotif.php中,选择该选项后,可以发送针对该选项的使用ajax的发布请求。例如,如果选择abc,请使用jquery获取所选选项,然后使用abc作为参数发送数据。

在notif.php检查如果相应的选项放慢参数设置,然后显示数据收到

+0

请告诉我,如果我需要用代码来解释 –

+0

你好@anoop,我打算用表,因为我想存储通知。非常感谢您的回复。 – LazyNinja

0

我想你想保存这些通知,以便您可以将它们提供给用户以后。您可以使用数据库来存储管理员的通知。

  1. 从uploadnotif.php表单的输入保存到notifications表列的通知和选项。

  2. 从通知表中检索数据并呈现它,但是您需要在notif.php中。

编辑:要按照添加的顺序显示通知,可以使用像date_added或upload_time这样的列。然后,您可以在检索数据时按日期排序。

N.B,在处理表单数据时考虑清理输入。

+0

嘿! @hassan非常感谢您的回复。这现在非常清楚。如果我需要帮助,我会尽力并回复你。我希望没关系。 – LazyNinja

+0

嘿@LazyNinja,不用担心。 – Hassan

0

我从头开始写这篇文章,所以有很多错误,但即使您不使用MySQL,您也应该明白。基本的想法是管理员通过AJAX将消息和类型一起上传到服务器。存储您的消息的数据库已更新。当用户在他们的通知页面上选择一种类型时,会发出另一个AJAX请求来检索正确的消息,然后根据需要显示该消息。如果您需要澄清任何事情,请告诉我。

在uploadnotif.php:

<input id="message_to_broadcast" type="text"> 

<select id="message_type"> 
    <option value="ALL">ALL</option> 
    <option value="ABC">ABC</option> 
    <option value="XYZ">XYZ</option> 
</select> 

<div id="broadcast" onclick="OnBroadcast();">Broadcast</div> 

<script> 

OnBroadcast = function() 
{ 
    var oMessageInput = document.getElementById("message_to_broadcast"); 
    var oTypeSelect = document.getElementById("message_type"); 

    var aPostData = "message=" + oMessageInput.value + "&type=" + oTypeSelect.value; 

    var oXMLHttpRequest = new XMLHttpRequest(); 
    oXMLHttpRequest.open("POST", "broadcast_message.php", true); 
    oXMLHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    oXMLHttpRequest.send(aPostData); 
} 

</script> 

在broadcast_message.php:

$safe_message = $mysqli->real_escape_string($_POST["message"]); 
$safe_type = $mysqli->real_escape_string($_POST["type"]); 

$query = "UPDATE messages SET message = $safe_message WHERE type = $safe_type"; 
$mysqli->query($query); 

在notif.php:

<div id="message">&nbsp;</div> 

<select id="message_type" onchange="OnMessageTypeChange();"> 
    <option value="ALL">ALL</option> 
    <option value="ABC">ABC</option> 
    <option value="XYZ">XYZ</option> 
</select> 

<script> 

OnMessageTypeChange = function() 
{ 
    var oTypeSelect = document.getElementById("message_type"); 

    var aPostData = "type=" + oTypeSelect.value; 

    var oXMLHttpRequest = new XMLHttpRequest(); 
    oXMLHttpRequest.open("POST", "get_message.php", true); 
    oXMLHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

    oXMLHttpRequest.onreadystatechange = function() 
    { 
     if (oXMLHttpRequest.readyState == XMLHttpRequest.DONE && oXMLHttpRequest.status == 200) 
     { 
      var oMessageDiv = document.getElementById("message"); 
      oMessageDiv.firstChild.nodeValue = oXMLHttpRequest.responseText; 
     } 
    } 

    oXMLHttpRequest.send(aPostData); 
} 

</script> 

在get_message.php:

$safe_type = $mysqli->real_escape_string($_POST["type"]); 

$query = "SELECT message FROM messages WHERE type = $safe_type"; 
$message_result = $mysqli->query($query); 
$message_assoc = $message_result->fetch_assoc(); 

echo $message_assoc["message"]; 

$message_result->free(); 

“信息” 表:

id | type | message 

1 | "ALL" | "All y'all call Paul a tall wall." 
2 | "ABC" | "ABC members, meeting at noon tomorrow." 
3 | "XYZ" | "XYZ! What up party people!" 
+0

hello @DaiBu,非常感谢您的回复。我其实不熟悉AJAX。我能够理解你刚才解释的基本概念,但如果可能的话还有其他方法可以做到吗?你还可以告诉我在实现这些代码之前需要创建的所有表和列吗? – LazyNinja

+0

当然。我现在没有时间,但今晚我会编辑我的答案。 – DaiBu

+0

当然可以。没问题。慢慢来。再次,非常感谢。 – LazyNinja

相关问题