2013-02-17 113 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)'; 

仍然该函数应该按照你在问题描述中描述的方式对它进行排序。希望能帮助到你。