我用什么DB来更新应用程序中的事件?

时间:2011-11-16 06:51:23

标签: iphone ios database sqlite

我一直在网上试图找出一种方法,我可以通过新事件向我正在构建的iPhone应用程序发送更新。我很确定我可以用SQLite来做,但我没有找到任何可以提供帮助的教程。如果有人能给我一个线索,我将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,您希望能够在启动时检查数据库是否有任何新更新,如果是,请在新视图中向用户显示该事件并允许他们添加日历事件?

答案 1 :(得分:0)

现在这里有一段代码

// Create URL and gather parameter's to send to the server's php file

NSString *strURL = [NSString stringWithFormat:@"http://www.yoursite.com/checkForUpdates.php?lastUpdated=%@", lastUpdated];

// Send data to php file

NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString: strURL]];

// Store the data returned from the php file

NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

让您的服务器运行后,这就是您开始接收服务器更新所需的所有代码。一种方法是创建一个数据库,其中包含所有更新数据以及添加的日期和时间。在您的服务器上创建一个php文件,该文件接收我们刚发送的数据(包含最后一次更新)。 php文件看起来像这样:

<?php
   // Database Data
$db_host = 'localhost';
$db_user = 'userName';
$db_pwd = 'password';

// Updates database
$database = 'updates_Database';

// check connection to database
if(!mysql_connect($db_host, $db_user, $db_pwd)) 
    die("Cant connect to database");

// check selection of database
if(!mysql_select_db($database))
die("Can't select database");

// Get values from the URL's(Just requested by app) 
$lastUpdated = $_GET['lastUpdated'];

// Query database for updates made after the user's last update
$sql_Query = mysql_query("SELECT * FROM Updates
WHERE dateAdded > '$lastUpdated'");
?>

这会将您登录到您的数据库,获取您刚刚从应用程序发送的数据(lastUpdated),并将其与数据库中的更新进行比较。然后,您可以使用mysql_fetch_array($sql_Query)

从查询中获取数据

最后,当您完成所有数据后,您可以直接:echo($myData);将您的数据作为NSString发送回您的应用程序正如我之前所说,一些开发人员真的喜欢使用JSON来完成部分因为它非常简单且可扩展,但我现在并不需要它。我希望这可以帮助你解决问题!如果您需要澄清,请告诉我。