MySQL>

2 Cevap php

Ben json bir mysql sorgu dönüştürürken bu kodu vardır:

$sth = mysql_query('SELECT * FROM `staff` ORDER BY `id` DESC LIMIT 20') or die(mysql_error());
$rows = array();
while($r = mysql_fetch_array($sth)) {
    $rows[] = $r;
}
print json_encode($rows);

Harika çalışıyor, ama benim veritabanında, bir url alan, burada bir örnek json satır olduğu adres:

{"0":"4","id":"4","1":"Noter 2","name":"Noter 2","2":null,"desc":null,"3":"http:\/\/images.apple.com\/webapps\/productivity\/images\/noter2_20091223182720-thumb.jpg","iconurl":"http:\/\/images.apple.com\/webapps\/productivity\/images\/noter2_20091223182720-thumb.jpg","4":"1262032317","date":"1262032317","5":"dBelement, LLC","company":"dBelement, LLC","6":"http:\/\/dbelement.com\/","companyurl":"http:\/\/dbelement.com\/","7":"http:\/\/noter2.dbelement.com","appurl":"http:\/\/noter2.dbelement.com"},

Nasıl bu çevrede alabilirim?

2 Cevap

Ben "sorun" URL'leri backslashed varlığı olduğunu varsayalım?

Gibi:

http:\/\/images.apple.com\/webapps\/productivity\/images\/noter2_20091223182720-thumb.jpg

Eh, bu Javascript için bir sorun değil: bir Javascript nesnesi için JSON veri atamak deneyin ve bu URL birini görüntüler:

var data = {"0":"4","id":"4","1":"Noter 2","name":"Noter 2","2":null,"desc":null,"3":"http:\/\/images.apple.com\/webapps\/productivity\/images\/noter2_20091223182720-thumb.jpg","iconurl":"http:\/\/images.apple.com\/webapps\/productivity\/images\/noter2_20091223182720-thumb.jpg","4":"1262032317","date":"1262032317","5":"dBelement, LLC","company":"dBelement, LLC","6":"http:\/\/dbelement.com\/","companyurl":"http:\/\/dbelement.com\/","7":"http:\/\/noter2.dbelement.com","appurl":"http:\/\/noter2.dbelement.com"};
alert(data[3]);

URL doğru görüntülenir:

http://images.apple.com/webapps/productivity/images/noter2_20091223182720-thumb.jpg

Yani, ters eğik bir "sorun" değil ;-)


And, in fact, if you take a look at the "string" section of json.org, you'll see that slashes have to be backslashed for your string to be valid.

Ben burada bir sorun görmüyorum. Eğer merak ediyorsanız neden URL'ler şöyle:

http:\/\/www.example.com\/

Bunun yerine benzeri:

http://www.example.com/

/ karakter uygun kaçtı ediliyor çünkü bulunuyor. Eğer javascript içinde JSON nesnesi unserialize onlar sizin veritabanı gibi, URL'ler bakacağız.