2013-02-25 60 views
0

有人可以告訴我如何將MySQL值提取到定義的佔位符中。我正在構建自定義CMS,並因缺乏PHP知識而陷入困境。如何將特定的MySQL字段值提取到定義的佔位符中?

我SQLTABLE:

`menuLinkID` smallint(5), 
`menuLinkDescription` text NOT NULL, 
`menuActualLink` mediumtext NOT NULL, 

1)的index.php(如果我定義功能);

// Build Index page: 
function IndexFunction() { 
$results = array(); 
$results['pages'] = $data['results']; 

2)Include.php(我的默認應填寫必需的鏈接模板)

<div id="text1"><a href="<?php echo $menuActualLink1; ?>"><?php echo $menuLink1; ?><span>&raquo;<?php echo $menuLinkDesc1; ?></span></a></div> 
<div id="text2"><a href="<?php echo $menuActualLink2; ?>"><?php echo $menuLink2; ?><span>&raquo;<?php echo $menuLinkDesc2; ?></span></a></div> 
<div id="text3"><a href="<?php echo $menuActualLink3; ?>"><?php echo $menuLink3; ?><span>&raquo;<?php echo $menuLinkDesc3; ?></span></a></div> 

3)myClass.php(類實際上做的所有工作)

這我在哪裏卡住。我幾乎設法顯示所有記錄,但這不是我的目標。 我的目標是獲取所有記錄,以填補我所有的佔位符(所以我相信環statment會在這種情況下需要)

public static function getList($numRows=1000000, $order="menuLinkID ASC") { 
$conn = new PDO(DB_dsn, DB_Uname, DB_pass); 
$sql = "SELECT SQL_CALC_FOUND_ROWS *, menuLinkID AS id FROM myTABLE 
     ORDER BY " . mysql_real_escape_string($order) . " LIMIT :numRows"; 

$st = $conn->prepare($sql); 
$st->bindValue(":numRows", $numRows, PDO::PARAM_INT); 
$st->execute(); 
$list = array(); 

我不知道如何做到這一點。如果您能就此提出建議,我將不勝感激。

+0

你有沒有試過[bind_result](http://php.net/manual/en/mysqli-stmt.bind-result.php)? – Manatax 2013-02-25 23:37:19

回答

0

雖然很難進入你的結構(這看起來很不尋常),但我會嘗試。

public static function getList() { 
    global $conn; //connect somewhere else and use one connection everywhere 
    $sql = "SELECT * FROM myTABLE ORDER BY menuLinkID ASC"; 
    $st = $conn->prepare($sql); 
    $st->execute(); 
    return $st->fetchAll(); 
} 

(你也可以定義在構造函數PDO連接,因此使用的$this->conn不是全局)

然後在指數

$data['menulinks'] = $yourClass->getList(); 

然後在模板

<?php foreach($data['menulinks'] as $i => $row): ?> 
<div id="text<?php echo $i+1; ?>"> 
    <a href="<?php echo $row['menuActualLink1']; ?>"> 
    <?php echo $row['menuLink1']; ?> 
    <span>&raquo;<?php echo $row['menuLinkDesc1']; ?></span> 
    </a> 
</div> 
<?php endforeach ?> 
相關問題