我在通过ajax更新行时遇到问题,查询影响所有行而不是我给出的单个id
这是我的模型类功能:
public function edit_season($data)
{
// echo $a = json_encode($data);
// echo $a->id;
// die();
$this->db->get_where('seasons', array('season_id ' => 11 ));
$query = $this->db->update('seasons',array('names ' => $data['name'] ));
if ($query)
{
return $query;
}
else
{
return FALSE;
}
}
我还检查了我从ajax得到的数据是对的,但我猜查询事情有一些问题我甚至硬编码了id值仍然是更新所有名称而不是一个。
答案 0 :(得分:4)
$this->db->where('season_id', 11));
$query = $this->db->update('seasons', array('names ' => $data['name']));
这是在更新查询时放置where
条件的正确方法。
get_where
和where
之间存在差异。
get_where
将从表中检索数据行,而where
将添加条件
答案 1 :(得分:1)
你不应该调用get_where,而是使用where:
timeoutTimer.Change(Timeout.Infinite, Timeout.Infinite); // Reset timeout.
您也可以在一行中完成:
$this->db->where('season_id', 11);
$query = $this->db->update('seasons',array('names ' => $data['name'] ));
答案 2 :(得分:0)
试试这个
private int cX=0;
private int cY=0;
//Randomly set coordinates on the array.
for(int i=0; i<1; i++){
int x = randGen.nextInt(9);
int y = randGen.nextInt(9);
if (board [x][y].display()=='.'){
CX=x;
CY=y;
}
}
//Print array
private void displayArray(){
for (int i = 0; i < board.length; i++){
for (int j = 0; j < board[i].length; j++){
if ((i==CX)&&(j==CY))
System.out.print("C"+"\t");
else
System.out.print(board [i][j].display()+"\t");
}
System.out.println("\n");
}
}