2017-04-27 70 views
1

我想要一列名爲'seen'的列,那麼此列將具有默認值無值或'是'值。選擇隨機行,如圖所示更新列

所以..

  1. 搶一排它尚未 '看到' 了。
  2. 更新上面一行「看過的列」來說'是'。
  3. 如果所有行的值均爲'yes',則顯示通知/錯誤: 您已成功完成所有數字。

我試過盡我所能做到的最好,但它不工作。我認爲我在解決這個問題上的邏輯可能不正確?

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語句? 乾杯

+0

'$查詢= mysqli_query( 「UPDATE num_image SET看到= YES」);'你知道,這將更新所有桌子的排? –

+0

......如果它到達那裏。 –

+0

@AgamBanga我如何只更新所選的SELECT'ed記錄?有沒有辦法將兩者連接在一起? – aussiedan

回答

0

你要逃跑的更新語句中值:

$query = mysqli_query("UPDATE num_image SET seen = 'yes' ");