09/10/2018, 23:40

Vbb không nhận kiểu query này

Tôi muốn tạo thêm module newalbum từ Xtream ra Vbb , tôi đã tạo thêm một file mới trong module của vbb với nội dung sau :

<?php

$result
= $db->query_read("SELECT album_id, album_name, album_singer,
album_img FROM media_album ORDER BY album_id DESC LIMIT 10");
while ($album = $db->fetch_array($result))
{
$albumid = $album['album_id'];
$albumname = $album['album_name'];
$singer = $album['album_singer'];
$albumimage = $album[album_img];
if($albumimage==""){$albumimage="music/noimage.jpg";}



}
eval('$home["$mods[modid]"]['content'] = "' . fetch_template('adv_portal_newalbum') . '";');

?>

Nhưng query kiểu này thì nó lại ra mỗi album ở thứ tự 10 , nếu thay "10" = "9" thì nó lại ra mỗi album ở thứ tự 9 , sao nó lại không ra luôn 10 hay 9 album . Tôi đã hỏi nhiều người và ai cũng nói kiểu query đó đúng , vậy tại sao vbb lại không nhận ?
TheHeTre viết 01:46 ngày 10/10/2018
"SELECT album_id, album_name, album_singer,
album_img FROM media_album ORDER BY album_id DESC LIMIT 10"
LIMIT 10 là cách viết gọn của Query String. Trong một số trường hợp có thể xảy ra lỗi mà không giải thích được ??!!

Bạn thử viết lại như thế này coi:

"SELECT album_id, album_name, album_singer,
album_img FROM media_album ORDER BY album_id DESC LIMIT 0, 10"
9xvn viết 01:52 ngày 10/10/2018
Vẫn không được bạn , nó vẫn ra mỗi album ở thứ tự 10
jiSh@n viết 01:48 ngày 10/10/2018
Quote Được gửi bởi 9xvn View Post
Vẫn không được bạn , nó vẫn ra mỗi album ở thứ tự 10
Coi lại cái vòng while nhé
9xvn viết 01:41 ngày 10/10/2018
Bạn nói rõ luôn cho mình được hông , chứ mình đưa code này cho nhiều người , ai cũng bảo đúng rồi
jiSh@n viết 01:48 ngày 10/10/2018
Quote Được gửi bởi 9xvn View Post
Bạn nói rõ luôn cho mình được hông , chứ mình đưa code này cho nhiều người , ai cũng bảo đúng rồi
Vòng while chạy cái ào đến entry thứ 10 mới dừng. Sau vòng while thì mấy cái biến của bạn chứ thông tin về entry thứ 10, ok? Muốn in ra hết 10 enry thì câu lệnh in phải nằm trong vòng while, hoặc các biến phải là array. Học PHP kỹ đi bạn ơi
9xvn viết 01:50 ngày 10/10/2018
Hic ,em chỉ là dân 9x và cũng đang tập viết code thôi , nếu các anh có cuốn sách nào hay hay nói về cái đó thì vui lòng share giùm em , xin cảm ơn .
conmalele viết 01:44 ngày 10/10/2018
The best selling ebook: http://www.php.net/manual/en/index.php
jiSh@n viết 01:50 ngày 10/10/2018
Quote Được gửi bởi conmalele View Post
The best selling ebook: http://www.php.net/manual/en/index.php
Hài thật
changtraingheo viết 01:49 ngày 10/10/2018
đơn giản thôi mà, do bạn không để ý nên nó bị zday là đúng.
while ($album = $db->fetch_array($result))
{
$albumid = $album['album_id'];
$albumname = $album['album_name'];
$singer = $album['album_singer'];
$albumimage = $album[album_img];
if($albumimage==""){$albumimage="music/noimage.jpg";}
}
với vòng lặp này, nó sẽ có kết quả là mẫu tin thứ 9 như bạn gặp, tại sao??? bởi vì bạn nhìn các biến albumid, albumname, ... nó sẽ chứa giá trị đầu tiên ở đâu??? bạn thử chạy bằng tay là sẽ hiểu tại sao nó bị như vậy liền, và cách giải quyết ở đâu là gán nó vào một mảng nào đó để lưu giá trị sau khi vòng lặp này kết thúc, chẳng hạn như sau:
while ($album = $db->fetch_array($result))
{
$array_song []['id'] = $album['album_id'];
$array_song []['albumname'] = $album['albumname'];
$array_song []['singer'] = $album['singer'];
$array_song []['albumimage'] = $album['albumimage']=='' ? 'music/noimage.jpg' : $album['albumimage'];
}
Bài liên quan
0