2015-12-22 215 views
0

情況:我試圖通過php變量顯示數據庫中的一些值。我使用bootstrap和XAMPP作爲server.What我試圖做的是,獲取當前日期和檢查它與我從數據庫中獲得的事件日期。如果他們都等於顯示該紅色球內的日期。我試圖讓它像他們的網站中的Mozilla Event Calendar在html標籤中打印php元素

爲前 - 我改變了活動日期到今天的日期(2015-12-22)在phpmyadmin裏面,是的,它們兩個都是平等的,所以它必須在紅球內顯示日期。它適用於我的測試場所,但不適用於紅球。

問題:問題是它只是沒有顯示任何內容。我該怎麼做才能顯示該PHP元素,在html標記內? enter image description here

我的嘗試:(該redball內)

<div class="row LatestEventCircle"> 
    <div class="row container-fluid center-block text-center MainEventDate"> 
    <h2 class="center-block MainEventDate"> 
     <?php echo"$rows[$eventdate]"; ?><br> 
     EVENT 
    </h2> 
    </div> 
    <!--HERE IS THE PLACE--> 
    <div class="row"></div>    
</div> 

這是PHP腳本處理數據庫一部分,測試代碼:

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("yaya");  
$sql=mysql_query("SELECT eventname,eventtime,eventplace,eventdate FROM event"); 

$eventdate='eventdate'; 
$eventplace ='eventplace'; 
$eventname ='eventname'; 
$eventtime='eventtime'; 

$datenow=date('Y-m-d'); 

if($sql==False) { 
    die(mysql_error()); 
} 

while($rows=mysql_fetch_array($sql)) { 
    if($datenow==$rows["eventdate"]) { 
     echo "Next Event is"; 
     echo 'Event: ' .$rows[$eventname]. '<br/>' .'Place: ' .$rows[$eventplace].'<br/>' .'Time: '.$rows[$eventtime]. '<br/>'.'Date: '.$rows[$eventdate]; 
    } 

    else { 
     echo "No Events today"; 
    } 
} 
?> 
+0

爲什麼-1這個問題出了什麼問題? – AVI

+0

實際上它應該是'echo「{$ rows ['eventdate']}」'<注意大括號,沒有$ eventdate'和引號。你可能不需要另一個變量'$ eventdate ='eventdate';' – bansi

+0

@bansi echo「{$ rows ['eventdate']}」不起作用,我試過了,但它對我不起作用:/結果與在 – AVI

回答

1

就在你的while循環之前定義一個變量$ nextEventDate,然後在你的循環中分配你需要的變量;

$nextEventDate = ''; 
while($rows=mysql_fetch_array($sql)) { 
    if($datenow==$rows["eventdate"]) { 
    $nextEventDate = $rows[$eventdate]; 
    echo "Next Event is"; 
    echo 'Event: ' .$rows[$eventname]. '<br/>' .'Place: ' .$rows[$eventplace].'<br/>' .'Time: '.$rows[$eventtime]. '<br/>'.'Date: '.$rows[$eventdate]; 
    } else {   
    $nextEventDate = 'No Events'; 
    echo "No Events today"; 
    } 
} 

然後在你的html(在紅球內)使用$ nextEventDate變量。

<h2 class="center-block MainEventDate"> 
    <?php echo $nextEventDate ; ?><br /> 
    EVENT 
</h2> 

希望這是排序;)

另外,我不知道爲什麼你從你的數據庫表中選擇所有數據行,然後用PHP來找到一個與今天的日期。 您應該使用數據庫查詢來選擇今天的事件;

$todaysEventSql=mysql_query("SELECT eventname,eventtime,eventplace,eventdate FROM event WHERE DATE(eventdate) = DATE(NOW()) "); 

此外,您正在使用mysql_ *功能與棄用,取代最新的等值;

Why shouldn't I use mysql_* functions in PHP?

1
echo"$rows[$eventdate]"; 

你可以換成

echo $rows[$eventdate]; 

echo "{$rows[$eventdate]}"; 
+0

不能正常工作:/結果與之前一樣 – AVI

+0

所以我認爲讓改變爲硬編碼 <! - echo「{$ rows ['eventname'}」; - > 我認爲它應該工作。 如果不是,它是空的變量:d – Einsamer

+0

它不爲空,這就是爲什麼我在左上角試了一下,它的工作 – AVI

3
<?php echo $rows["eventdate"]; ?> 

應該工作。

除此之外,請考慮將鍵名直接放在這裏,而不是將它們放入變量並使用變量。這是多餘的,增加了一定程度的混亂。

+0

不能像我對Nguyen說的那樣工作 – AVI

2

一個簡單的辦法就是試試這個...

if($datenow==$rows["eventdate"]) 
    { 
$result = $rows[$eventname]; 
return result; 
} 


<h2><?php echo $result; ?><br>EVENT</h2> 

記得在HTML頁面中的PHP文件

+0

這給了我這個錯誤「注意:使用未定義的常量結果 - 假設'結果'在xxx行的C:\ xampp \ htdocs \ FinalFinal \ index.php」 – AVI

+0

你看到了undefined因爲$ result中的數組應該位於引用'code'中$ result = $ rows ['eventname']; –

1

或者只是呼應這個刪除這些返回結果,並導致可變

echo '<div class="row LatestEventCircle"><div class="row container-fluid center-block text-center MainEventDate">'. 
     '<h2 class="center-block MainEventDate">'.$rows[$eventdate].' <br></h2></div>'.$rows[$eventname].'<div class="row"></div> 
</div>';