2012-01-07 1 views
0

-им захватывая пути изображения из MySQL с помощью PHP, а затем json_encode и с ответом им данных, используя ниже код, чтобы отобразить изображение, но не работаетВставить извлекаются данные изображения путей с помощью JSON JQuery и вставить в IMG тег ЦСИ

Мой PHP-код

$imgurl=array(); 
if(mysql_num_rows($result) > 0){ 
//Fetch rows 
while($row = mysql_fetch_array($result)){ 
$imgurl = $row['imgurl']; 
} 
} 
echo json_encode($imgurl); 
else 
{ 
echo "No results matching family \"$family\""; 
} 

кодекс на моей стороне Jquery

success: function(data){ 
$('#pgwrapid').html(data); 
} 

данные дает ниже на выходе, которые на самом деле пути изображения

["images\/zara\/shoes\/thumbnail","images\/hermes\/shoes\/thumbnail","images\/hermes\/shoes\/thumbnail"] 

теперь, как удалить обратный слэш и вставить его в IMG SRC = «»

+0

Что значит «давать кучу t»? Вы имеете в виду, что для изображения src установлено значение «ttttttttttt»? Что произойдет, если вы отобразите значение «val» в консоли или оповещении? Может быть, проблема в том, что возвращаются неправильные данные? –

+0

Я полностью редактировал свой код даже на консоли, он что-то печатает – sajid

ответ

0

Попробуйте Ниже:

success: function(data){ 

      $.each(data,function(index,val){ 
       $('#pgwrapid').append("<img src='"+val+"' alt='Thumbnail'/>"); 


       }); 
      } 

Но, пожалуйста, проверьте сначала, если вы получаете значение в val или нет.

+0

снова печатает серию thumbnail – sajid

+0

$ .each здесь хорошо? функция, используемая для итерации по любой коллекции. Я не получаю именно то, что вы хотите сделать. Если есть одно изображение для добавления, то зачем использовать его там? повторяется ли он снова и снова? –

+0

Я полностью редактировал свой код даже на консоли, он печатает что-то там, кучу изображений, да, он повторяет его снова и снова – sajid

0

У вас есть неправильные кавычки там. Вы должны использовать одиночные кавычки для alt='Thumbnail' или избежать двойные кавычки вы уже используете alt=\"Thumbnail\"

+0

Я полностью редактировал свой код даже на консоли, он что-то печатает – sajid

0

попробовать этот код:

success: function(data){ 
var evaluateddata = eval('('+data+')'); 

$.each(evaluateddata,function(index,val){ 
    $('#pgwrapid').append("<img src="+val+" alt="Thumbnail"/>"); 
}); 
} 

данные рассматриваются как строки после запроса, но когда речь идет о JSon I любите использовать жестко закодированный итеративный способ в javascript (на самом деле не фонд использования .each() api jquery, поэтому я сомневаюсь в вышеприведенном коде, хотя не уверен, что он должен быть val, или я должен все еще идентифицировать переменную для доступа к таким как val.<variablename>) следующим образом:

success: function(data){ 
    var evaluateddata = eval('('+data+')'); 

    for(val in evaluateddata) 
    { 
     $('#pgwrapid').append("<img src="+evaluateddata[val]+" alt="Thumbnail"/>"); 
    } 
} 

это прямой подход к javascript для итерации объекта json, но он зависит от вас, который идеально подходит для вас (как-то было бы лучше, если бы вы опубликовали исходный ответ json-строки из вашего приложения).

Я вижу код. как насчет того, если вы попробуете этот код:

if(mysql_num_rows($result) > 0){ 
    //Fetch rows 
    $output = array(); 
    while($row = mysql_fetch_array($result)){ 
     $output[] = $row['imgurl']; 
     } 
    echo json_encode($output); 
}else{ 
    echo "No results matching family \"$family\""; 
} 

ваш код на самом деле пытается вывести отдельное значение JSon для каждого imgurl определенно не будет работать, так как значение JSON, что ваше приложение будет возвращаться будет оцениваться как один и ваш код печатает несколько значений json, которые могут вызывать ошибки, когда ваш код javascript получает его.

+0

Я полностью редактировал свой код даже на консоли, он что-то печатает – sajid

Смежные вопросы