2013-10-15 78 views
0

如果你看看jsfiddle,你會注意到黃色和紅色的模塊。我有我所有的代碼工作,除了我必須手動輸入模塊的HTML/PHP。根據SQL計數編寫php代碼

http://jsfiddle.net/W6zYA/1/

我的模塊代碼是:

<?php $row = mysql_fetch_row($result); ?> 
<a href='#' data-reveal-id="<?php echo $row[0]; ?>" data-animation="none" > 
<div class="grid_3"> 
<p id="contexttitle"> 
<?php echo $row[1]; ?> 
    <span style="float:right;"> <?php echo $row[3]; ?> </span> 
    </p> 
    <p id="accesssubmenu">Last Update: <?php echo $row[6]; ?> </p> 
</div> 
</a> 
<div id="<?php echo $row[0]; ?>" class='reveal-modal'>     
<h1> <?php echo $row[1]; ?> </h1> 
<p> <?php echo $row[4]; ?> </p> 
<p4>Last Update: <?php echo $row[6]; ?> </p4> 
<a class="close-reveal-modal">&#215;</a> 
</div> 

什麼,我想要做的是有它創建一個基於SQL查詢這些模塊的X金額,我計算行中的#每個部分(紅色,黃色,綠色)。

我試圖存儲在SQL數據庫的PHP和研究後發現,這是不好的做法,並使用eval()時一樣會有用戶輸入不應該就算做完了。我還閱讀了關於Smarty等PHP模板的內容,但不確定這對我是否是正確的解決方案。

如果有人能在正確的方向指向我,我會非常感激,我只是不知道從哪裏開始到谷歌/什麼。

+0

你正在尋找一個簡單的'for' /'while'循環在PHP或'include'中嗎?我不確定我明白你在這裏需要什麼。 –

+0

我覺得我很難寫出我需要的東西,所以害怕我沒有說清楚。我很確定必須使用循環。假設紅色部分有4個項目(數據庫會告訴我),我希望能夠爲紅色部分編寫4個模塊。如果黃色爲3,我希望能夠爲該部分編寫3個模塊。然而,基本上我的數據庫中有很多行具有這種特定顏色的狀態,我會寫很多模塊。我可以創建一個循環在PHP中,將採取一個SQL查詢和輸入的結果?對不起,如果我沒有意義。 – ZeroAccess

+0

你* *有意義*現在*;)。看看下面的Gavin的回答,並嘗試一下。我想你可以從這裏拿走它。如果不檢查SO上的其他問題。 –

回答

1

mysql_fetch_row只取一行。如果你有多行,你需要mysql_fetch_assoc或mysql_fetch_array,並使用類似foreach循環來循環遍歷結果。這將輸出html的次數與MySQL查詢中的結果一樣多。

+0

想要閱讀這篇文章,已經有一段時間了。將檢查一旦我得到它的工作,但非常肯定這將讓我在我需要的地方。再次感謝你的幫助。 – ZeroAccess

+0

沒問題。祝你好運。 – Gavin

+0

應該這樣做。 – Gavin

0

嘗試mysql_num_rows($result)這會給你查詢返回的行數。我會嘗試升級到PDO或MySQL,因爲mysql_ *函數將在PHP 5.5

http://php.net/manual/en/function.mysql-num-rows.php

+0

op正在使用mysql_fetch_row ...如果找不到結果,它將始終返回0,如果找到任何結果,則返回1。 – Gavin

0

被棄用我認爲,你從你的數據庫獲得多個記錄?這樣你可以使用while循環來循環你的結果。

while ($row = mysql_fetch_row($result)) { 
// do you html code here. 
} 

這應該做的伎倆。

+0

這將不起作用... mysql_fetch_row提取單個行。 http://php.net/manual/en/function.mysql-fetch-row.php – Gavin

+1

這應該工作:[來自文檔]返回一個數字數組,對應於獲取的行和** bold **移動內部數據指針提前** **大膽** –

+0

瞭解到新的東西。謝謝。 – Gavin