我有一個畫廊腳本,作爲一個新手,我成功地創建了縮略圖。我可以點擊縮略圖來獲取大圖片,但是當我按下'下一張'查看下一張圖片時,我收到一張'零'圖片,發現消息。這個圖庫作爲主鍵在'photo_caption'上運行。在PHP中創建鏈接
這裏是代碼位我有麻煩......
$result_final .= "<div class='prevnext'>";
$result_final .= "<span class='prev'><a href=viewgallery.php?cname=$cname&pcaption=".str_replace(" ","_",$pid_array[$next])."><img src=photos/assets/left.png border=0 ></a></span>";
$result_final .= "<span class='next'><a href=viewgallery.php?cname=$cname&pcaption=".str_replace(" ","_",$pid_array[$prev])."><img src=photos/assets/right.png border=0 ></a></span>";
$result_final .= "</div>";
這裏的「左」和「右」箭頭創建的,但是當我點擊它們就不會帶我去下一張照片。如果我嘗試打印$nr
(對應於被點擊的photo_caption的行數,等於'1'),當我點擊下一個圖像的'next'箭頭時,它變爲'0'。這是因爲鏈接不工作?你能檢查我的代碼,看看我在創建鏈接時是否犯了一些愚蠢的錯誤嗎?請參閱以下部分的完整代碼。
if($pcaption)
{
$result = mysql_query("SELECT photo_caption, photo_description, photo_filename,photo_keywords FROM gallery_photos WHERE photo_caption='".addslashes($pcaption)."'");
list($photo_caption, $photo_description, $photo_filename, $photo_keywords) = mysql_fetch_array($result);
$nr = mysql_num_rows($result);
mysql_free_result($result);
$p_caption = $photo_caption;
$p_description = $photo_description;
$p_keywords = $photo_keywords;
//fill pid_array with sorted pids in current category
$result = mysql_query("SELECT photo_caption FROM gallery_photos WHERE category_name='".addslashes($cname)."' ORDER BY photo_caption");
$ct = mysql_num_rows($result);
while ($row = mysql_fetch_array($result)) {
$pid_array[] = $row[0];
}
mysql_free_result($result);
#if(empty($nr))
if($nr <0)
{
$result_final = "\t<tr><td>***No Photo found</td></tr>\n";
}
else
{
$result = mysql_query("SELECT category_name FROM gallery_category WHERE category_name='".addslashes($cname)."'");
list($category_name) = mysql_fetch_array($result);
mysql_free_result($result);
$result_final = "
<div class=limagePage>
<div class=llink><a href=viewgallery.php>ALBUMS</a><span class=arrow>>></span><a href=viewgallery.php?cname=$cname>$category_name</a></div>
";
// display previous and next links if more than one photo
if ($ct > 1)
{
$key = array_search($pcaption , $pid_array);
$prev = $key - 1;
if ($prev < 0) $prev = $ct - 1;
$next = $key + 1;
if ($next == $ct) $next = 0;
$cname = str_replace(" ","_",$cname);
$pcaption=str_replace(" ","_",$pcaption);
$result_final .= "<div class='prevnext'>";
$result_final .= "<span class='prev'><a href=viewgallery.php?cname=$cname&pcaption=".str_replace(" ","_",$pid_array[$next])."><img src=photos/assets/left.png border=0 ></a></span>";
$result_final .= "<span class='next'><a href=viewgallery.php?cname=$cname&pcaption=".str_replace(" ","_",$pid_array[$prev])."><img src=photos/assets/right.png border=0 ></a></span>";
$result_final .= "</div>";
}
}
$cname = str_replace(" ","_",$cname);
$pcaption=str_replace(" ","_",$pcaption);
$result_final .= "<div class=limage><table><tr><td><table class=image><tr>\n\t<td><a href=viewgallery.php?cname=$cname&pcaption=".str_replace(" ","_",$pid_array[$next])."><img src='".$images_dir."/".$photo_filename."' border='0' alt='".$photo_keywords."' /></a>
<div class=caption>".$photo_caption."</div>
<div class='excerpt'>".$photo_description."</div>
</td>
</tr></table></td></tr></table><div class=underline></div></div>
<!-- .limagePage --></div> ";
}
將鼠標懸停在鏈接,看到的鏈接怎麼說。您也可以使用「查看源代碼」來驗證鏈接應該在哪裏。如果沒有,它可以幫助你(或我們)弄清楚什麼是錯的。 – Herbert
赫伯特...我現在已經嘗試過了......看起來像這樣...... 根據我的理解,它確實指向圖像我的數據庫。但是當我點擊它時,並不會讓我看到這個圖像......完全被這個困惑......我想我在我的代碼中犯了一些深刻的錯誤? – yathrakaaran