好的,所以,你们对我的上一期非常有帮助,所以,为什么不再试一次?
我有一个页面,我试图以交替的方式显示表格中的记录(左对齐右对齐)。虽然我知道预处理语句的重要性等等,但我需要在清理代码之前看到它正常工作(称之为我的OCD)。
我在显示任何记录时遇到问题。基本上,我在可滚动的foreach
内运行div
循环,希望它能获取每条记录并正确显示它们。
思想?
<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>
答案 0 :(得分: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 :(得分:0)
这样的事情会让你朝着正确的方向前进:
foreach ($result as $i => $row) {
$class_name = ( $i % 2 == 0 ? 'left' : 'right' );