簡體   English   中英

如何使用多個id更新mysql中的多個記錄

[英]How to update multiple records in mysql with multiple ids

我有一個html表單,其中有2 * 12個輸入字段,其中name =“links []”和name =“ids []”...我想使用這12個ID更新列'鏈接',我知道我們知道了需要一個循環。 但不知道如何進行sql查詢。

$ids=mysqli_real_escape_string($conn, $_POST['ids']);
    foreach($ids as $id){....}
$links=mysqli_real_escape_string($conn, $_POST['links']);
    foreach($links as $link){....}

$sql="update query.....";

編輯:

它適用於兩個變量$ id和$ season但是當我添加兩個以上的變量如$ episode等時它不起作用。 它不會執行其他變量,只會執行前兩個變量,並將$ season的值設置為表中所有條目的1或有時為0。

for($i=0 ; $i<count($record['id']); $i++){
  $id=mysqli_real_escape_string($conn, $record['id'][$i]);
  $season=mysqli_real_escape_string($conn, $record['season'][$i]);
  $episode=mysqli_real_escape_string($conn, $record['episode'][$i]);
  $rel_id=mysqli_real_escape_string($conn, $record['rel_id'][$i]);
  $link=mysqli_real_escape_string($conn, $record['link'][$i]);

  //sQl Query
  $sql = "UPDATE series SET season='$season' and episode='$episode' and rel_id='$rel_id' and link='$link' WHERE id='$id'";
    if ($conn->query($sql) === TRUE) {} 
        else { echo "Error: " . $sql . "<br>" . $conn->error; };
$ids=mysqli_real_escape_string($conn, $_POST['ids']);
    foreach($ids as $key => $id){
        $sql="update tablename set fieldname=value where link=$_POST[links][$key] and id=$id";
    }

這可能會奏效。 如果不給我更多細節。

請嘗試以下代碼。

<form name="rec" id="rec" method="post">
<input type="text" name="reord[id][]">
<input type="text" name="reord[season][]">
<input type="text" name="reord[episode][]">
<input type="text" name="reord[rel_id][]">
<input type="text" name="reord[link][]">
<br/>

<input type="text" name="reord[id][]">
<input type="text" name="reord[season][]">
<input type="text" name="reord[episode][]">
<input type="text" name="reord[rel_id][]">
<input type="text" name="reord[link][]">

<br/>


<input type="text" name="reord[id][]">
<input type="text" name="reord[season][]">
<input type="text" name="reord[episode][]">
<input type="text" name="reord[rel_id][]">
<input type="text" name="reord[link][]">

</br>

<input type="submit" name="submit"  value="submit">
</form>

<?php
if(isset($_POST['submit'])){
    $record = $_POST['reord'];
    $id = $season = $episode = $rel_id = $link = '';
    for($i=0 ; $i<count($record['id']); $i++){
         $id= mysqli_real_escape_string($conn, $record['id'][$i]);
         $season=mysqli_real_escape_string($conn, $record['season'][$i]);
         $episode=mysqli_real_escape_string($conn, $record['episode'][$i]);
         $rel_id=mysqli_real_escape_string($conn, $record['rel_id'][$i]);
         $link= mysqli_real_escape_string($conn, $record['link'][$i]);
         echo $sql = "UPDATE series SET season='$season' and episode='$episode' and rel_id='$rel_id' and link='$link' WHERE id=$id";
        $conn->query($sql);
    }
}
?>
UPDATE `tablename` SET `fieldname` = CASE
    WHEN id = 1 AND xyz = 3 THEN `value 1`
    WHEN id = 2 AND xyz = 3 THEN `value 2`
    WHEN id = 3 AND xyz = 3 THEN `value 3`
    END

在描述的場景中,我將使用SET-WHEN-THEN查詢

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM