2016-04-24 91 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

相關問題