2012-02-07 6 views
1

나는 온라인 라디오 방송국 인 PHP 스크립트를 만들었습니다초보자를위한 PHP의 동적 페이지?

<?php 
$username = "root"; 
$password = "PASSWORD"; 
$hostname = "localhost"; 
$database = "myradio1"; 
$dbhandle = mysql_connect($hostname, $username, $password) 
or die("Unable to connect to MySQL"); 
$selected = mysql_select_db($database,$dbhandle) 
or die("Could not select $database"); 
$query= 'SELECT * FROM showmon'; 
$result = mysql_query($query) or die ('Error in query'); 
echo '<table width=100% border=1>'; 
while ($row=mysql_fetch_row($result)) 
{ 
    echo '<tr>'; 
    echo '<td><img src="\ '.$row['image'].' \"></td>'; 
    echo '<td>'.$row['presenter'].'</td>'; 
    echo '<td>'.$row['showinfo'].'</td>'; 
    echo '</tr>'; 
} 
echo '</table>'; 
mysql_free_result($result); 
mysql_close($dbhandle); 
?> 

나는 여러 다른 페이지, 일의 나머지 부분에 대한, 즉 1, 3, 4, 5, 6, 7.php이

를 showwed

showtue

showmon :하지만 주의는이 테이블에서 날짜 및 사전 선택 데이터를 보이는, 그래서 더 나은 스크립트를 변경하는 것입니다

showthu

showfri

showsat

showsun

모든 위의 스크립트와 같은 테이블 형식이있다; 데이터가 다릅니다.

데이터를 잘 표시하지만 아무런 문제가 없습니다. 데이터베이스가 변경되지 않은 경우 사전 설정된 데이터로 돌아갈 동적 페이지를 만드는 방법은 무엇입니까?

http://www.capitalfm.com/northeast/on-air/schedule/은 제가 일한 모델입니다. 예를 들어 http : capitalfm.com/northeast/on-air/schedule/?date=2012-02-08은 내가 아는 한 데이터베이스에서 미리 설정된 데이터로 되돌아가는 동적 페이지입니다. AFAIK, 이것이 가장 라디오 사이트 작동.

(// WWW. 나는 새로운 사용자로 링크를 게시 할 수 없기 때문에 제거)

내가 Google에서 찾아 않았지만,이에 초보자를위한 많은 발견하지 않았습니다.

http : www.capitalfm.com/northeast/on-air/schedule/?date=2012-02-08 (잘 URL 용어로) 나는 달성하려는 것입니다.

내 사이트의 도메인은 X를 나타내는 숫자로 http : radio.localhost/scheduleX (mod_rewrite로 숨겨진 PHP 확장)이지만이 스크립트를 어떻게 개선 할 수 있습니까?

모든 조언을 주시면 감사하겠습니다. 나는 동적 인 PHP에 상당히 익숙하며, PHP와 MySQL의 기초를 할 수 있으며, 폼에 대해 GET/POST를 할 수있다.

누구든지 나를 도울 수 있다면 많이 감사하겠습니다.

+2

정확히 무엇을 요구하고 있습니까? 특정 문제 또는 일반적인 조언을 찾고 있는지 여부는 분명하지 않습니다. 후자라면 SO가하는 것과 다르지 않습니다. 질문을 특정 영역으로 좁히면 더 많은 도움을 얻을 수 있습니다. – Hecksa

+0

나는 강하게 당신이 아래 [PHP 자습서 - w3schools] (http://www.w3schools.com/php/default.asp) [php-101- 절대적인 초보자를위한 PHP (http://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/) –

답변

0

당신은 $_GET를 사용 ?date=2012-02-08에서 날짜를 얻을 수 있습니다 :

echo $_GET['date']; 

는 쿼리에서이를 사용하려면 :

$query= "SELECT * FROM showmon WHERE date = '".mysql_real_escape_string($_GET['date'])."'"; 

당신은 php tutorial가 시작하는 읽어야합니다.

0

그냥 다음 해당 필드에 날짜를보고 선택해야하는 경우 :

$day = date("l"); 
$field = NULL; 

switch($day) { 
    case "Monday": 
     $field = "showmon"; 
     break; 
    case "Tuesday": 
     $field = "showtue"; 
     break; 
    case "Wednesday": 
     $field = "showwed"; 
     break; 
    case "Thursday": 
     $field = "showthu"; 
     break; 
    case "Friday": 
     $field = "showfri"; 
     break; 
    case "Saturday": 
     $field = "showsat"; 
     break; 
    case "Sunday": 
     $field = "showsun"; 
     break; 
} 

$query= 'SELECT * FROM '.$field; 
... // and so on 
0

내가 그 코드를 정리하기 위해 일부 PHP의 기초를보고 필요에 대한 다른 의견에 동의하지만를 다음은 원하는 쿼리를 만드는 예제입니다.

$query = 'SELECT * FROM ' . mysql_real_escape('show' . strtolower(date('D'))); 

월, 화, 수 등은 date('D')입니다. 그것은 그것을 낮추고 그것을 'show'라는 단어, 즉 showmon에 결합시킵니다. 당신은 사용자, 제공 날짜를 사용하려면

, 당신은 날짜 방법에 그것을 추가 할 수 있습니다

date('D', mktime(0, 0, 0, 2, 8, 2012)) 

마지막 세 개의 숫자 mktime에 월, 일, 년.

+0

"mysql_real_escape"* 철자가 틀린 경우라도 * 보입니다. 최소한 쓸모 없어. –

+0

예, 세 글자의 요일 이름에 잘못된 문자가있을 것으로 예상되지는 않습니다. – Fenton

+0

"나쁜 문자"가 무엇이든 기대할만한 이유가 있다고하더라도 그러한 기능이 당신에게 조금이라도 도움이되지는 않을 것입니다. –

0

가장 좋은 일은이 사이트를 서핑하는 것입니다. 비슷한 질문이 많이 있습니다. 여기

하지만

는 그 효율적이지의 팁이고, 나는 그것의 가장 좋은 방법을 이야기하지만, 그 노력의 가치, 당신의 모든 헤더를 호출 할 수 있습니다 그 안에 예를

mainpage.php 

에 대한 mainpage를 생성하고 있지 않다 , 바닥 글, 본문

<?php include('path/header.php');?> 
    <?php include('path/dynamic_body.php');?> 
    <?php include('path/footer.php');?> 

페이지가있을 때마다 머리글과 바닥 글이 같을 때 본문 만 변경됩니다. 당신이 전달하고자하는 데이터는 귀하에게 달려 있습니다.

표준 연습은 아니지만, 원한다면 기본 사항을 읽고 프레임 워크를 연습하는 것이 좋습니다.

0

테이블 설정이 잘못되었습니다.
그냥 테이블이어야합니다. 필드에 날짜가이고 2012-02-10 형식입니다. 이제

if (isset($_GET['date'])){ 
    $date = mysql_real_escape_sring($_GET['date']); 
} else { 
    $date = date("Y-m-d"); 
} 
$query = 'SELECT * FROM `show` WHERE `date`='$date'"; 
처럼 쿼리

은 (내용이이 같은 코드가 필요합니다 링크 목록을 만들려면 선택한 날짜 나 오늘 날짜

에 따라 선택 할 수 있습니다 테스트되지 않음) :

$monday = strtotime("monday"); // getting monday unix timestamp 
for ($i=0,$i<7,$i++){ 
    $stamp = $monday + $i * 86400; 
    $date = date("Y-m-d",$stamp); 
    $day = date("D",$stamp); 
    echo "<a href='?date=$date'>$day</a> "; 
} 
+0

'$ date' 주위에 작은 따옴표를 추가 할 수 있습니다. –

+0

예, 놓치 셨습니다. 고마워. –