2016-12-14 3 views
0

Я работаю над проектом с многоуровневыми задачами PHP, один из которых объединяет некоторые MySQL-запросы с структурами PHP для печати результатов в текстовый файл. У меня есть соединение, создание файла txt, и запросы завершены и успешно функционируют. Мои проблемы заключаются в петле PHP для структуры данных, а вложенный цикл - для итерации/циклизации структуры результатов и их правильной печати. Структура данных контура правильно:PHP - Запросы и циклическая перестройка структуры данных

$userQuery = "SELECT title, last_name, first_name 
      FROM film_actor 
      LEFT JOIN film f 
      ON film_actor.film_id = f.film_id 
      LEFT JOIN actor a 
      ON a.actor_id = film_actor.actor_id 
      ORDER BY title"; 

    $filmActors =fopen("FilmActors.txt","w"); 

    while ($row = mysqli_fetch_assoc($result)) 
     { 
     $title = $row['title']; 
     $last = $row['last_name']; 
     $first = $row['first_name']; 

     $filmActor["$title"][] = "$last".","."$first"; 
     } 

вложенный цикл начинается правильно для ключевого значения, но каждый шаг я использовал для результатов цикла и печати печатает только слово «массив», а не элементы. Мой SQL-запрос предназначен для базы данных, в которой перечислены имена фильмов, и актеры в фильмах, поэтому в некоторых из этих фильмов есть 5 + актеров. Моя цель - напечатать их в текстовом файле следующим образом: Название фильма: Количество участников: Фамилия актера 1, имя актера 1; и т.д.

Вот что я "ве успешно запущен для вложенного цикла:

while ($k_v = each($filmActor)) { 
     foreach($filmActor as $k_v => $value) { 
     //$k_v => $value; 
     fputs($filmActors, "$title:$value\n"); 
    } 

ответ

0

простое решение выглядит следующим образом один:

... 

$filmActors = fopen("FilmActors.txt","w"); 
$text = ''; 

foreach ($filmActor as $film_title => $actors) { 
    $text .= $film_title . ':' . count($actors) . ':' . implode(';', $actors) . PHP_EOL; 
} 

fwrite($filmActors, $text); 
fclose($filmActors); 
+0

Спасибо, что, похоже, получил это я! сбила с толку то, что мне нужно было сделать с циклом foreach. –

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