我目前正在开发一个iOS应用程序,它从mySQL数据库获取信息并将其输出到JSON,而JSON又显示在UITableView中。我希望能够删除UITableView的一行,这也会删除数据库中的相应行。我知道我需要使用这个功能:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
[_wordsArray removeObjectAtIndex:indexPath.row];
[self.editTableView reloadData];
}
我不确定它是如何工作的,我知道我必须使用PHP脚本才能从数据库中删除该行。在iOS方面需要做些什么?谁能指出我正确的方向? 提前谢谢。
答案 0 :(得分:1)
在iOS方面需要做些什么?
这是一个非常广泛的问题。您必须更具体地了解您需要帮助的内容。
一般来说,这是需要做的事情,我相信你已经知道了。
如果您需要代码示例,请将其谷歌给我。
答案 1 :(得分:0)
使用mySQL数据库保存我的数据并使用数组访问iOS级别的表格。我从数据库中插入,更新和删除记录的方法如下:
sqlite3_statement
来返回包含一条记录的数组。此方法类似于:示例强>
/**
* From the parameter list, an array is produced in Entry format
* @param [in] statement incoming value from previous call sqlite3_step(..) == SQLITE_ROW
* @return NSArray: Entry format
*/
static inline NSMutableArray * SQLStatementRowIntoEntryEntry( sqlite3_stmt *statement) {
...
return [NSMutableArray arrayWithObjects: stringSubject, date dateCreated, stringBody, emotion, weatherCondition, temperature isBookmarked, [NSMutableDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt: sqlite3_column_int( statement, SQL_ENTRIES_id)], @"id", nil], nil];
};
我如何从mySQL记录中保存id键,将其作为最后一个对象放在字典中,所以当我在iOS级别使用该数组时,它有点不受欢迎。但是,只要我想从数据库中更新或删除此记录,就可以了。
从iOS级别更新和删除记录因此,因为每个记录的ID都保存在数组中,这使得更新或删除数据库中的记录变得非常容易。在您的查询中,您有类似的内容:
NSString *sqlStatement = [NSString stringWithFormat: @"UPDATE Entries SET subject = \"%@\", date = \"%@\", dateCreated = \"%@\", body = \"%@\", emotion = %d, weatherCondition = %d, temperature = %d, isBookmarked = %d, diaryID = %d where id = %d;", [[arrayEntry objectEntry_subject] stringByReformatingForSQLQuries], [dateFormatter stringFromDate: [arrayEntry objectEntry_date]], [dateFormatter stringFromDate: [arrayEntry objectEntry_dateCreated]], [[arrayEntry objectEntry_body] stringByReformatingForSQLQuries], [arrayEntry objectEntry_emotion], [arrayEntry objectEntry_weatherCondition], [arrayEntry objectEntry_temperature], [arrayEntry objectEntry_isBookmarked], [[[[[arrayEntry optionsDictionary] objectForKey: @"diary"] optionsDictionary] objectForKey: @"id"] intValue], [[[arrayEntry lastObject] objectForKey: @"id"] intValue]];
您想要的是[[[arrayEntry lastObject] objectForKey: @"id"] intValue]
取代.. where id = %d;
来更新或删除记录。
我希望这有帮助,并且可以提出任何问题,我复制并粘贴了我的项目中的代码
答案 2 :(得分:0)
您可以将数据库查询字符串传递给您的php脚本。
NSString * sqlquery = [NSSring sringwithFormate:@" DELETE FROM tabel_name WHERE tabel_id =' your_tabel_row_id'"];
在此tabel_id中是您要删除的数据库行ID,your_tabel_row_id是帮助您从数据库中删除记录的标识符。