2012-12-12 44 views
2

我正在寫if語句,如果列出的兩個日期相等,它回聲的第一個日期,如果它們不是(否則語句)它回聲「date1-date2」我有它在一個函數我不知道如果我alowed做that.Here是我得到IF函數內函數

Parse error: syntax error, unexpected T_IF

在這裏的錯誤是我的函數:

function getfevent ($conn) { 
$sql = "SELECT `name` FROM `event` WHERE `featured` = 0 LIMIT 0, 30 "; 
$statement=$conn->prepare($sql); 
$statement->execute(); 
while($row=$statement->fetch()) { 
$eventname = $row['name']; 
$row_id=geteventid ($conn,$eventname); 
$row_end=geteventend ($conn,$eventname); 
$date=if ($row_id == $row_end){ 
    echo $row_id; 
} 
    else { 
    echo $row_id " - " $row_end; 
} 
?> 
<?php echo "<td>$eventname</td><td>$date</td></tr>"; ?> 
<?php 
} 
} 
getfevent($conn); 
+0

去徹底** [投稿編碼問題(HTTP: //sscce.org)**。以這種方式粘貼代碼,以便人們可以直接執行它。 –

+0

what @ MD.SahibBinMahboob – maxgee

+0

你的代碼片段需要建立mysql連接,並且在執行查詢之後還要從db中返回一些信息,以便人們在執行**之前需要編輯**腳本。發佈**複製粘貼 - 執行**準備好的代碼是很好的,這樣人們就可以馬上開始幫助你。 –

回答

1

可能你想要這個。

$date = $row_id == $row_end ? $row_id : $row_id . " - " . $row_end; 
echo $date; 

不要忘記。使用.來連接。

它的回聲語句用來打印一些東西到輸出緩衝器相同的

if ($row_id == $row_end) { 
    $date = $row_id; 
} else { 
    $date = $row_id . " - " . $row_end; 
} 
0

相反的:

$date=if ($row_id == $row_end){ 
    echo $row_id; 
} 
    else { 
    echo $row_id " - " $row_end; 
} 

嘗試:

$date; 
if ($row_id == $row_end) 
    $date=$row_id; 
else 
    $date=$row_id." - ".$row_end; 

你正在做的原代碼是什麼實質上是告訴PHP變量$date的值設置爲一個if語句,這是很好,不可能的。

備用代碼段創建一個新變量$date,然後將其值設置爲$row_id$row_id." - ".$row_end;,具體取決於if語句的計算方式。

+0

這工作,但在倒數第二行我得到這個錯誤解析錯誤:語法錯誤,意外T_CONSTANT_ENCAPSED_STRING – maxgee

+0

這將是原始代碼中的字符串之間的缺失 - 編輯帖子,現在應該工作。 –

0

你必須這樣做,而不是:

if ($row_id == $row_end) { 
    $date = something 
} else { 
    $date = somethingElse 
} 
//do whatever you want with $date 
1

是的,當然如果語句允許內部功能。您的問題是,您將變量$date的值設置爲T_IF的值,這是非法的。

相反,你可以做這樣的事情:

$date=($row_id == $row_end); 
if($date) 
{ 
    echo $row_id; 
} 
else { 
    echo $row_id." - ".$row_end; 
} 
0

嘗試

$date=$row_id; 
if ($row_id != $row_end) 
{ 
    $date.=" - ".$row_end; 
} 

這應該是更短的我客串

+2

你的意思是'$ date。=「 - 」。$ row_end'; – David