使用php / mysql的简单URL旋转器

时间:2016-05-29 09:15:24

标签: php mysql arrays

我正在尝试构建一个url rotator,其中下一个url将显示在超链接下。

<a href="$URL[]">Next</a>

我能够从表中检索所有的enteries并将它们保存到数组中。但我不知道如何在超级链接下逐个显示它们,并在链接点击下一个网址应该显示。

我正在使用的代码

$sql=mysql_query("SELECT * from TABLE");

      while($row = mysql_fetch_array($sql))  
{
$Id[] = $row['id'];
$Name[] = $row['name'];
$URL[] = $row['url'];


}

显示

$x=0;
for ($x = 0; $x <= 10; $x++) {

echo "$Id[$x]";  
echo "$URL[$x]";
echo "$Name[$x]";
echo "<br>";
}

请提出一些有关如何完成此任务的建议。

2 个答案:

答案 0 :(得分:0)

如果问题只是计算数组索引。使用此代码:

for($x = 0; $x <= count($Id); $x ++) {

    echo $Id[$key];  
    echo '&nbsp<a href="'.$URL[$key].'">Next</a> &nbsp';
    echo $Name[$key];
    echo "<br>";
    }

如果制作分页? 改变代码:

$curent = isset($_Get['page']) ? $_Get['page'] : '0';
// 10 number row in fetch DB
$count = $curent == '0' ? 10 : ($count - 1) * 10;

$sql=mysql_query("SELECT * from TABLE limit $curent,$count");
while($row = mysql_fetch_array($sql))  
{
  $Id[] = $row['id'];
  $Name[] = $row['name'];
  $URL[] = $row['url'];
}
// sample url = index.php
$url = 'index.php?page='. ($curent == '0' ? $curent+2 : $curent + 1);

显示指向下一页的链接:

<a href="<?php $url ?>">Next</a>
<?php
    for($x = 0; $x <= count($Id); $x ++) {

        echo $Id[$key];  
        echo '&nbsp<a href="'.$URL[$key].'">Next</a> &nbsp';
        echo $Name[$key];
        echo "<br>";
        }
?>

答案 1 :(得分:0)

假设您手中有$URL数组,那么请计算数组。获取$get_url_no,如果是,则检查它是否小于总网址,而不是$get_url_no + 1,这样您就可以访问下一个网址。将此链接添加到网址,以便您可以使用$get_url_no = $_GET['urlno'];从网址获取该链接。

$count = count($URL);
$get_url_no = $_GET['urlno'];    
$urlNo = (isset($get_url_no) && $get_url_no < $count) ? ($get_url_no + 1) : 0;
$url = $URL[$urlNo]."&urlno=".$urlNo;
echo '<a href="'.$url.'">Next</a>';