2014-01-09 32 views
0

的交替記錄好的,所以,你們對我最後一個問題非常有幫助,那麼,爲什麼不再試一次呢?PHP顯示

我有一個頁面,我試圖以交替的樣式顯示錶中的記錄(左對齊和右對齊)。雖然我知道準備好的語句等的重要性,但在清理代碼之前(我們稱之爲OCD),我只需要看到它正常工作。

我有問題獲取任何記錄顯示。實質上,我在一個可滾動的div內部運行一個foreach循環,希望它獲取每條記錄並適當地顯示它們。

想法?

<div style="height:450px; overflow:auto;"> 
<?php 
//$gID = sprintf("%d", $_GET['gearID']); 
$query = "SELECT * FROM GearTable"; 
$result = mysql_query($query); 
$num_rows = mysql_num_rows($result); 

/*trick the items into aligning left or right in alternating pattern*/ 
$x++; 
$align = ($x%2 == 0)? 'left': 'right'; 

//if rows exist 
if ($num_rows > 0) 
{ 
    foreach ($result as $row) 
    { 
     echo " 
       <div style='margin-top:8px;'> 
        <img src='{$row['GearImgLoc']}' width='200' align='left' class='imgGear'> 
        <h2>{$row['GearName']}</h2> 
        <p class='textP'><b>Gear Manufacturer:</b> {$row['GearMFG']}</p> 
        <p class='textP'><b>Gear Description:</b> {$row['GearDesc']}</p> 
        <p><span class='posted'>Date Posted: {$row['DatePosted']} | Posted By: {$row['PostedBy']}</span></p> 
        <p><a href='gear.php?type=edit&id={$row['GearID']}'>Edit</a> | <a href='gear.php?type=delete&id={$row['GearID']}'>Discard</a> | <a href='preview.php?gearID={$row['GearID']}'>Preview</a></p> 
       </div> 
      "; 
    } 
} 
else 
{ 
    echo "No Records Available At This Time"; 
} 
?> 
</div> 
+2

當然你想'$ x ++; $ align =($ x%2 == 0)? 'left':'right';'在你的'foreach'循環中? –

+0

我想這是有道理的。 –

+2

您需要使用Mysql_fetch_array或其他命令來獲取結果,以便嘗試使用while($ row = mysql_fetch_array($ result))來嘗試使用foreach($ result作爲$ row) – Goikiu

回答

2

您需要使用mysql_result()才能使用結果對象。

例如:

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3"; 
$result = mysqli_query($link, $query); 

/* numeric array */ 
$row = mysqli_fetch_array($result, MYSQLI_NUM); 

從PHP文檔兩者。

欲瞭解更多信息:http://www.php.net/manual/en/class.mysqli-result.php

只是爲了這個問題的緣故:

這是它是如何工作使用MySQL(這是不贊成PHP 5.5.0的,因此,我建議你移動到庫MySQLi或PDO儘快):

mysql_connect("localhost", "mysql_user", "mysql_password") or 
    die("Could not connect: " . mysql_error()); 
mysql_select_db("mydb"); 

$result = mysql_query("SELECT id, name FROM mytable"); 

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    printf("ID: %s Name: %s", $row[0], $row[1]); 
} 

mysql_free_result($result); 
+1

他使用mysql而不是mysqli語句。 – Goikiu

+0

沒有什麼變化,它們仍然是相同的函數,沒有提及MySQL已棄用@Goikiu。 – GiamPy

+0

是否被棄用,但是在使用你的代碼之前他需要改變其他東西;)你可以解釋爲什麼,這對他有幫助。 – Goikiu

0

像這樣的東西應該讓你在正確的方向:

foreach ($result as $i => $row) { 

    $class_name = ($i % 2 == 0 ? 'left' : 'right');