MYSQL代码
CREATE TABLE `images` (
`id` bigint(20) NOT NULL,
`merek` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT '',
`url` varchar(220) COLLATE latin1_general_ci NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
INSERT INTO `images` (`id`, `merek`, `url`) VALUES
(1, 'gelang', 'Untitled-1.jpg'),
(2, 'gelang', 'Untitled-2.jpg'),
(3, 'gelang', 'Untitled-3.jpg'),
(4, 'gelang', 'Untitled-4.jpg'),
(5, 'gelang', 'Untitled-5.jpg');
和PHP代码
<?php
$counter = 0;
$max = 2;
$query = "SELECT * FROM images ORDER BY RAND()";
$result = $mysqli->query($query);
while($row = $result->fetch_array(MYSQLI_BOTH) and ($counter < $max)){
$url=$row['url'];
echo $url;
echo "and";
}
?>
也许结果会像这样
Untitled-2.jpg
和Untitled-5.jpg
以及
我想拆分Untitled-2.jpg
和Untitled-5.jpg
。因此,Untitled-2.jpg
使用class="first"
。并Untitled-5.jpg
使用class="second"
。喜欢这个
.....
while($row = $result->fetch_array(MYSQLI_BOTH) and ($counter < $max)){
$url=$row['url'];
echo "<img src=$url class="first">;
echo "<img src=$url class="second">;
}
?>
我可以将数据与while()分开吗?
答案 0 :(得分:2)
您需要在$counter
循环中增加while
值。
然后,您可以添加条件以添加所需的类。以下是更新后的代码:
while($row = $result->fetch_array(MYSQLI_BOTH) and ($counter < $max)){
$url=$row['url'];
$class = ($counter == 0) ? 'first' : 'second';
echo "<img src='$url' class='$class'>";
$counter++;
}
答案 1 :(得分:2)
在while循环中添加一个计数器。
检查奇怪的情况。
new FunctionYouPassedToService()
答案 2 :(得分:0)
这是最简短的方法
在while循环中写下这一行,并在img标记中定义$ className。
$ className =($ url =='Untitled-2.jpg')? '第一': (($ url =='Untitled-5.jpg')?'second':'');
修改:
<?php
$query = "SELECT * FROM images ORDER BY RAND()";
$result = $mysqli->query($query);
while($row = $result->fetch_array(MYSQLI_BOTH)){
$url = $row['url'];
$className = ($url=='Untitled-2.jpg') ? 'first' : (($url=='Untitled-5.jpg') ? 'second' : '');
echo "<img src=$url class=$className>";
}
?>