0

我制作了一个图像滑块(或者你想怎么称呼它),它显示了 6 张最新图像。在当前较大的图像下,您拥有所有 6 个最新图像,并且该过程一切正常,但是当您单击较小的图像时,它不会立即显示大图像。因为最新的图像首先是它的“活动”并且有它自己的<a href="#1> ,所以href="#1"输入它是因为我可以操纵 a 标签,因为它在那里。但是,由于我使用 foreach 从提交日期起按降序从第 2 到第 6 显示接下来的 5 张图像,所以我不能给每个单独的结果href"#number"所以他们可以与更大的图像链接,有没有办法通过在查询中的位置为每个结果分配一个数字,然后将 1or2 添加到答案中,然后在 href 中给出相应的数字,所以当点击时,也链接到 href 编号的较大图像,它将使较大的图像立即出现。

我修改过的教程中的代码如下所示..

<?php
$latest_headlines = get_latest_headlines(); 
foreach ($latest_headlines as $latest_headline) {
?>
<a href="#1" class="cross-link active-thumb"><img src="img/<?php echo $latest_headline['img_title'].'.'.$latest_headline['img_ext']; ?>" class="nav-thumb" alt="<?php echo $latest_headline['title']; ?>" /></a>

<?php   
}
?>
<div id="movers-row">
<?php 
$recent_headlines = get_recent_headlines();
foreach ($recent_headlines as $recent_headline) {
?>
        <div><a href="#<?php echo $row_num; ?>" class="cross-link"><img src="img/<?php echo $recent_headline['img_title'].'.'.$recent_headline['img_ext']; ?>" class="nav-thumb" alt="<?php echo $recent_headline['title']; ?>" /></a></div>
<?php
} 
?>
</div> 

这是我获得结果的两个函数,在人们开始挑选我完成的所有问题之前,我只想说这是我学习它的方式,我是新的,它可能都是错误的,但它是我脑海中的事情到目前为止,这种方式及其工作(ish)......

function get_recent_headlines() {
$sql = "SELECT *
        FROM `story`
        ORDER BY `submit_date` DESC
        LIMIT 1, 5 ";

$result = mysql_query($sql) or die(mysql_error());

$recent_headlines = array();

while (($row = mysql_fetch_array($result)) !== false) {
    $recent_headlines[] = array(
'title'       => $row['title'],
'img_title'   => $row['img_title'],
'img_ext'     => $row['image_ext']  
            );  
}
return $recent_headlines;
}

function get_latest_headlines() {
$sql = "SELECT *
        FROM `story`
        ORDER BY `submit_date` DESC
        LIMIT 1 ";

$result = mysql_query($sql) or die(mysql_error());

$lastest_headlines = array();

while (($row = mysql_fetch_array($result)) !== false) {
    $latest_headlines[] = array(
'title'       => $row['title'],
'img_title'   => $row['img_title'],
'img_ext'     => $row['image_ext']  
            );      
}
return $latest_headlines;
}
4

2 回答 2

1

更改您对函数 get_recent_headlines() 的查询

它使用一个变量,并在 SELECT 语句中增加它:

    `$sql = "SELECT *,(@row:=@row+1) AS rowno
    FROM `story` inner join (SELECT @row:=0) AS row_count
    ORDER BY `submit_date` DESC
    LIMIT 1, 5 ";`
于 2013-06-24T12:18:34.917 回答
0

您可以使用用户变量在 MySQL 中获取序列号。:-

SELECT Sub1.*,@aCount:=@aCount+1 AS aSequence
FROM (SELECT *
        FROM `story`

        ORDER BY `submit_date` DESC) Sub1
CROSS JOIN (SELECT @aCount := 0) Sub2
LIMIT 1, 5
于 2013-06-24T12:16:39.297 回答