2015-04-09 3 views
0

Если у меня есть массив $MovieDetails = array(); и он заполняется ниже запроса с петлей Еогеасп (5 элементов; id, movie_year, genre, image, movie_name), как добавить еще один элемент (movie_rating) до конца массиваДобавить дополнительный элемент массива

$AllMovies = $con ->query 
(" 
    SELECT id, movie_year, genre, image, movie_name FROM movies; 
"); 

while($row = $AllMovies->fetch_object()) { 
     $MovieDetails[] = $row; 
    } 
+1

добавить его в $ грести $ строки [ «movie_rating»], прежде чем добавить его в movieDetails – Weltschmerz

+0

Вы также могли бы сделать его проще добавить позже, изменив его на '$ MovieDetails [$ row ['id']] = $ row;'. Затем, если вы знаете идентификатор фильма, вы можете сделать '$ MovieDetails [$ id] ['movie_rating'] = $ rating;' – Sean

+0

Вы извлекаете результаты как объект 'StdClass'. Вам нужно будет изменить на 'fetch_array()', чтобы опубликованные ответы работали – DarkBee

ответ

3

Добавить рейтинг фильма в $row.

Если вы работаете с тем, как объект, это $row->movie_rating = 1.5

while($row = $AllMovies->fetch_object()) { 
    $row->movie_rating = 1.5; 
    $MovieDetails[] = $row; 
} 

Если вы работаете с тем, как массив, используйте fetch_assoc() и $row['movie_rating'] = 1.5

while($row = $AllMovies->fetch_assoc()) { 
    $row['movie_rating'] = 1.5; 
    $MovieDetails[] = $row; 
} 
+0

Я возвращаю ошибку 'Нельзя использовать объект типа stdClass как array' – McNoodles

+0

должен быть' fetch_array() ' – DarkBee

+0

@McNoodles: Если вы работаете с этим объектом должен быть '$ row-> movie_rating = 1.5'. Если вам нужен массив, измените 'fetch_object' для' fetch_array'. – panther

1

Таким образом, ваша строка является объектом

$AllMovies = $con->query("SELECT id, movie_year, genre, image, movie_name FROM movies;"); 
while($row = $AllMovies->fetch_object()) { 
    $row->movie_rating = 'movieRating'; 
    $MovieDetails[] = $row; 
} 

Если вы хотите, каждая строка будет массив, вы должны сделать:

while($row = $AllMovies->fetch_array()) { 
    $row['movie_rating'] = 'movieRating'; 
    $MovieDetails[] = $row; 
} 
+0

должен быть 'fetch_array()' – DarkBee

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