Problema risultati duplicati

dny18

Nuovo Utente
16 Feb 2015
18
0
0
Ciao a tutti,
Ho creato le seguenti tabelle

giocatore
id | numero | nome | ruoloid | data | squadraid

posizione_giocatore
gicoatoreid | posizioneid

posizione
id | nome_posizione

ruolo
id | nome_ruolo

squadra
id | nome_squadra

Ho creato un form per inserire i giocatori per poi visualizzarli in un elenco in una tabella, con le seguenti colonne:

numero | nome | nome_ruolo | data | nome_posizione | nome_squadra

Riesco ad inserire tutti i dati nel database correttamente, mentre nel visualizzare i risultati ho un problema con la colonna nome_posizione che mi dovrebbe elencare tutti le posizioni in campo che un giocatore può coprire (attaccante, attaccante esterno ec...).

Esempio di come dovrebbe essere:
7 Ronaldo ATT 05/02/1985 AS, ATT, AD Real Madrid

Invece, come risultato ho questo:
7 Ronaldo ATT 05/02/1985 AS Real Madrid
7 Ronaldo ATT 05/02/1985 ATT Real Madrid
7 Ronaldo ATT 05/02/1985 AD Real Madrid

Posto il codice:

index.php code:

PHP:
include $_SERVER['DOCUMENT_ROOT'] . '/manualmanager/includes/db.inc.php';

try
{
  $result= $pdo->query ("SELECT giocatore.id, numero, nome, nome_ruolo, anno, DATE_FORMAT(anno, '%d-%m-%Y') as anno, nome_squadra, nome_posizione
          FROM giocatore
		  INNER JOIN ruolo ON ruoloid= ruolo.id
		  INNER JOIN squadra ON squadraid= squadra.id
		  INNER JOIN posizione_giocatore ON giocatore.id= giocatoreid
		  INNER JOIN posizione ON posizioneid= posizione.id
		  
			");	
		  			   
					  
}
catch (PDOException $e)
{
  $error = 'Errore nel recupero dei giocatori dal database' . $e->getMessage();
  include 'error.html.php';
  exit();
}


$giocatori=array();

foreach ($result as $row)
{
  $giocatori[] = array('id'=> $row['id'], 'numero' =>$row['numero'], 'nome'=> $row['nome'], 'nome_ruolo'=> $row['nome_ruolo'], 'anno'=> $row['anno'], 'nome_posizione'=> $row['nome_posizione'], 'nome_squadra'=> $row['nome_squadra']);
}


include 'giocatori.html.php';



giocatori.html.php code:

PHP:
<?php include_once $_SERVER['DOCUMENT_ROOT'] . '/manualmanager/includes/helpers.inc.php'; ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Gestione Giocatori</title>
</head>
<body>
<h1>Gestione Giocatori</h1>
<p><a href="?add">Aggiungi un giocatore</a></p>
<ul>
 <?php foreach ($giocatori as $giocatore): ?>
 <li>
  <form action="" method="post">
   <div>
   <input type="hidden" name="id" value=" <?php echo $giocatore['id']; ?> "> 
   <?php htmlout($giocatore['numero']); ?>
   <?php htmlout($giocatore['nome']); ?> 
   <?php htmlout($giocatore['nome_ruolo']); ?> 
   <?php htmlout($giocatore['anno']); ?>
   <?php htmlout($giocatore['nome_posizione']); ?> 
   <?php htmlout($giocatore['nome_squadra']); ?> 
    
   
   
   
   <input type="submit" name="action" value="Edit">
   <input type="submit" name="action" value="Delete">
   </div>
  </form>
 </li>
 <?php endforeach; ?>
</ul>
  
</body>
</html>

Mi date una mano?

Grazie
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Prova intanto a vedere se c'è solo un cristiano ronaldo nel database con un solo ruoloid.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Sempre controllando nel database (visto che la query mi sembra corretta) vedi se nella tabella RUOLO ci sono più ruoli con lo stesso id.
 

dny18

Nuovo Utente
16 Feb 2015
18
0
0
Allora nella tabella ruolo non ci sono doppioni, mentre nella tabella posizione_giocatore, che è una tabella di lookup, nella colonna giocatoreid ci sono tre id uguali (Ronaldo) ognuno di questi associato ad una posizioneid (AS, ATT, AD).
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Gli id sono identificativi e non devono MAI essere uguali.
Metti un valore diverso agli id (1,2,3 per AS,ATT,AD) altrimenti non ha senso.
 
Discussioni simili
Autore Titolo Forum Risposte Data
StarFish [MySQL] Full Text problema rilevanza risultati MySQL 0
G Problema nella pagine dei risultati ricerca Wordpress WordPress 2
K problema di stampa risultati PHP 1
Z Problema con il mio tp-l i nk Reti LAN e Wireless 0
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 4
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
H problema carrello woocommerce PHP 2
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
M Problema su query JOIN in tre tabelle PHP 0
S Problema esportazione tabelle Mysql in Excel PHP 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
M Problema su update di 3 tabelle PHP 1
T problema con select dinamica con jquery Javascript 0
A Problema checkout carrello php PHP 2
R Problema al server Domini 0
A Problema nel passare la variabile PHP 0
G Problema update di un database PHP 0
S Problema con spazi bianchi HTML e CSS 4
E Problema motore di ricerca FULL_TEXT PHP 0
Tommy03 Problema durata cookie PHP 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
I PROBLEMA CODICE INSERTION SORT C C/C++ 2
I PROBLEMA CODICE C - INSERTION SORT Presentati al Forum 1
N Problema pennelli Photoshop Photoshop 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1

Discussioni simili