Hai ragione,
tolta la virgola ecco che esce fuori
Tabella/alias non unico: 'eventi'
![]()
Hai ragione,
tolta la virgola ecco che esce fuori
Tabella/alias non unico: 'eventi'
![]()
dichiari due volte la stessa tabella "eventi"Originariamente inviato da marckhh
Hai ragione,
tolta la virgola ecco che esce fuori
Tabella/alias non unico: 'eventi'
![]()
prova cosi':codice:FROM eventi INNER JOIN ordini ON ordini.utente_id = utenti.utente_id INNER JOIN eventi ON eventi.event_id = ordini.event_id
codice:FROM utenti INNER JOIN ordini ON ordini.utente_id = utenti.utente_id INNER JOIN eventi ON eventi.event_id = ordini.event_id
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Ho provato,
mi esce questo
Colonna: 'event_id' di order clause e` ambigua
ellapeppa....Originariamente inviato da marckhh
Ho provato,
mi esce questo
Colonna: 'event_id' di order clause e` ambigua
mettici anche la tabella. Ma dare un'occhiata a cosa hai scritto e a cosa ti viene segnalato???
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Hai ragione,
ho aggiunto Order by eventi.event_id Desc e funziona. Ma non come vorrei. Posto il resto del codice:
praticamente che accade? che nel nome dell'utente che ha acquistato tot. biglietti per quell'evento appare sempre lo stesso nome. Esempio. Marco effettua 2 acquisti per l'evento 10. Sara ne acquista 3 sempre per l'evento 10. Il risultato del ciclo mi da sempre marco. Perchè?Codice PHP:$query = mysql_query("SELECT utenti.*, eventi.*, ordini.*
FROM utenti
INNER JOIN ordini ON ordini.utente_id = utenti.utente_id
INNER JOIN eventi ON eventi.event_id = ordini.event_id
WHERE eventi.event_id ='".$_GET['id']."' Order by eventi.event_id Desc")
or die( mysql_error() . "
" . $sql);
$str = '<table border=0 bordercolor=#000000>';
$str.= '<thead>';
$str.= '<tr>';
$str.= '<th style=\'padding-right:20px;\'>Nome</th>';
$str.= '</tr>';
$str.= '</thead>';
$str.= '<tbody>';
while($results = mysql_fetch_array($query)) {
$str.='<tr>';
$str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['nome'].'</td>';
$str.='</tr>';
$str.= '</tbody>';
$str.= '</table>';
echo $str;
}
}
?>
p.s. aggiungo che i dati relativi agli ordini sono nella tabella ordini
DA questa query non ne bengo a capo.......![]()
Nessuna idea?
Aggiungo che mi da sempre soltanto due risultati, cioè, nell'esempio citato prima, il solo nome di Marco. E se per esempio faccio l'acquisto di due biglietti con due nomi diversi, estraendo anche la somma dei biglietti mi da due, ma sempre intestati a Marco. Non Marco e Sara.
Lasciando perdere la formattazione che fai della tabella html. Apri la table prima del while e poi la chiudi dentro al ciclo while....![]()
Allora, fai una prova tanto per capire se il problema e' nella query oppure nella stampa del result set.
e metti select * visto che comunque raccogli tutti i campi. Tieni presente che campi con lo stesso nome saranno sovrascrittiCodice PHP:$query = mysql_query("SELECT *
FROM utenti
INNER JOIN ordini ON ordini.utente_id = utenti.utente_id
INNER JOIN eventi ON eventi.event_id = ordini.event_id
WHERE eventi.event_id ='".$_GET['id']."'
Order by eventi.event_id Desc")
or die( mysql_error() . "
" . $sql);
while($results = mysql_fetch_array($query)) {
echo $results['nome'].'
';
}
}
?>
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Niente,
ho provato ma mi da sempre lo stesso risultato, ossia:
Nome Numero biglietti
ivan 1
Nome Numero biglietti
ivan 1
Soltanto che il secondo record mi dovrebbe dare sara e poi 1. Invece mi prende sempre il primo utente che ha effettuato l'acquisto. E la cosa curiosa che anche se gli acquisti sono più di due i records del risultato sono sempre 2!!!!![]()
evidentemente il where pone dei limiti alla tua ricerca. Prova senza mettere il where.Originariamente inviato da marckhh
Niente,
ho provato ma mi da sempre lo stesso risultato, ossia:
Nome Numero biglietti
ivan 1
Nome Numero biglietti
ivan 1
Soltanto che il secondo record mi dovrebbe dare sara e poi 1. Invece mi prende sempre il primo utente che ha effettuato l'acquisto. E la cosa curiosa che anche se gli acquisti sono più di due i records del risultato sono sempre 2!!!!![]()
eventi.event_id e' una chiave primaria e quindi hai solo un record che corrisponde a $_GET['id']
quindi il fatto che ne ricevi due (di record) significa che la query non e' impostata correttamente.
@ edit... meglio che ti preciso una cosa. Io ti do suggerimenti come sbloccare il tuo problema, non la soluzione. I dati li hai tu e come li gestisce pure.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.