Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在while()中划分数据?_Php_Mysql_Sql - Fatal编程技术网

Php 如何在while()中划分数据?

Php 如何在while()中划分数据?,php,mysql,sql,Php,Mysql,Sql,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

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";
    }
?>
我可以将数据与while分开吗?

您需要在while循环中增加$counter值

然后可以添加一个条件来添加所需的类。更新代码如下:

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++;
}
您需要在while循环中增加$counter值

然后可以添加一个条件来添加所需的类。更新代码如下:

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++;
}

在while循环中添加一个计数器

并检查奇偶条件

$i=0;
while($row = $result->fetch_array(MYSQLI_BOTH) and ($counter < $max)){
  $url=$row['url'];
  $class = ($i%2 == 0) ? 'first' : 'second';
  echo "<img src='$url' class='$class'>";
  ++$i;
}

在while循环中添加一个计数器

并检查奇偶条件

$i=0;
while($row = $result->fetch_array(MYSQLI_BOTH) and ($counter < $max)){
  $url=$row['url'];
  $class = ($i%2 == 0) ? 'first' : 'second';
  echo "<img src='$url' class='$class'>";
  ++$i;
}
这是最短的方法

在while循环中写入这一行,并在img标记中定义$className

$className=$url=='Untitled-2.jpg'?'第一‘: $url=='Untitled-5.jpg'?'第二个':

修改:

这是最短的方法

在while循环中写入这一行,并在img标记中定义$className

$className=$url=='Untitled-2.jpg'?'第一‘: $url=='Untitled-5.jpg'?'第二个':

修改:


您的答案不满足此条件。如果未命名为-2.jpg,则使用class=first。和Untitled-5.jpg use class=second,这是OP发布的一个示例。您可以在问题中看到示例DB值。如果它是硬编码的,它将不起作用。你的答案不满足这个条件。如果未命名为-2.jpg,则使用class=first。和Untitled-5.jpg use class=second,这是OP发布的一个示例。您可以在问题中看到示例DB值。如果它是硬编码的,它就不会工作。