2010-07-28 4 views
1

두 테이블에서 얻는 데이터 :매김 스크립트 여기에서 볼 수있는 나는 매김 스크립트가

http://pastebin.com/raw.php?i=63dCvfxD (PmcPagination.php)

http://pastebin.com/raw.php?i=3k4nqwRB : http://www.automotori6282.tk/phpsandbox/

이는 소스 코드 (demo.php, 코드가있는 페이지)

http://www.automotori6282.tk/phpsandbox/의 index.php는 단순히 PHP의 include() 함수를 사용하여 demo.php를 보여줍니다.

내가하려는 것은 페이지 매김을 위해 두 테이블에서 추출하는 것입니다.

이 내 현재 데이터베이스 구조입니다 : 그러나


programme varchar(255)  
channel  varchar(255)  
episode  varchar(255) 
series varchar(255)    
setreminder  varchar(255)  

, I합니다 (별도의 테이블에 저장되어있는 에피소드를 가지고 있고, 모두 epdata167 에피소드 테이블에서 추출하는 쿼리를하고 싶습니다 에피소드 테이블에는 에피소드, seriesno, episodeno 및 설명이 필드로 있습니다.

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 필드는 사용자가 "TV 쇼가 8 월 1 일 -18:30 pm 에피소드 1에서 방영 중입니다"또는 "TV 쇼가 오늘 방영 중입니다"라고 알리는 링크입니다. 오후 8:30 에피소드 1 ".(

$은 =는 mysql_query 결과 :

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

를)

이것은 매김 코드를 일으키는 문제가있다 : 그러나, 그것은 다음과 같이 표시 할 것, 바로 지금 방영하는 쇼를 표시 할 것 "SELECT 프로그램, 채널, 방송 일자, 만료, 에피소드, 시리즈, setreminder from epdata167 어디에서 airdate> curdate() GROUP by airdate"); 기본적으로

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"; 
} 

}

, 나는 데 문제 :

여기에 내가 무엇을하려고하고 ifelse 문을 사용하여 편집하지만, 확실하지 않았다 매김 코드의 일부이다 내 프로젝트에서이 같은 데이터를 얻을려고 :

 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 

(에피소드는 일련 번호가있는 시리즈의 일부인 경우 그입니다)

사용하려는 JOIN이 무엇인지, 그리고 어디서나 페이지 매김 기능을 사용하고 있기 때문에이 기능을 사용하기 위해 모든 도움을 주시면 감사하겠습니다. 더 정밀한 세부 작업을 시도하는 것뿐입니다!

나는 사람들이 나를 위해 그것을 해줄 것을 요구하지 않고 있으며, 나는 스스로 학습했고, 나의 연구를 해왔다.

죄송합니다. 조금 오랜 시간이 걸리지 만 죄송합니다.

감사합니다.

+0

안녕, 그게 전부야 코드 야. 귀하의 문제를 합리적인 길이의 하나 이상의 문제로 분해하십시오. 나누고 정복 당신의 친구입니다! – sfussenegger

+0

나는 많은 질문으로 사이트를 스팸하고 싶지 않았다. 이미 페이지 매김 (pagination) 작업의 기본 이슈를 얻었다. – whitstone86

답변

0

이 기능을 사용하려면 UNION을 사용해야합니다.

+0

내 페이지 스크립트와 함께 사용해야하는 쿼리 유형입니까? : http://www.plus2net.com/sql_tutorial/sql_union.php 또한 이메일을 통해 전송하는 알림은 어떻게 처리할까요? 작동하도록 (그리고 이벤트가 발생할 때 표시되지 않도록). – whitstone86