2012-11-26 39 views
0

我在选择部分字符时出现问题。这里是我的领域的内容:在两个字符之间选择Susbtr字段

[{"index":1,"image":"un-nouveau-test-d-annonce_12_1.jpg","thumbnail":"un-nouveau-test-d-annonce_12_1_t.jpg"}] 

我想选择只有un-nouveau-test-d-annonce_12_1_t.jpg。但是,这个名字在所有领域都有所不同。

field1 : un-nouveau-test-d-annonce_12_1_t.jpg 
field2 : hello_ads_2.jpg 

所以,我想,我的“选择”,选择的第一个字母(u或h)至该地址的末端(JPG格式在所有情况下)。

我有这样的:

$img = "SELECT 
    SUBSTR(images, LOCATE('l\":\"',images)+1, 
    (CHAR_LENGTH(images) - LOCATE('l\":\"',REVERSE(images)) - LOCATE('l\":\"',images))) 
    FROM mq74m_adsmanager_ads"; 

$resultimg = mysql_query($img) or die(mysql_error()); 
if (mysql_num_rows($resultimg) > 0) 
{ 
    while ($rowimg = mysql_fetch_array($resultimg)) 
    { 
     echo $rowimg['images']; 
    } 
} 

但结果是空的。

+1

这是您应该规范化数据库的标志:) –

回答

0

从数据库中提取所有数据,然后应用json_decode,您将获得一个数组。之后,你可以做$ result [$ i] ['image']其中$ i是索引。

+0

感谢您的快速回答。如何在MYSQL中使用json_decode? – Angelheart29

+0

$ query =“从图片中选择图片”; $ results = mysql_query($ query); while($ row = mysql_fetch_assoc($ results)){ $ decoded = json_decode($ row ['images'],TRUE); // TRUE返回数组 echo $ decoded ['image']; } –

+0

太好了,谢谢! – Angelheart29

相关问题