亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

添加之后保存不了,提示插入失敗,在調試LAST_INSERT_ID的時候彈出id是0

$(function()?{

	var?g_table?=?$("table.data");???//全局變量
	var?init_data_url?=?"data.php?action=init_data_list";??????????
	$.get(init_data_url,function(data)?{
		var?row_items?=?$.parseJSON(data);???????//用json格式接收
		//相當于for(var?i=0;j=row_items.length;i<j;i++)
		for?(var?i?=?0;?i?<?row_items.length;?i++)?{??????????//不用for?in是因為它遍歷數組的同時遍歷里面的方法
			var?data_dom?=?create_row(row_items[i]);
			g_table.append(data_dom);
		}
	});
	
	function?delHandler()?{
		var?data_id?=?$(this).attr("dataid");
		var?meButton?=?$(this);
		$.post("data.php?action=del_row",{dataid:data_id},function(res)?{
			if?(res?==?"ok")?{
				$(meButton).parent().parent().remove();??????????//meButton不能用this代替,這里涉及到閉包,this不指向刪除按鈕
			}?else?{
				alert("刪除失敗...");
			}
		});
	}

	function?create_row(data_item)?{
		var?row_obj?=?$("<tr></tr>");
		for(var?k?in?data_item)?{?????//枚舉對象中的元素,K獲得每個屬性的名
		//	alert(typeof?k);
			if?("id"?!=?k)?{??????????????//相當于k!=id,忽略id
				var?col_td?=?$("<td></td>");
				col_td.html(data_item[k]);
				row_obj.append(col_td);
			}
		}

		var?editButton?=?$("<a?href='javascript:;'?class='optLink'>編輯&nbsp;</a>");
		editButton.click(delHandler);

		var?delButton?=?$("<a?href='javascript:;'?class='optLink'>刪除&nbsp;</a>");
		delButton.attr("dataid",data_item['id']);?????????//為什么這里id要加引號???????????
		delButton.click(delHandler);
		var?opt_td?=?$("<td></td>");
		row_obj.append(opt_td);
		opt_td.append(editButton);
		opt_td.append(delButton);
		return?row_obj;
	}

	$("#addBtn").click(function()?{
		var?addRow?=?$("<tr></tr>");
		for(var?i?=?0;?i?<?8?;?i++?)?{
			var?col_td?=?$("<td><input?type='text'?class='txtField'></a></td>");
			addRow.append(col_td);
		}

		var?col_opt?=?$("<td></td>");

		var?confirmBtn?=?$("<a?href='javascript:;'?class='optLink'>確認&nbsp;</a>");

		confirmBtn.click(function()?{
			var?currentRow?=?$(this).parent().parent();
			var?input_filelds?=?currentRow.find("input");
			var?post_fields?=?{};
			for(var?i?=?0?;?i?<?input_filelds.length;?i++)?{
				post_fields['col_'?+?i]?=?input_filelds[i].value;
			}
			$.post("data.php?action=add_row",post_fields,function(res)?{
				if?(res?>?0)?{
					post_fields['id']?=?res;
					var?postAddRow?=?create_row(post_fields);
					currentRow.replaceWhitn(postAddRow);
				}?else?{
					alert("插入失敗...");
				}
			});
		});

		var?canselBtn?=?$("<a?href='javascript:;'?class='optLink'>取消</a>");

		canselBtn.click(function()?{
			$(this).parent().parent().remove();
		});

		col_opt.append(confirmBtn);
		col_opt.append(canselBtn);

		addRow.append(col_opt);

		g_table.append(addRow);
	});

});
<?php?
header('content-type:text/html;charset=utf8');
//header("Content-Type:?application/json;charset=utf-8");??????會出錯?。。?
$action?=?$_GET['action'];?????????//路由
switch($action)?{
case?'init_data_list':
	init_data_list();
	break;
case?'add_row';
	add_row();
	break;
case?'del_row';
	del_row();
	break;
case?'edit_row';
	edit_row();
	break;
}


function?init_data_list()?{
	$sql?=?"SELECT?*?FROM?`et_data`";??????//注意,這里的``不是單引號!不然會輸出“bool[false]”,是Esc鍵下的"?`?",這里也可以不用這個括著
	$query?=?query_sql($sql);
	while?($row?=?$query?->fetch_assoc())?{
		$data[]?=?$row;
	}
	echo?json_encode($data);
}


function?del_row()?{
	$dataid?=?$_POST['dataid'];?????//取到前面的id
	//拼一段sql語句
	$sql?=?"DELETE?FROM?`et_data`?WHERE?`id`?=?"?.$dataid;
	if?(query_sql($sql))?{
		echo?"ok";
	}?else?{
		echo?"db?error..";
	}
}



function?add_row()?{
	$sql?=?'INSERT?INTO?`et_data`?(?`c_a`,`c_b`,`c_c`,`c_d`,`c_e`,`c_f`,`c_g`,`c_h`?)?VALUES(?';
	for($i?=?0?;?$i?<?8?;?$i++)?{
		$sql?.='\''.$_POST['col_'?.?$i]?.?'?\',?';????//錯誤寫法?$sql?.?='\''.$_POST['col_'?.?$i]?.?'?\',?';?連接符與賦值符號之間不能空格
	}
	$sql?=?trim($sql,",");????//去掉最后一個逗號
	$sql?.=?")";
	if($res?=?query_sql($sql,"SELECT?LAST_INSERT_ID()?as?LD")){
		$d?=?$res->fetch_assoc();
		echo?$d['LD'];
	}?else?{
		echo?"db?error?...";	
	}
	
}

function?query_sql()?{
	$mysqli?=?new?mysqli("127.0.0.1","root","root","etable");??//連接數據庫
	$sqls?=?func_get_args();
	foreach?($sqls?as?$s)?{
		$query?=?$mysqli->query($s);
	}
	$mysqli->close();
	return?$query;
}



??>

其它頁面代碼和老師的一樣的。


代碼是理解了老師的之后照著寫的,“保存”模塊代碼和老師的一模一樣還會出錯,有遇到同樣問題的嗎?

正在回答

2 回答

?$sql?=?trim($sql,", ");????//逗號后面有個空格

0 回復 有任何疑惑可以回復我~

對了,用詞不當,不是保存模塊,是按了“添加”之后寫了數據按“確認”插入數據出錯,

就是js文件那里的?$("#addBtn").click(function() {}函數 和PHP文件的function?add_row()?{}這個地方出錯

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

添加之后保存不了,提示插入失敗,在調試LAST_INSERT_ID的時候彈出id是0

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號