我有以下查询
<?php
$query = "SELECT * FROM mytable";
$result = mysql_query($query);
?>
<?php while ($row = mysql_fetch_assoc($result)) { ?>
if first row, add id = "thumb1"
<a id="thumb1" href='address' onclick="...">
<img src='<?php echo 'Index_Images/image_thumb_' . $row['IMG_IDENTIFIER'] . '.jpg'; ?>' />
</a>
<?php else ?>
<a id="others" href='address' onclick="...">
<img src='<?php echo 'Index_Images/image_thumb_' . $row['IMG_IDENTIFIER'] . '.jpg'; ?>' />
</a>
<?php
}
?>
我想知道如何测试mysql_fetch_assoc
中的第一行,如果可能的话。
谢谢。
答案 0 :(得分:3)
使用变量$i
,它在每个循环中递增。
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
if ($i == 0) {
echo 'first row';
}
echo ...;
$i++;
}
答案 1 :(得分:2)
尝试:
// ...
$first = true;
while ($row = mysql_fetch_assoc($result)) {
if ($first) {
// code with thumb1
} else {
// code with others
}
$first = false;
}
// ...
另外我会考虑使用PDO或mysqli或某些ORM而不是mysql。
如果你以后将params放入查询记住转义 - 不是esacping是在php中使用mysql进行sql注入漏洞的最常见方法之一。
答案 2 :(得分:1)
<?php
$query = "SELECT * FROM mytable";
$result = mysql_query($query);
$i = 1;
?>
<?php while ($row = mysql_fetch_assoc($result)) { ?>
<?php if($i == 1) {
if first row, add id = "thumb1"
<a id="thumb1" href='address' onclick="...">
<img src='<?php echo 'Index_Images/image_thumb_' . $row['IMG_IDENTIFIER'] . '.jpg'; ?>' />
</a>
<?php }else{ ?>
<a id="others" href='address' onclick="...">
<img src='<?php echo 'Index_Images/image_thumb_' . $row['IMG_IDENTIFIER'] . '.jpg'; ?>' />
</a>
<?php
}
$i++;
}
?>
检查一下,如果有效。