如何上传数据并将其显示在另一页上?

时间:2016-04-24 14:06:07

标签: php select

我基本上有两个php页面,一个是 uploadnotif.php ,另一个是 notif.php

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

所有这些都是根据选择的选项而设定的

  • 所有的
  • XYZ
  • ABC

如果管理员在uploadnotif.php上选择ALL并上传它,则可以使用notif.php上的ALL下拉列表查看内容,对于XYZ和ABC也可以查看内容。

示例:

选项选择XYZ

注意输入,Hello World!然后上载。

因此用户在选择XYZ时可以看到“Hello World!”作为通知之一,将根据上传的顺序排列通知。

我真的很困惑我应该如何继续进行呢?我应该使用文件还是应该使用数据库或任何其他方法?我应该如何使用它?

请帮忙!

提前多多感谢。

3 个答案:

答案 0 :(得分:0)

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

在notif.php中检查是否设置了相应选项的参数,然后显示收到的数据

答案 1 :(得分:0)

我认为你想要保留这些通知,以便以后可以将它们呈现给用户。您可以使用数据库存储管理员的通知。

  1. 将uploadnotif.php表单中的输入保存到notifications表,其中包含列通知和选项。

  2. 从通知表中检索数据,然后在notif.php中显示它。

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

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

答案 2 :(得分: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!"