2015-02-10 121 views
-2

我有一個網站,人們可以在名稱上點擊,將被重定向到相應的URL我如何顯示網址

id | name  | url 
1 | facebook | www.fb.com 

我有1200000023 URL我想顯示。 URLs哪些登錄用戶尚未訪問。 我的註冊信息存儲在userdb.php這樣的:

1|username|a84894gf5sag4f684gh68fh45g|[email protected]|NA 

display.php

<?php 
 

 
mysql_connect('mysql', '1', 'Py'); 
 
mysql_select_db('a5803761_add'); 
 
$query =mysql_query('select * from addimage order by ID DESC'); 
 

 

 
while($row = mysql_fetch_assoc($query)) 
 
{ 
 

 
echo '<div style="min-width:300px;height:100px;border:red 5px;float:left;"><a href="'.$row['url'].'">'.$row['name'].'</a></div>'; 
 
} 
 

 
?>

+0

什麼問題?問題? – 2015-02-10 07:26:42

+1

首先,使用'mysqli'。其次,你有什麼錯誤? – 2015-02-10 07:51:49

+0

好的,不錯的代碼。 – 2015-02-10 07:56:57

回答

1

首先,您必須存儲哪個用戶已經訪問了哪個網址。這個表應該有一個這樣的結構:

CREATE TABLE VISITED(ID INT AUTO_INCREMENT, 
USER_ID INT, 
URL_ID INT, 
PRIMARY KEY(ID), 
KEY(USER_ID), 
KEY(URL_ID)); 

然後,你必須interprep用戶的點擊保存,如果他們訪問一個網址(使用jQuery也許,併發回本用AJAX)或使用redirecter PHP這記錄點擊的URL,然後將用戶重定向到此。

如果考慮第二個,這個PHP應該是:

<?php 
    //You should check here for the URL to be an integer 
    $res = mysql_query('SELECT url FROM addimage WHERE id='.$url_id.';'); 
    if (mysql_num_rows($res)>0) { 
     mysql_query('INSERT INTO VISITED VALUES(NULL,'.$_SESSION['logged_in_user_id'].','.$url_id.');'); 
     $row = mysql_fetch_array($res); 
     Header('Location: http://'.$row[0]); 
    } 
?> 

之後,當你列出你的網址,你必須檢查哪些是用戶還不訪問:

<?php 

mysql_connect('mysql', '1', 'Py'); 
mysql_select_db('a5803761_add'); 
$sql = 'select addimage.id, addimage.name, VISITED.USER_ID from addimage '; 
$sql .= 'LEFT JOIN VISITED ON (addimage.id = VISITED.URL_ID) '; 
$sql .= 'WHERE (VISITED.USER_ID='.$_SESSION['logged_in_user_id'].');'; 
$query =mysql_query('order by ID DESC'); 


while($row = mysql_fetch_assoc($query)) 
{ 
    if ($row[2] == 'NULL') { 
    echo '<div style="min-width:300px;height:100px;border:red 5px;float:left;"><a href="/redirecter.php?url_id='.$row['id'].'">'.$row['name'].'</a></div>'; 
    } 
} 

?> 

但我認爲在一個HTML中列出很多網址並不是一個好主意,可能瀏覽器會佔用所有內存。也許你應該做一些過濾器或分頁機制。

請考慮此代碼僅作爲示例,並根據您的需要進行修改。另一方面,正如其他人所建議的,不要使用mysql_擴展名,使用mysqli或PDO。

+1

得到了解決方案thnx – user4527424 2015-02-10 08:56:02

+0

@ user4527424然後接受我的答案會很好。謝謝 – Fenistil 2015-02-10 09:55:14

0

我會建議你使用mysqliPDO。 O,並寫入「http://」鏈接。

+0

我意識到你沒有代表評論,但這是對OP的批評,應作爲評論發佈。僅供將來參考。 – 2015-02-10 08:26:38