php banner rotater sorun

3 Cevap

i xml yanıt oluşturmak için) (yeni bir dizi oluşturmak için bir dizi i (mysql_fetch_array geçmek istediğiniz dinamik banner rotater wih php ajax) oluşturmak istiyorum ..........

İşte benim kod

$sql = mysql_query("SELECT * FROM ads");
header('Content-type: text/xml');
echo '<?xml version="1.0" ?>';
while($row = mysql_fetch_array($sql)){
    $title = $row['title'];
    $img = $row['file'];
    $body = $row['body'];
    $ban = '<b>'.$title.'</b><br><br><img src="ads/'.$img.'"><br><br>'.$body;

    $banners = array(    
    		$ban,    
    );    
    $html = $banners[array_rand($banners)];

}

<banner>
    <content><?php echo htmlentities($html); ?></content>
    <reload>3000</reload>    
</banner>

ama ben bunu nasıl düzeltebilirim sadece bir reklam birden çok reklam dönmek return

3 Cevap

Problemli burada: $banners = array($ban);. Ne yapmaya çalıştığınız bir girdi olarak $banners dizideki tüm reklamları yer alıyor ama bunu elde etmek başarısız oluyor.

Bir dizide bir girişi dahil olmak için doğru kod olacaktır $banner[] = $ban. Bu şekilde sorgudan bir sonucu olarak gelir her reklam bireysel bir giriş olarak saklanır.

Yani doğru kod olacaktır:

$sql = mysql_query("SELECT * FROM ads");
$banner = array(); //Define the array before trying to add elements.

header('Content-type: text/xml');

while($row = mysql_fetch_array($sql))
{
    $title = $row['title'];
    $img = $row['file'];
    $body = $row['body'];
    $ban = '<b>'.$title.'</b><br><br><img src="ads/'.$img.'"><br><br>'.$body;

    $banner[] = $ban;                //Adding a new entry at the end.
    $html = array_rand($banner);    //Getting a random entry.

}

While döngüsünde bu kullanın:

$banners[] = $ban

Yerine

$banners = array(

                $ban,

);

ve

$html = array_rve($banners);

yerine

$html = $banners[array_rve($banners)];

Ve bzabhi ne dedi, tanımlamak sizin

$banners = array();

while döngüsü ve randomizasyon kısmı döngü sonra gitmek zorunda önce.