如何从数据库中检索图像并在UITableView单元格上显示

时间:2012-10-06 10:35:20

标签: sql xcode json image web-services

我在服务器(localhost)上有一个包含一个表的SQL数据库(DB-name:testdbb)。这是结构:

ID(Integer AutoIncrement)
Name(VARCHAR)
Message(TEXT)
Image(BLOB)

这是php脚本的代码(文件的名称是getJson.php):

<?php
$username = "root";
$database = "testdbb";

mysql_connect (localhost, $username);
@mysql_select_db ($database) or die ("ERROR");
$query = "SELECT *  FROM test";
$result = mysql_query($query) or die (mysql_error());
$num = mysql_numrows($result);
mysql_close();

while ($r = mysql_fetch_assoc($result)){
    $rows[] = $r;
}
echo json_encode ($rows);
?>

UIViewController的名称是CompteInternet。我定义了一个常量(#define KGetUrl @"http://localhost/getJson.php"),我在CompteInternet.m的实现中使用它。

这是UITableView

方法中的代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSURL *url = [NSURL URLWithString:KGetUrl];
    NSData *data = [NSData dataWithContentsOfURL:url];
}

我会像这样回复图像:

UIImage * image = [UIImage imageWithData:data];

检索图像后,我想在tableView

中显示它
cell.imageView.image = image;

但它不起作用,所以我添加UIImageView并将其命名为Image1,以便我可以显示图像:

[image1 setImage:image];

但它也不起作用。我使用NSDictionary尝试了另一种解决方案:

NSDictionary *info = [json objectAtIndex:indexPath.row];
cell.textLabel.text = [info objectForKey:@"Name"];

它向我展示了成功的结果,但它没有向我显示图像,我没有收到任何错误。

0 个答案:

没有答案