// $link = mysqli_connect($host, $user, $pass, $db_name);
function setNewColor($link) {
$query = "SELECT * FROM colors";
$result = mysqli_query($link, $query);
for ($data = []; $row = mysqli_fetch_assoc($result); $data[] = $row);
mysqli_free_result($result);
for ($i=0;$i<count($data);$i++) {
if ($data[$i]['state'] == 1) {
//print_r($data[$i]);
$id = $data[$i]['id'];
$query = "UPDATE colors SET state = 0 WHERE id=$id";
$result = mysqli_query($link, $query);
//Если state = 1 у последнего цвета, меняем state у первого, иначе меняем state у i++ (следующего).
if ($i == count($data)-1) {
$id = $data[0]['id'];
$query = "UPDATE colors SET state = 1 WHERE id = $id";
$result = mysqli_query($link, $query);
} else {
$id = $data[$i++]['id'];
$query = "UPDATE colors SET state = 1 WHERE id = $id";
$result = mysqli_query($link, $query);
}
break;
}
}
}
function setNewColor($link) {
$query = "SELECT * FROM colors";
$result = mysqli_query($link, $query);
for ($data = []; $row = mysqli_fetch_assoc($result); $data[] = $row);
mysqli_free_result($result);
$i;
$id;
for ($i=0;$i<count($data);$i++) {
if ($data[$i]['state'] == 1) {
//print_r($data[$i]);
$id = $data[$i]['id'];
break;
}
}
$query = "UPDATE colors SET state = 0 WHERE id=$id";
$result = mysqli_query($link, $query);
//Если state = 1 у последнего цвета, меняем state у первого, иначе меняем state у i++ (следующего).
if ($i == count($data)-1) {
$id = $data[0]['id'];
$query = "UPDATE colors SET state = 1 WHERE id = $id";
$result = mysqli_query($link, $query);
} else {
$id = $data[$i++]['id'];
$query = "UPDATE colors SET state = 1 WHERE id = $id";
$result = mysqli_query($link, $query);
}
}
Вот результат селекта:
код с селектом строки и выводом результата
Вот результат апдейта этой же самой строки:
код с апдейтом и выводом результата