Это мой нумерацией страниц сценария:Внешние ключи и нумерацией страниц
<?php
/***********************************
* PhpMyCoder Paginator *
* Created By PhpMyCoder *
* 2010 PhpMyCoder *
* ------------------------------- *
* You may use this code as long *
* as this notice stays intact and *
* the proper credit is given to *
* the author. *
***********************************/
?>
<head>
<title> Pagination Test - Created By PhpMyCoder</title>
<style type="text/css">
#nav { font: normal 13px/14px Arial, Helvetica, sans-serif; margin: 2px 0; }
#nav a { background: #EEE; border: 1px solid #DDD; color: #000080; padding: 1px 7px; text-decoration: none; }
#nav strong { background: #000080; border: 1px solid #DDD; color: #FFF; font-weight: normal; padding: 1px 7px; }
#nav span { background: #FFF; border: 1px solid #DDD; color: #999; padding: 1px 7px; }
</style>
</head>
<?php
//Require the file that contains the required classes
include("pmcPagination.php");
//PhpMyCoder Paginator
$paginator = new pmcPagination(20, "page");
//Connect to the database
mysql_connect("localhost","root","PASSWORD");
//Select DB
mysql_select_db("tvguide");
//Select only results for today and future
$result = mysql_query("SELECT programme, channel, airdate, expiration, episode, setreminder FROM epdata1 where airdate >= now() order by expiration GROUP BY airdate");
//You can also add reuslts to paginate here
mysql_data_seek($queryresult,0) ;
while($row = mysql_fetch_array($result))
{
$paginator->add(new paginationData($row['programme'],
$row['channel'],
$row['airdate'],
$row['expiration'],
$row['episode'],
$row['setreminder']));
}
?>
<?php
//Show the paginated results
$paginator->paginate();
?><? include("pca-footer1.php"); ?>
<?php
//Show the navigation
$paginator->navigation();
?>
Однако, у меня есть две таблицы в этом, и они epdata1 (где airtimes для моего шоу House MD есть) и housemdep плюс таблица setreminder ,
Как использовать внешние ключи по отношению к этому? Я не уверен, что это будет работать для моего скрипта, но я готов попробовать.
То, что я хотел бы сделать, это выбрать некоторые эпизоды из таблицы housemdep (эпизоды шоу), и если они выбраны это показывает их, как это:
House M.D. showing on Channel 1 June 6th - 8:00pm "Wilson" Set Reminder
House M.D. showing on Channel 1 June 7th - 1:30am "Wilson" Set Reminder
House M.D. showing on Channel 1 June 7th - 12:55pm "House's Head" Set Reminder
или как это, если я не выбран эпизод из ряда:
House M.D. showing on Channel 1 June 7th - 8:00pm "House's Head" Set Reminder
House M.D. showing on Channel 1 June 8th - 9:00pm Set Reminder
House M.D. showing on Channel 1 June 9th - 2:30pm Set Reminder
House M.D. showing on Channel 1 June 7th - 8:00pm "Que Sera Sera" Set Reminder
внешние ключи и отношения взаимосвязанных таблиц являются новыми для меня, если кто-нибудь может помочь я ценю это.
Кроме того, я пытаюсь получить его, как это для моей программы (это как код должен отображать, если вы нажали на View Source в Вашем браузере):
<tr><td><b><a href="housemd.php">House M.D.</a></b></td><td>showing on <a href="channel/1"><i>Channel 1</i></a></td><td>June 9th - 7:00pm</td><td><b>"<a href="episodes/714790">House's Head</a>"</b></td><td><img src="reminder.gif" height="16" width="22"> <a href="reminder.php" alt="Set a reminder" target="_top">Set Reminder</a></td></tr>
House MD показывает на Channel 1 10 июня - 12:25 утра «Голова Хауса» Установить напоминание House MD показывая на Channel 1 10 июня - 12:55 вечера Установить напоминание House MD показывая на Channel 1 10 июня - 9:00 вечера "Wilson" Set Напоминание House MD показывая на Канал 1 11 июня - 1:30 утра "Wilson" Set Напоминание House MD показывая на канал 1 11 июня - 8:00 вечера "Living The Dream" Установить напоминание House MD показывая на Channel 1 12 июня - 7:00 вечера Set R eminder
Я пробовал некоторые из предложений Google по внешним ключам в другой версии этого скрипта (это клон оригинала на моем сервере localhost с Apache и PHP 5.28/MySQL), но я не уверен, как реализовать это.
Спасибо.
с чем вы столкнулись? Вам нужна помощь в запросе базы данных, связывающем таблицы вместе с внешними ключами? Если нет, соедините таблицы вместе и посмотрите, что делает ваша разбивка на страницы. лучший способ учиться - попробовать. внести изменения в исправление. Кроме того, это не самый лучший способ разбиения на страницы запроса. Если ваш запрос имеет 10k результатов, он будет буферизовать все эти результаты, а затем вы используете только 20 (или независимо от вашего значения на странице) из этого буферизованного списка из 10k. Как правило, лучше использовать ключевое слово mysql LIMIT, чтобы просто вернуть ваш запрос только количество требуемых строк. –
У меня возникли проблемы с использованием запроса базы данных, соединяющего таблицы вместе с внешними ключами, вот в чем суть этого. Что касается моего сценария разбиения на страницы, который показывает 20 строк на сценарий, это бесплатный скрипт, который я использую;) – whitstone86