Php 选择随机行,更新列,如图所示
我希望有一个列名为“seen”的行,那么该列的默认值为no或“yes” 所以Php 选择随机行,更新列,如图所示,php,mysql,Php,Mysql,我希望有一个列名为“seen”的行,那么该列的默认值为no或“yes” 所以 抓住一排以前从未“看到”过的地方 将上面的行“seed column”更新为“yes” 如果所有行的值均为“是”,则会显示通知/错误: 您已成功完成所有编号 我已经尽了最大的努力去实现它,但是它不起作用。我认为我处理这个问题的逻辑可能不正确 include 'DB.php'; $con = mysqli_connect($host,$user,$pass); $dbs = mysqli_sele
include 'DB.php';
$con = mysqli_connect($host,$user,$pass);
$dbs = mysqli_select_db($databaseName, $con);
// Grabs one row where it hasn't been seen before
$query = mysqli_query("SELECT number, association, image_file, skeleton, sound, colour, comments FROM num_image WHERE seen='' ORDER by rand() LIMIT 1");
// Updates the above row with the 'seen' column saying 'yes''
$query = mysqli_query("UPDATE num_image SET seen = yes");
// Fetches Result
$thestuff = mysqli_fetch_row($query);
$seenme=$_POST['seen']; // get value of 'seen' column
$result = mysqli_query("SELECT * FROM num_image where seen=$seenme");
// Trying to delivery a message if the enitre 'seen' column is ALL yes.
while($row = mysqli_fetch_row($result))
{
if($row['seen'] == 'yes')
{ // All numbers seen
echo 'You have successfully completed all numbers.';
echo json_encode($thestuff);
}
else
{ // Show numbers
echo json_encode($thestuff);
}
}
SELECT和UPDATE行是否也必须是if语句?
干杯您必须避开更新语句中的值:
$query=mysqli\u query(“更新num\u图像集seen='yes'”
$query=mysqli\u query(“updatenum\u image SET seen=yes”)代码>您知道这将更新表中的所有行吗?…如果它曾经到达那里。@AgamBanga我如何只更新所选的SELECT'ed记录?有没有办法将两者联系起来?您似乎一直在尝试将您的代码从mysql转换为mysqli;它在很多方面都失败了。您应该先阅读手册。@aussiedan您需要从选择查询中获取一些主键(在您的情况下可能是数据库增量id)
,然后将其传递到更新中的位置