簡體   English   中英

數組php和數據庫mysql保存數據

[英]Array php and database mysql saving datas

我在處理數組時遇到麻煩。 它實際上出現在頁面上:多行形式。 每行對應於數據庫中的一條記錄,因此它們都有一個共同的分母。

更感謝javascript,我可以隨時添加字段。

我遇到的麻煩是在記錄數據時。 實際上,我認為起初我應該delete所有內容,然后再insert因此只需要執行以下查詢:

<?php if(isset($_POST['enreg']))
{

foreach($_POST['data'] as $data){
    if (!empty($data['code_s'])){
$sql2="DELETE FROM scenarii WHERE code_s='".mysql_real_escape_string($_GET['code_s'])."'";
mysql_query($sql2) or die(__LINE__.mysql_error().$sql2);    

$sql7 = '
INSERT INTO  scenarii SET 
code_s              = "'.mysql_real_escape_string($data['code_s']).'", 
titre               = "'.mysql_real_escape_string($data['titre']).'",
action              = "'.mysql_real_escape_string($data['action']).'", 
libelle             = "'.mysql_real_escape_string($data['libelle']).'",
jour                = "'.mysql_real_escape_string($data['jour']).'"' ;    
mysql_query($sql7) or die(__LINE__.mysql_error().$sql7);

    } 
  } 
}
?>

令人擔心的是,已刪除的信息不會再次存儲(盡管它們以表單的形式存在,因此它們位於變量中,因此它們是變量。

實際上,它僅保存javascript中的新行。

麻煩在於我不能僅僅因為有新行而進行更新。

<?php if(isset($_POST['enreg']))
{
$sql2="DELETE FROM scenarii WHERE code_s='".mysql_real_escape_string($_GET['code_s'])."'";
mysql_query($sql2) or die(__LINE__.mysql_error().$sql2);  
foreach($_POST['data'] as $data){
if (!empty($data['code_s'])){

$sql7 = '
INSERT INTO  scenarii SET 
code_s              = "'.mysql_real_escape_string($data['code_s']).'", 
titre               = "'.mysql_real_escape_string($data['titre']).'",
action              = "'.mysql_real_escape_string($data['action']).'", 
libelle             = "'.mysql_real_escape_string($data['libelle']).'",
jour                = "'.mysql_real_escape_string($data['jour']).'"' ;    
mysql_query($sql7) or die(__LINE__.mysql_error().$sql7);

} 
} 
}
?>

將刪除查詢放在foreach循環之前

經過幾個小時的測試,我發現每個請求都在刪除循環中,因此它在全部重新注入之后都刪除了所有內容,這就是為什么我只有最后一個輸入時間。

現在,我刪除了所有內容,然后全部重新注入。 它正常工作。

我不明白的是,我之前從未見過。

感謝大家的幫助。

暫無
暫無

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

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