2009-12-11 4 views
-1

아래 코드와 관련된 도움이 필요하십니까? PHP 호출과 함수 호출을 구성하는 방식에 문제가있을 수 있다고 생각합니다. 나는 초보자이며 사용자가 클릭하는 링크에 따라 다른 테이블의 결과를 표시 할 수있게하려는 것입니다.PHP - 링크를 기준으로 결과 표시, 조건부로

구문 분석 오류 : 구문 오류, 예기치 않은 '{'/home/content/c/e/l/celebrything/html/wp-content/themes/celebrything/sidebar.php에서

나는이 오류 on line 16

여기에서 문제를 해결하는 데 도움이 될 것입니다.

<div id="sidebar"> 

<div class="post"> 
<h2> 

<font color="#333333">Most Popular Celebrities</font><br> 
<font color="#333333">in last 24 hours</font> 
<br> 
<br> 

<a href="page.php?table=today">Today</a> 
<a href="page.php?table=week">Week</a> 
<a href="page.php?table=month">Month</a> 

<?php 
if (!in_array($table, array('today', 'week', 'month')) { 
    return false; 
} 

global $wpdb; 
$result = $wpdb->get_results('SELECT name, count FROM wp_celebcount_' . $table); 
foreach($result as $row) { 
echo '<a href="http://www.celebrything.com/?s=' . 
    urlencode($row->name) . '&search=Search">' . $row->name . 
    '</a> - ' . $row->count . ' Posts<br/>'; 
} 
} 

?> 

showTable($_GET['table']); 


</h2> 
</div> 

</div> 

<div class="clear"></div> 

업데이트 된 코드 누락 ----------------

<div id="sidebar"> 

<div class="post"> 
<h2> 

<font color="#333333">Most Popular Celebrities</font><br> 
<font color="#333333">in last 24 hours</font> 
<br> 
<br> 

<a href="page.php?table=today">Today</a> 
<a href="page.php?table=week">Week</a> 
<a href="page.php?table=month">Month</a> 

<?php 
if (!in_array($table, array('today', 'week', 'month'))) { 
    return false; 
} 

global $wpdb; 
$result = $wpdb->get_results('SELECT name, count FROM wp_celebcount_' . $table); 
foreach($result as $row) { 
echo '<a href="http://www.celebrything.com/?s=' . 
    urlencode($row->name) . '&search=Search">' . $row->name . 
    '</a> - ' . $row->count . ' Posts<br/>'; 
} 



if (!empty($_GET['table'])) { 
showTable($_GET['table']); 

} else { showTable('today'); } 

?> 




</h2> 
</div> 

</div> 

<div class="clear"></div> 

답변

2

1) 첫 if 블록 : 여기에 코드입니다

if (!in_array($table, array('today', 'week', 'month'))) { 
    return false; 
} 

2은 추가 } 바로 befor을가 전자 닫는

} 
} 

?> 

3.?>

당신이 좋아하는 폐쇄 ?> 전에 showTable 기능을 넣어해야합니다 요약

showTable($_GET['table']); 
?> 

:

는 지원하는 코드 편집기를 가져옵니다 구문 강조. 당신은 이것을 좋아하게 될 것이다.

+0

감사합니다. 이제이 오류가 발생합니다. 구문 분석 오류 : 예기치 않은 '}'/home/content/c/e/l/celebrything/html/wp-content/themes/celebrything/sidebar.php on line 27 나는 거기에 있다고 생각합니다. 내가 조직 한 방식으로 문제가되어야합니다. php 호출이고, showTable ($ _ GET [ 'table']); 바른 장소에? – Mike

+0

감사합니다. 오류는 없지만 결과가 표시되지 않습니다. 위의 Q를 사용중인 새 코드로 업데이트했습니다. 어떤 아이디어? – Mike

+0

if (empty to if (! empty –

2

showTable()과 같은 함수를 참조하는 것처럼 보이지만 코드 샘플에서 벗어나지 않는 한 함수 내에서 논리를 설정하지 않았습니다. 해야한다 : 위의

<? 
//---------------------- 
//Create the showTable() function, which won't do anything until it's called. It can 
//reside anywhere on the page, really. It's here just because this is where I put it. 

function showTable($table) { 
    if (!in_array($table, array('today', 'week', 'month'))) { 
     return false; 
    } 

    global $wpdb; 
    $result = $wpdb->get_results('SELECT name, count FROM wp_celebcount_' . $table); 
    foreach($result as $row) { 
     echo('<a href="http://www.celebrything.com/?s='.urlencode($row->name) . '&search=Search">'.$row->name.'</a> - '.$row->count.' Posts<br/>'); 
    } 
} 

//---------------------- 
//Here is where you actually call the function, to display some stuff on the page 

if (!empty($_GET['table'])) { 
    showTable($_GET['table']); 
} else { 
    showTable('today'); 
} 
?> 

코드는 당신이 워드 프레스에 내장 된 적절한/작업 기능을 사용하고 있다고 가정합니다 (I 아주 잘 워드 프레스를 모른다). 그러나 위의 구문은 함수 구문과 관련된 문제를 해결해야합니다. 문제는 귀하의 주된 문제입니다.

관련 문제