2013-02-17 135 views
0

我有一個MySQL數據庫與我的電影超級鏈接列表colums

id | movietitle | year | imdbnumber 

我要展示我的電影,用PHP SQL查詢中的超鏈接列表

這樣

<a href="http://www.imdb.com/title/ttIMDBNUMBER/" target="_blank">MOVIETITLE (YEAR)</a><br> 

我希望他們按字母排序和分組

例如:

T 
Titanic (1997) 
THX 1138 (1971) 

U 
Underworld (2003) 
... 

我該怎麼做在PHP?

+1

你有什麼嘗試/什麼是你的PHP級別(有沒有線索,初學者,中級等)? – rlatief 2013-02-17 06:15:11

+0

http://www.php.net/manual/en/book.pdo.php – Jon 2013-02-17 06:15:14

+0

MySQLi最初可能會更簡單。然後是PDO。 – Achrome 2013-02-17 06:19:11

回答

0

您可以使用SQL查詢本身使用ORDER BY對列表進行排序。

一旦你離開DB的數據,您可以創建每個這樣的超鏈接:

<a href="http://www.imdb.com/title/tt<?=$imdbnumber?>/" target="_blank"><?=$movietitle?> <?=$year?></a><br> 
0

如果你不想使用正則表達式,這是解決方案之一。

<?php 
$movie[0]='Amber'; 
$movie[1]='babar'; 
$movie[2]='Aviator'; 
$movie[3]='Caty boy'; 

function startsWith($haystack, $needle) 
{ 
    return !strncmp($haystack, $needle, strlen($needle)); 
} 

foreach (range('a', 'z') as $i){ 
    echo '<h1>'.strtoupper($i).'</h1>'; 
    foreach($movie as $key){ 
     if(startsWith(strtolower($key),$i)){ 
      echo '<li>'.$key.'</li>'; 
     } 
    } 
} 


?> 

輸出上面將是:

A 
Amber 
Aviator 
B 
Babar 
C 
Caty boy 
D 
E 
F 
G 
H 
I 
J 
K 
L 
M 
N 
O 
P 
Q 
R 
S 
T 
U 
V 
W 
X 
Y 
Z 

填充當然從與數據庫的$電影陣列ORDER BY SQL查詢。然後$電影陣列可以在這種格式

Title - (Year) 

這不會有什麼區別後,放在標題 - 年或任何其他細節之後。條件是你的字符串應該以標題開頭。所以即使你錯過了格式,例如:

$movie[0]='Titanic'; 
$movie[1]='Hulk (2009)'; 

仍然該函數應該按照你在問題描述中描述的方式對它進行排序。希望能幫助到你。