Stringhe duplicate

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Buongiorno a tutti,

tramite questa query riesco a prelevare i dati nel campo genre ( varchar(40) ) , il problema e che sono duplicati,
quello che vorrei ottenere e' questo nella riga Tags

da cosi
Horror Horror Action Crime Drama

a cosi
Horror Action Crime Drama


sshot-1.png


codice

PHP:
<p class="bioheading">Tags</p><p class="biodata"></p>
<?php
            require_once("connetti.php");

$actor_id = $_GET['id'];

$query = "SELECT
genre
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 film_actor.actor_id = $actor_id
";

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





<?php

echo '<font color="green">' . $row->genre . '&nbsp;' . '</font>';

?>


Grazie
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Ciao Tommy :)
ho inserito GROUP BY genre ma..
funziona solo su testo singolo, su doppio no, mi spiego
se e' cosi
Horror
e' OK
se invece e' cosi Horror Drama
visualizzo duplicato
le stringhe sono con lo spazio

sshot-2.png
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Prova ad eseguire questa query su phpmyadmin e posta il risultato (cosi capisco meglio):
PHP:
SELECT
genre
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 film_actor.actor_id = $actor_id GROUP BY genre
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Ah ok pensavo che non ce ne fossero sulla stessa riga... Allora puoi fare così:
PHP:
<?php
            require_once("connetti.php");

$actor_id = $_GET['id'];

$query = "SELECT
genre
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 film_actor.actor_id = $actor_id
";
$arr = array();
$result = mysql_query( $query );
if (!$result)
die("mySQL error: ". mysql_error());
while( $row = mysql_fetch_object( $result ) ) : ?>





<?php

$result = explode(" ",$row->genre);
foreach($result as $res){
array_push($arr, $res);
}


?>
// poi fuori dal while fai cosi:
<?php
foreach(array_unique($arr) as $ok){
echo "$ok ";
}
?>
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
ricevo errore

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in E:\OpenServer\domains\localhost\cinema\members\cinema.php on line 1583

line 1583

PHP:
while( $row = mysql_fetch_object( $result ) ) : ?>


sshot-1.png




PHP:
<p class="bioheading">Tags</p><p class="biodata"></p>


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

$actor_id = $_GET['id'];

$query = "SELECT
genre
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 film_actor.actor_id = $actor_id
";
$arr = array();
$result = mysql_query( $query );
if (!$result)
die("mySQL error: ". mysql_error());
while( $row = mysql_fetch_object( $result ) ) : ?>





<?php

$result = explode(" ",$row->genre);
foreach($result as $res){
array_push($arr, $res);
}


            
            
?>

<?php // poi fuori dal while fai cosi:
foreach(array_unique($arr) as $ok){
echo "$ok ";
}
?>           
            
<? endwhile; ?>
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Quindi diventa cosi:
PHP:
<p class="bioheading">Tags</p><p class="biodata"></p>


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

$actor_id = $_GET['id'];

$query = "SELECT
genre
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 film_actor.actor_id = $actor_id
";
$arr = array();
$result = mysql_query( $query );
if (!$result)
die("mySQL error: ". mysql_error());
while( $row = mysql_fetch_object( $result ) ) : ?>





<?php

$risultato = explode(" ",$row->genre);
foreach($risultato as $res){
array_push($arr, $res);
}


            
            
?>
<? endwhile; ?>
<?php // poi fuori dal while fai cosi:
foreach(array_unique($arr) as $ok){
echo "$ok ";
}
?>
 
  • Like
Reactions: Alex_70

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
adesso funziona, :), grazie Tommy

si puo' fare in modo che se io clicco sul tag mi trova tutti i film con quel tag?
e' possibile? :rolleyes: e come?
 

Hormus

Utente Attivo
26 Giu 2020
83
10
8
Cambia il secondo e terzo $result in un nome di variabile diverso da $result che è l'oggetto mysql.
$new_result.
Se il secondo foreach deve effettivamente essere iterato al di fuori del while devi inserirlo dopo endwhile;
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Cambia il secondo e terzo $result in un nome di variabile diverso da $result che è l'oggetto mysql.
$new_result.
Se il secondo foreach deve effettivamente essere iterato al di fuori del while devi inserirlo dopo endwhile;

cioe' :rolleyes:

Al posto di questo metti un link:
PHP:
<a href=" tag.php?tag=$ok">$ok</a>
Poi crei una pagina tag.php dove recuperi con GET il tag, fai una query per cercare i film con quel tag e li mostri


ok, provo :)
grazie ancora
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
la query come dovrebbe essere strutturata

cosi va bene?


PHP:
<?php


require_once("connetti.php");

$ok = $_GET["id"];
$query = mysql_query ("SELECT * FROM film_actor  WHERE genre=". $ok);

$row = mysql_fetch_array ($query);

?>
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Penso di si, fai qualche prova.
Ah cmq se nel link hai messo tag.php?tag=$ok, su tag.php devi mettere $_GET['tag'] non $_GET['id'] (magari hai messo nel link tag.php?id=$ok e mi sbaglio)
 

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
Al posto di questo metti un link:
PHP:
echo "<a href=" tag.php?tag=$ok">$ok</a>";

Parse error: syntax error, unexpected 'tag' (T_STRING), expecting ',' or ';' in E:\OpenServer\domains\localhost\cinema\members\cinema.php on line 1605
 
Ultima modifica:

Alex_70

Utente Attivo
13 Nov 2018
371
14
18
HELL
ho creato la pagina tag.php, il risultato non e' visibile,


sshot-1.png


penso che il motivo risiede nelle stringhe dentro il campo genre :rolleyes:

codice


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

    $ok = $_GET["tag"];
$query = mysql_query ("SELECT * FROM film_actor  WHERE genre=". $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 class="text-left"><?php echo $row->genre; ?></td>

</tr>


<? endwhile; ?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
MarcoGrazia Operatore IN e stringhe CSV PHP 3
F confrontare due stringhe "numeriche" PHP 7
R Tradurre stringhe con php e google translator PHP 4
A Cercare un carattere uguale in due stringhe Java 5
P [PHP] Inserire stringhe in input(text),memorizzarle e stamparle in file successivo PHP 0
E [PHP] confrontare stringhe importate da csv PHP 19
M [PHP] Stringhe con accento nel POST PHP 3
M [java] esercizio lunghezza array di stringhe Java 0
K [WordPress] editare stringhe di deafault WordPress 0
S [Javascript] [HTML] creare stringhe di riferimento da riutilizzare Javascript 5
B [Java] Stringhe binarie Java 0
venomina [MySQL] Stringhe vuote MySQL 0
E [PHP] Operazioni di confronto su stringhe PHP 26
G [PHP] Operazioni sulle stringhe PHP 2
D [Problema] Comparare stringhe Sviluppo app per Android 0
S stringhe con caratteri speciali PHP 3
A Problema con stringhe e numeri interi PHP 2
M Stringhe con caratteri non codificati (es. �) PHP 1
xone Filtrare e ripulire stringhe in input PHP 1
F Controllo tra due stringhe jQuery 5
K formattazione stringhe Javascript 1
K alcuni chiarimenti sul metodo di ricerca nelle stringhe o array Javascript 1
K problema di sintassi con le stringhe PHP 5
F spazi stringhe PHP 3
N Confrontare due Stringhe PHP 2
S Stringhe: confrontare immissione con stringa d'esempio e costruire stringhe da più campi PHP 10
P Escludere stringhe contenute nei record da una select MySQL 3
M Estrapolare stringhe da una funzione PHP 7
M Dividere Stringhe per MySQL PHP 6
G Confrontare due stringhe PHP 11
F confrontare due stringhe c Programmazione 0
N Modifica valori stringhe di un altro file PHP 7
SolidSnake4 stringhe PHP 7
F programma con le stringhe in c!! Programmazione 0
N [PHP/MySQL] Problema inserimento stringhe ' or ', ' and ' PHP 2
L Problema concatenzione stringhe PHP 2
P Sostituzione stringhe sulla base di una tabella di conversione MySQL 2
catellostefano stringhe strane nell'header di template joomla Joomla 4
N variabili, stringhe e valori Javascript 4
A Confrontare 2 stringhe in JScript Classic ASP 0
A stringhe Classic ASP 2
F query con stringhe doppie Classic ASP 2
G Problema con le stringhe PHP 3
B concatenare stringhe nel document Javascript 1
S Php - Sostituzione Stringhe PHP 1
P Problema con apici nelle stringhe [era:Cambiare grandezza carattere con JavaScript] Javascript 3
F stringhe: sicurezza PHP 7
A confronto tra stringhe complesse, come fare???? PHP 1
M URGENTE: ORDINAMENTO LESSICOGRAFICO STRINGHE CON MERGESORT ricorsivo IN C (non C++) C/C++ 1
T Concatenazione stringhe Classic ASP 1

Discussioni simili