Stringhe duplicate

con gli apici su phpmyadmin funziona, ma restituisce solo un risultato (sono 2 Horror in realta')

sshot-2.png


sshot-3.png
 
Posta il contenuto della tabella
L'altra riga sicuro che ci sia scritto soltanto Horror? Forse intendi che non viene visualizzata perchè magari ha due generi (es. "Crime Horror"), in questo caso la query deve essere cosi:
PHP:
SELECT * FROM film_actor WHERE genre='Horror' OR genre LIKE '%Horror%' OR genre LIKE '%Horror' OR genre LIKE 'Horror%'
 
ok, allora la query devi cambiarla cosi:
PHP:
SELECT * FROM film_actor WHERE genre='$ok' OR genre LIKE '%$ok%' OR genre LIKE '%$ok' OR genre LIKE '$ok%'
 
cosi mi da errore :rolleyes:

SQL:
$query = mysql_query ("SELECT * FROM film_actor WHERE genre='$ok' OR genre LIKE '%$ok%' OR genre LIKE '%$ok' OR genre LIKE '$ok%')";
 
PHP:
<?php
    
    require_once("connetti.php");
    

    $ok = $_GET["tag"];


$query = mysql_query ("SELECT * FROM film_actor WHERE genre='$ok' OR genre LIKE '%$ok%' OR genre LIKE '%$ok' OR genre LIKE '$ok%'");



$result = mysql_query( $query );
if (!$result)
 die("mySQL error: ". mysql_error()); 
while( $row = mysql_fetch_object( $result ) ) : ?>

:rolleyes:


Warning: mysql_query() expects parameter 1 to be string, resource given in E:\OpenServer\domains\localhost\cinema\members\tag.php on line 34
mySQL error:

line 34

PHP:
$result = mysql_query( $query );
 
hai già messo mysql_query, non devi metterlo un'altra volta
PHP:
$query = "SELECT * FROM film_actor WHERE genre='$ok' OR genre LIKE '%$ok%' OR genre LIKE '%$ok' OR genre LIKE '$ok%'";



$result = mysql_query( $query );
 
:confused: ci siamo quasi

sshot-6.png

dovrebbe visualizzarmi anche questi dati

Tabella film_actor <----- (questa adesso
film_id
genre

Tabella film
movie_title
year
 
<?php require_once("connetti.php"); $ok = $_GET["tag"]; $query = mysql_query ("SELECT * FROM film_actor WHERE genre='$ok' OR genre LIKE '%$ok%' OR genre LIKE '%$ok' OR genre LIKE '$ok%'"); $result = mysql_query( $query ); if (!$result) die("mySQL error: ". mysql_error()); while( $row = mysql_fetch_object( $result ) ) : ?>
non hai postato il codice che c'è dopo...
Se vuoi visualizzarli in tabella, aggiungi questo dopo l'inizio del while:
PHP:
<tr>
<td><?php echo $row->film_id;?></td>
<td><?php echo $row->genre;?></td>
</tr>
 
ho fatto cosi ma visualizzo solo genre :rolleyes:

PHP:
<body>

<table>

<?php
   
    require_once("connetti.php");
   

    $ok = $_GET["tag"];




$query = "SELECT * FROM film_actor WHERE genre='$ok' OR genre LIKE '%$ok%' OR genre LIKE '%$ok' OR genre LIKE '$ok%'";


$result = mysql_query( $query );

if (!$result)
die("mySQL error: ". mysql_error());
while( $row = mysql_fetch_object( $result ) ) : ?>



<tr>
   
<td><a href="film.php?id=<?php echo $row->film_id; ?>"></a>   // nella tabella film_actor

<td><?php echo $row->genre; ?></td>    // nella tabella film_actor

<td><?php echo $row->movie_title; ?></td>  // nella tabella film

<td><?php echo $row->year; ?></td>          // nella tabella film

</tr>


<? endwhile; ?>

</table>

</body>
 
Sembra che ci sia tipo un problema di apici, cambia cosi:
PHP:
<?php
   
require_once("connetti.php");


$ok = $_GET["tag"];




$query = "SELECT * FROM film_actor WHERE genre='$ok' OR genre LIKE '%$ok%' OR genre LIKE '%$ok' OR genre LIKE '$ok%'";


$result = mysql_query( $query );

if (!$result)
die("mySQL error: ". mysql_error());
while( $row = mysql_fetch_object( $result ) ) : ?>


<?php $films = $row->film_id;?>
<tr>
    
<td><?php echo "<a href='film.php?id=$films'></a>";?></td>

<td><?php echo $row->genre; ?></td>

</tr>


<? endwhile; ?>

</table>

</body>
 
inserito INNER JOIN nella query, adesso ok

per qualche strano motivo non visualizzo il film_id :rolleyes:


sshot-7.png


PHP:
<?php
    
    require_once("connetti.php");
    

    $ok = $_GET["tag"];




$query = "SELECT * FROM film_actor
INNER JOIN film ON film_actor.film_id = film.film_id
INNER JOIN actor ON film_actor.actor_id = actor.actor_id
WHERE genre='$ok' OR genre LIKE '%$ok%' OR genre LIKE '%$ok' OR genre LIKE '$ok%'";


$result = mysql_query( $query );

if (!$result)
 die("mySQL error: ". mysql_error()); 
while( $row = mysql_fetch_object( $result ) ) : ?> 



<tr>
  
<td><a href="film.php?id=<?php echo $row->film_id; ?>"></a> 

<td><?php echo $row->movie_title; ?></td>

<td><?php echo $row->year; ?></td>

<td><?php echo $row->genre; ?></td>           

</tr>


<? endwhile; ?>
 
Ah sorry mi ero dimenticato...
Dentro al link metrici il film id altrimenti è normale che non visualizza niente
PHP:
<a href=...><?php echo $row->film_id;?></a>
 
PHP:
echo "<a href='film_tags.php?tag=$ok'>$ok &nbsp;</a> ";

con questo link e la query prelevo tutti i film del tag,
e se volessi aggiungere l'opzione di visualizzarmi tutti film del tag ma solo dell'attore? :rolleyes:

questo e per l'id attore

PHP:
$actor_id = $_GET['id'];

e nella query cosa aggiungere? :rolleyes:
 

Discussioni simili