2012-03-07 18 views
2

我試圖創建一個彈出框,您將在第一次登錄到我的網站時獲得這些彈出框。我不希望這有一些'入門'文章,常見問題和其他。jQuery,PHP - 如何創建'開始'彈出框

但我不明白我會如何做到這一點?我想用jQuery和PHP創建它。

但我應該在我的數據庫設置爲0或1時有一行['getStarted'],然後顯示彈出框,如果它設置爲1?還是有更好的方法來做到這一點?

而且我一直在尋找如何更改數據庫中的一行,只需簡單地點擊一個按鈕,例如:「不要再顯示我」。我已經知道我需要ajax,但是這樣的動作會是怎樣的呢?

我希望得到一些鏈接或開始的方法。

回答

4

您需要jQuery和PHP。

但我應該在我的數據庫設置爲0或1,並且然後顯示彈出框,如果它被設置爲1,有一行['getStarted]?

是的,你應該這樣做。也許在'用戶'表中。

這是一個例子,我沒有測試它,但它應該工作。
它只是爲了向你展示如何完成它。


MySQL表-users

id UserID FirstName Popup 
1 7804  Peter  1 
2 5874  Lois   0 
3 9875  Joseph  1 

的Html
* //的元素(圖像/按鈕/什麼都)與類「No_popups_for_me 「
//和一個名爲pseudo的元素UserID *

//如果用戶啓用了彈出窗口,您可以在顯示元素之前進行檢查。

<?php 
include ("connection.php"); //Your connection settings to MySQL 
$activate = "SELECT id from users WHERE UserID='".$VARIABLE_CONTAINING_THE_USER_INFO."' AND Popup='".1."' "; 
$activate_src= mysql_query($activate); 
if (mysql_num_rows($activate_src)>0) { 
echo '<div class="No_popups_for_me" UserID="'.$VARIABLE_CONTAINING_THE_USER_INFO.'"></div>'; 
} 

?>


的JavaScript
// 用戶點擊按鈕來禁用彈出窗口

$('.No_popups_for_me').click(function(){ 
jQuery.ajax 
({ 
    type: "POST", //method used to send data 
    url: "./update_users.php", // which file to call 
    data: { UID:$(this).attr('UserID') }, //Grab UserID from the html element, store it in a var named UID 
    cache: false 
} 
}); 

PHP
* //文件update_users.php *

<?php 
include ("connection.php"); //Your connection settings to MySQL 
$current_user = intval(trim($_POST['UID'])); //Get the data ajax send via post 
$disable_popup="UPDATE users set Popup=0 WHERE id=$current_user"; //Update SQL 
mysql_query($disable_popup) or die ("Error10.25"); 
?> 
+0

什麼是數據:{UID:USER_ID}的全部內容?括號和全部是如何做的?這裏有點解釋:) – skolind 2012-03-07 07:43:24

+1

啊,很好的一個。我會嘗試這個 - 但我喜歡引導模式的東西。但有麻煩設置它。 – skolind 2012-03-07 07:58:57

+0

如何檢查行是0還是1?我應該一直在索引頁面上進行數據庫調用嗎? – skolind 2012-03-07 08:12:05

1

我會做的是在用戶表中有一個「last_login」屬性。 如果row [「last_login」]爲NULL,那麼它是第一次登錄。 如果它是一個時間戳,那麼它不是第一次。 顯然你需要每次用戶登錄時更新這個屬性。

我擁有這個屬性的另一個原因是跟蹤活動用戶。

對於AJAX,我推薦使用Bootstrap,由cs &構建js框架。 Modals插件完美地滿足您的需求。

http://twitter.github.com/bootstrap/javascript.html#modals

+0

嘿格雷格。我已經有了lastSeen表 - 但是當他們第一次登錄時,這一行顯然會更新。 – skolind 2012-03-07 07:35:29

+0

我確實有一些麻煩設置它 - 我如何使漂亮的黑色背景,並使其作爲彈出? – skolind 2012-03-07 07:59:24

+0

要設置模式,請先將jQuery.js和bootstrap.js添加到您的頁面。請按照上面提供的鏈接中的「標記」部分進行操作。而且,在「標記」部分結束時,它會告訴您如何將花哨淡入/淡出動畫添加到您的模態。 – 2012-03-07 08:50:23