- Home
- Categorie
- Coding e Sistemistica
- Coding
- query actor
- 
							
							
							
							
							
query actorRitorno, spero che qualcuno risolva domanda: Linda Blair ha recitato in Exorcist, ma anche Ellen Burstyn e Max von Sydow. Voglio visualizzare gli attori (e i film) con cui ha lavorato insieme, ma non lei. questa query mi visualizza l'attore e i film, ma non e' quello che voglio [PHP] 
 $actor_id = $_GET["id"];$query = "select a.nome, f.movie_title, f.film_id, performer_aka, year 
 from actor a
 inner join film_actor fa on fa.actor_id = a.actor_id
 inner join film f on f.film_id = fa.film_id
 where a.actor_id =" . $actor_id;[/PHP] schema (semplificato) database Table -> actor 
 actor_id
 nome
 Table-> film
 film_id
 movie_title
 Table-> film_actor
 actor_id
 film_idl'attore e il film hanno una relazione nel database con film_actor  
 
- 
							
							
							
							
							
Come non detto, ho risolto da solo, come al solito  
 
- 
							
							
							
							
							
problema con la visualizzazione della foto mi dovrebbe restituire questo [HTML]http://localhost/cinema/image_upload/actor/uploads/Linda Blair(54)/Linda Blair.jpg[/HTML] invece il percorso e' questo [HTML]http://localhost/cinema/image_upload/actor/uploads/Linda Blair(54)/[/HTML] non capisco  [PHP] <img src="image_upload/actor/uploads/<?=$row->nome?> (<?=$row->actor_id?>)/<?=$row->foto?>" width="120px" height="170px" style="border:4px solid #333333;"> 
 [/PHP]
 
- 
							
							
							
							
							
sistemato il percorso delle foto, ma rimane un problema, vengono visualizzati gli attori che hanno lavorato insieme ma nei film non sono presenti tutti esempio: Max von Sydow ha recitato nell' Esorcista e nell' Esorcista II-L'eretico con Linda Blair e gli altri ma viene visualizzato solo un film ecco la query [PHP] 
 <?phprequire_once("connetti.php"); $actor_id = $_GET["id"]; // questa query visualizza i film con cui ha lavorato l'attore 
 $query = "select actor_id, film_id,
 (select nome from actor a where a.actor_id = am.actor_id) as nome,
 (select foto from actor a where a.actor_id = am.actor_id) as foto,
 (select movie_title from film a where a.film_id = am.film_id) as movie_title,
 (select year from film a where a.film_id = am.film_id) as year,
 (select film_id from film a where a.film_id = am.film_id) as film_id,
 count() as film
 from film_actor am
 where film_id in (select film_id from film_actor where actor_id = $actor_id)
 and actor_id <> $actor_id
 group by actor_id
 order by count() asc";[/PHP] spero che qualcuno mi aiuti, non riesco a trovare la soluzione questo e lo screen per capire  
 
- 
							
							
							
							
							
ok, ho fixato il codice, adesso riesco a visualizzare anche gli altri film mancanti resta il problema delle foto doppie, si potrebbe fare in modo di raggrupparle e visualizzare solo 1 foto attore ma con i film sotto esempio: Max von Sydow Exorcist II - The Heretic The Exorcist codice fixato [PHP] 
 select actor_id, film_id,
 (select nome from actor a where a.actor_id = am.actor_id) as nome,
 (select foto from actor a where a.actor_id = am.actor_id) as foto,
 (select movie_title from film a where a.film_id = am.film_id) as movie_title,
 (select year from film a where a.film_id = am.film_id) as year,
 (select film_id from film a where a.film_id = am.film_id) as film_id,
 (select credited from film a where a.film_id = am.film_id) as credited,
 count(*) as film_id
 from film_actor am
 where film_id in (select film_id from film_actor where actor_id = $actor_id)
 and actor_id <> $actor_id
 group by actor_id, film_id
 order by film_id ASC[/PHP] 
 
- 
							
							
							
							
							
Ciao a tutti, 
 qualcuno mi puo' aiutare a risolvere questo quesito?