2015-07-22 6 views
-1

Я новичок и имею каталог фильмов и музыки на местном веб-сайте, просто хобби, и я использую CodeIgniter. Все было в порядке и решили перейти на версию 3.0 CodeIgniter. Все страницы загружаются без проблем, но страница альбома:foreach не работает, но mysql_fetch_assoc

$string = $this->uri->segment(3); 
$array=explode("8803",$string); 
$id = ($array[1]/11); 
$this->db->where('id', $id); 
$query = $this->db->get('albuns'); 
foreach ($query->result() as $data); 
$id = $data->id; 
$sqlDisc = "SELECT disc FROM songs 
WHERE album_id = ".$id." 
ORDER BY disc DESC"; 
$queryDisc = mysql_query($sqlDisc); //error msg listed below 

$recDisc = mysql_fetch_assoc($queryDisc); 
$numDisc = $recDisc['disc'];  
$disc_atual = 0 

Я получаю эту ошибку: «mysql_query(): Расширение MySQL является устаревшим и будет удален в будущем: использовать MySQLi или PDO вместо»

Я пытался использовать страницу foreach [model page] даже в предыдущей версии CI, но не работал. Я понятия не имею, о разнице между 'mysql_fetch_assoc' и 'Еогеасп':

function get_disc() 
{ 
$string = $this->uri->segment(3); 
$array=explode("8803",$string); 
$id = ($array[1]/11); 
$this->db->select('disc'); 
$this->db->where('album_id', $id); 
$this->db->order_by('disc', 'desc'); 
$query = $this->db->get('songs'); 
return $query->result(); 
} 

Почему "$ = массив взрываются (" 8803" , $ строка); "?
локальный/WD/музыка/альбом/в-битлз-белый альбом-ремастеринг-DTS-51-wd88033443

Когда работал:
"Lista дас Trilhas - Disco 1" на английском языке означает «Трек-лист - диск 1"

Использование Foreach номер диска не отображается:
„lišta Das Trilhas“

Я признателен за любую помощь, спасибо заранее.

+1

Прежде всего использование SQLI или PDO. Чтобы использовать это, перейдите в database.php и измените драйвер на mysqli. – Vinie

ответ

0

я имею в виду очевидную вещь, чтобы изменить код немного - я постараюсь помочь, так что вы можете стоять на своих собственных футы

$string = $this->uri->segment(3); 
$array=explode("8803",$string); 
$id = ($array[1]/11); 
$this->db->where('id', $id); 
$query = $this->db->get('albuns'); 
foreach ($query->result() as $data) 
{ 
    $id = $data->id; 
    $queryDisc = $this->db 
     ->select("disc") 
     ->from("songs") 
     ->where("album_id",$id) 
     ->order_by("disc","DESC") 
     ->get(); 

    $numDisc = $queryDisc->num_rows(); 
    if ($numDisc > 0) 
    { 
     foreach($queryDisc->result() AS $objDisc) 
     { 
      print_r($objDisc); 
     } 
    } 
    $disc_atual = 0 
} 
+0

Привет Вини, спасибо. 'dbdriver' => 'mysqli' уже закодирован в database.php, появился как сайт CI, я просто поместил имя базы данных, пользователя и пароль и ничего больше. –

+0

Привет, Вини, спасибо. 'dbdriver' => 'mysqli' уже закодирован в database.php, появился как сайт CI, я просто поместил имя базы данных, пользователя и пароль и ничего больше. Я изменю страницу и очень скоро дам вам обратную связь. Еще раз спасибо. –

Смежные вопросы