2013-02-11 48 views
0

假設我的html佈局中有3列/ div /節,我們稱它們爲cat1,cat2,cat3。然後我有一個名爲「內容」的表的數據庫。在該表中我有字段ID,標題,內容,類別。使用PHP從數據庫中提取具有特定參數的數據

現在我想從我的mysql表中填充這3列與他們相應的內容。例如 - 從表中獲取所有內容category = cat1(對應於第一列)。

我只能做出3個函數,每個函數都有自己的參數,但我不想重複代碼。我怎樣才能做到這一點與一個單一的功能,但只是使用不同的參數?在我的HTML

public function displayAll_with_category ($category) { 
    $sql = $con->prepare("SELECT * FROM Table WHERE Category=?"); 
    $sql->bindParam(1, $category); 
    $sql->execute(); 
    while ($row = $sql->fetch()) { 
    echo $row['Title']; 
    } 
} 

然後:

我在想這樣的事情

<div id="cat1"> 
    // Using a central class 
    <?php include('class.php'); $obj = new handler; $obj->displayAll_with_category(); ?> 
</div> 

到目前爲止好,我需要以某種方式能夠改變$ category參數,所以我可以使用相同的功能調用cat1/2/3的內容。我不知道該怎麼做,通常我需要通過一個按鈕或窗體向PHP函數發送一些東西,但這次不是這種情況。這在純PHP中甚至可行嗎?我可以想到用AJAX做這件事,但現在我想知道它是否可以用PHP完成。

回答

0

我不確定這是不是你想要的。

這將讓你1類,2和3 數據我剛剛創建了一個循環的視圖中的呼叫使用不同的參數功能:

<?php 
for($cont = 0; $cont<4; $cont++){ 
?> 
<div id="cat1"> 
    // Using a central class 
    <?php include('class.php'); $obj = new handler; $obj->displayAll_with_category($cont); ?> 
</div> 
<?php 
} 
?> 

哦,如果我是你,我會嘗試從視圖中分離邏輯,我將在視圖中打印該函數的結果,而不是在其中進行。