Crew PHP |
|
ik denk niet dat mysql dat simpel kan wat makkelijker is, en t voelt minder spannend, maar geeft wel een hogere controle.
----------------------------------------------------------------
Oeps, dat werd opeens veel meer dan in gedachte had
Nouja, lees m goed door en leer ervan zou ik zeggen
Het lijkt veel, maar het is in principe een paar keer hetzelfde principe
----------------------------------------------------------------
// Alle genres in een array zetten zodat je later niet meer hoeft te doen per film:
$genres = array();
//SELECT alle genres met hun id's
$sGenres = mysql_query("SELECT genre_id,genre_genre FROM genre") or die(mysql_error());
// Ga ze 1 voor 1 af:
while($fGenres = mysql_fetch_assoc($sGenres)){
// Zet het genre en id in een array:
$genres[ $fGenres['genre_id'] ] = $fGenres['genre_genre'];
}
// Als je het resultaat op je scherm wilt zien van de $genres die we nu hebben dit uncommenten:
// print_r($genres);
//////////////////////////
/// En dan nu de films ///
//////////////////////////
// Alle films in een array zetten zodat je later extra dingen ermee kan doen
$films = array();
// SELECT alles wat je wilt van films:
$sFilms = mysql_query("SELECT film_id, title FROM films") or die(mysql_error());
// Ga ze daarna 1 voor 1 af:
while($fFilms = mysql_fetch_assoc($sFilms)){
// array aanmaken (of bij de 2e juist legen)
$genres4film = array();
// SELECT doen op je tussentabel
$sGrenres4film = mysql_query("SELECT genre_id WHERE film_id=".$fFilms['id']) or die(mysql_error());
// Ga ze daarna 1 voor 1 af:
while($fGenres4films = mysql_fetch_assoc($sGenre4film)){
// nu opslaan, en handig met de array van genres:
$genres4film[] = $genres[$fGenre4films['genre_id']]; // Dit geeft nu de naam zoals 'humor'
}
// Opslaan bij de films
$film[$fFilms['title']] = $genres4film; // Nu heb je het als array
}
foreach($film as $title => $genres){
if(count($genres >= 2){
echo $title." heeft 2 of meer genres, namelijk: ".implode(" & ",$genres)." <br /> \n";
}
}
// Alle genres in een array zetten zodat je later niet meer hoeft te doen per film: //SELECT alle genres met hun id's // Ga ze 1 voor 1 af: // Zet het genre en id in een array: $genres[ $fGenres['genre_id'] ] = $fGenres['genre_genre']; } // Als je het resultaat op je scherm wilt zien van de $genres die we nu hebben dit uncommenten: // print_r($genres); ////////////////////////// /// En dan nu de films /// ////////////////////////// // Alle films in een array zetten zodat je later extra dingen ermee kan doen // SELECT alles wat je wilt van films: // Ga ze daarna 1 voor 1 af: // array aanmaken (of bij de 2e juist legen) // SELECT doen op je tussentabel // Ga ze daarna 1 voor 1 af: // nu opslaan, en handig met de array van genres: $genres4film[] = $genres[$fGenre4films['genre_id']]; // Dit geeft nu de naam zoals 'humor' } // Opslaan bij de films $film[$fFilms['title']] = $genres4film; // Nu heb je het als array } foreach($film as $title => $genres){ echo $title." heeft 2 of meer genres, namelijk: ".implode(" & ",$genres)." <br /> \n"; } }
|