これは私にとっては少し複雑です。私はまだ初心者です笑。次のコード ブロックを検討してください。PHP ブロックをループし、新しいフィードをいくつかの div に追加する Jquery の Ajax。この場合、PHP は複数の結果を返します。例として、「名前」と「スローガン」が返されます。ajaxが結果を受け取った後、次をテンプレートとして追加したいのですが、このテンプレートが追加されるたびに変更されるため、phpが変数になります。これがhtmlテンプレートです。
<div id="BuzFeedResult1">
<?php
require_once 'php/db_conx.php';
$Result = mysql_query("SELECT * FROM profiles ORDER BY lastupdated DESC LIMIT 1") or die (mysql_error());
while($row = mysql_fetch_array($Result))
{ ?>
<div id="ProfileDiv">
<div>
<span class="flat-menu-button"><?php echo $row['name'];?></span>
<span class="flat-menu-button"><?php echo $row['slogan'];?>
</span>
<?php
}?>
</span>
</div>
</div>
</div>
質問。上記のテンプレートをこの div 内の ajax に取得するにはどうすればよいですか。
var $buzfeedresults = $("<div id='BuzFeedResult" + counter + "'></div>");
次に、次のように「div」を追加します。
var get_fb = (function() {
var counter = 0;
var $buzfeed = $('#BuzFeed');
return function(){
$.ajax({
type: "POST",
url: "../php/TopBusinesses_Algorythm.php"
}).done(function(feedback) {
counter += 1;
//Divs being appended.
var $buzfeedresults = $("<div id='BuzFeedResult" + counter + "'></div>");
$buzfeedresults.text(feedback);
$buzfeed.append($buzfeedresults);
var $buzfeedDivs = $buzfeed.children('div');
if ($buzfeedDivs.length > 10) { $buzfeedDivs.last().remove(); }
setTimeout(get_fb, 4000);
}).fail(function(jqXhr, textStatus, errorThrown) {
var $buzfeedresults = $("<div id='BuzFeedError'></div>");
$buzfeedresults.text('Error: ' + textStatus);
if (typeof console !== 'undefined') {
console.error(jqXhr, textStatus, errorThrown);
}
});
};
})();
get_fb()
この質問は不明確に聞こえるかもしれませんが、必要に応じて明確にするよう求めてください。Json をよりすっきりと短くできる場合は、使用できる構造を提案してください。