J'essaie de télécharger une série de lignes depuis ma base de données MySql, à travers une application de cacao que je développe. J'utilise un php qui reçoit un index de mon application et renvoie toutes les lignes jusqu'à cet index. Mon code de cacao est:Récupération de la base de données MySql à partir de l'application Cocoa - Mise en pont PHP
NSInteger index = 0;
NSString *urlString = [NSString stringWithFormat:@"http://localhost/test.php?index=%d&", index];
NSArray *items = [NSArray arrayWithContentsOfURL:[NSURL URLWithString: urlString]];
NSLog(@"%@", [items description]);
Lorsque le php reçoivent la variable index
GET
il exécute ce code:
$index = $_GET['index'];
$Keys = array(...);
mysql_connect($Host, $User, $Password) or die("Unable to connect to database");
mysql_select_db($Database) or die("Unable to select database");
$result = mysql_query("SELECT * FROM transactions where id > $index ORDER BY id");
$plist = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$plist .= "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n";
$plist .= "<plist version=\"1.0\">\n";
$plist .= "<array>\n";
while($row = mysql_fetch_array($result)) {
$plist .= "\t<dict>\n";
foreach($Keys as $key){
$plist .= "\t\t<key>$key</key>\n";
$plist .= "\t\t<string>$row[$key]</string>\n";
}
$plist .= "\t</dict>\n";
}
$plist .= "</array>\n";
$plist .= "</plist>";
echo $plist;
unset($_GET['index']);
Tout cela fonctionne très bien s'il y a jusqu'à 30 lignes de index
et le dernier id de la base de données! Si, à partir de mon code cacao, je mets index
pour demander jusqu'à 30 lignes ou que je mets index
à zéro (pour demander toute la base de données) ... l'objet NSArray
ne contient rien!
Qu'est-ce que je fais mal?
Merci pour la suggestion! – BitDrink