2013-02-17 5 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

+0

http://www.php.net/manual/en/book.pdo.php – Jon

+0

MySQLi может быть проще изначально. Затем PDO. – Achrome

ответ

0

Вы можете отсортировать список, используя сам SQL-запрос, используя ORDER BY.

После того, как у вас есть данные из БД, вы можете создать каждый из гиперссылок, как это:

<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) 

Он не будет делать разницы, что вы положили после названия - год или любой другой детали. Условие заключается в том, что ваша строка должна начинаться с заголовка. Так что даже если вы пропустите формат, Ex:

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

еще функция должна сортировать его в порядке, вы описали в вашей постановке задачи. Надеюсь, поможет.

Смежные вопросы