Php 分页脚本-从两个表中获取数据

Php 分页脚本-从两个表中获取数据,php,mysql,apache,pagination,Php,Mysql,Apache,Pagination,我有一个分页脚本,可以在这里看到: 这是源代码: (PmcPagination.php) (demo.php,其中包含代码的页面) 而index.php for只是使用php的include()函数来显示demo.php 我要做的是从两个表中提取用于分页的内容 这是我当前的数据库结构: 但是,我将这些剧集存储在一个单独的表中,并希望进行一个查询,从epdata167和剧集表中提取(剧集表只有剧集、序列号、情节号和描述作为其字段) 我在分页脚本中犯的一个错误如下所示: TV Show show

我有一个分页脚本,可以在这里看到:

这是源代码:

(PmcPagination.php)

(demo.php,其中包含代码的页面)

而index.php for只是使用php的include()函数来显示demo.php

我要做的是从两个表中提取用于分页的内容

这是我当前的数据库结构:


但是,我将这些剧集存储在一个单独的表中,并希望进行一个查询,从epdata167和剧集表中提取(剧集表只有剧集、序列号、情节号和描述作为其字段)

我在分页脚本中犯的一个错误如下所示:

TV Show showing on Channel 1 August 3rd - 12:30pm "" Set Reminder
TV Show showing on Channel 1 August 3rd - 8:30pm "Episode 1" Set Reminder
事件发生后,它仍然存在很长时间

这就是它的工作原理:

 TV Show showing on Channel 1 August 3rd - 12:30pm  
 TV Show showing on Channel 1 August 3rd - 2:45pm Set Reminder
TV Show showing on Channel 1 August 3rd - 8:30pm "Episode 1" Set Reminder
请注意,事件发生时,“设置提醒”字段不会显示,如果未选择某一集,则不会显示引号

(setreminder字段基本上是一个链接,用户可以单击该链接向他们发送一个提醒,说明“电视节目在8月3日频道1-8:30pm第1集播出”或“电视节目今天在8:30pm第1集播出”。但是,它不会显示在正在播出的节目中,它会显示如下:

    TV Show showing on Channel 1 August 3rd - 12:30pm 
)

这是导致故障的分页代码:

$result=mysql_query(“从epdata167中选择节目、频道、airdate、过期、插曲、系列、设置提醒,其中airdate>curdate()按airdate分组”)

这是我编辑的分页代码的一部分,尝试使用ifelse语句,但不确定该怎么做:

class paginationData {
private $program;
private $channel;
private $airdate;
private $exiration;
private $episode;
private $series;
private $setReminder;

public function __construct($program, $channel, $airdate, $expiration, $episode, $setReminder)
{
    $this->program = $program;
    $this->channel = $channel;
  $this->airdate = strtotime($airdate);
    $this->expiration = $expiration;
    $this->episode = $episode;
    $this->setReminder = $setReminder;
}

//This function shows the data
public function display()
{
    if(date('Y-m-d') == date('Y-m-d', $this->airdate)) $dateFormat = 'g:ia';
    elseif(date('Y') == date('Y', $this->airdate)) $dateFormat = 'F jS - g:ia';
    else $dateFormat = 'F jS, Y - g:ia';

    echo '<tr>'."\n".
         '  <td><strong>'.$this->program.'</strong></td>'."\n".
         '  <td>showing on '.$this->channel.'</td>'."\n".
         '  <td>'.date($dateFormat, $this->airdate).'</td>'."\n".
         '  <td><b>"'.$this->episode.'"</b><br></td>'. "\n".
         '  <td>'.$this->setReminder.'</td>'."\n".
         '</tr>'."\n";
}
(如果这一集是带有序列号的系列的一部分)

不确定JOIN要使用什么以及在哪里使用,非常感谢所有帮助,因为我已经让分页工作正常了;只是想让更精细的细节发挥作用

我不是要求别人为我做这件事,我一直在学习自己,也做过研究

抱歉,如果这看起来有点长,但我希望我已经解释清楚了


谢谢。

你需要一个工会来让这一切正常运作。

伙计,这是一个完整的乐透密码。试着把你的问题分解成一个或多个长度合理的问题。分而治之是你的朋友!我不想在网站上发布大量的问题,我已经有了分页的基本问题。这是我应该在分页脚本中使用的查询类型吗?:另外,对于通过电子邮件发送的提醒,我如何使其工作(并且在事件发生时不显示)。
class paginationData {
private $program;
private $channel;
private $airdate;
private $exiration;
private $episode;
private $series;
private $setReminder;

public function __construct($program, $channel, $airdate, $expiration, $episode, $setReminder)
{
    $this->program = $program;
    $this->channel = $channel;
  $this->airdate = strtotime($airdate);
    $this->expiration = $expiration;
    $this->episode = $episode;
    $this->setReminder = $setReminder;
}

//This function shows the data
public function display()
{
    if(date('Y-m-d') == date('Y-m-d', $this->airdate)) $dateFormat = 'g:ia';
    elseif(date('Y') == date('Y', $this->airdate)) $dateFormat = 'F jS - g:ia';
    else $dateFormat = 'F jS, Y - g:ia';

    echo '<tr>'."\n".
         '  <td><strong>'.$this->program.'</strong></td>'."\n".
         '  <td>showing on '.$this->channel.'</td>'."\n".
         '  <td>'.date($dateFormat, $this->airdate).'</td>'."\n".
         '  <td><b>"'.$this->episode.'"</b><br></td>'. "\n".
         '  <td>'.$this->setReminder.'</td>'."\n".
         '</tr>'."\n";
}
     TV Show showing on Channel 1 August 3rd - 12:30pm  
 TV Show showing on Channel 1 August 3rd - 2:45pm Set Reminder
TV Show showing on Channel 1 August 3rd - 8:30pm "Episode 1"
                                                  Series 1, episode 1 Set Reminder