Problema query con join visualizzazione record ripetuti

andrea.peo

Nuovo Utente
20 Lug 2013
11
0
0
Un saluto a tutti
mi sono piantato in un problema probabilmente facile, ma non riesco ad uscirne.
Vi espongo il problema:
Mi trovo con due tabelle:
Tabella tecnico, con id/nome/matricola,
Tabella interventi, con id_int/commessa/tecnico1/tecnico2/tecnico3
Allego immagine:

Tabelle.png

ho messo in relazione tecnico.id con interventi.id_int, e fino a qui tutto bene.
Il problema e che vorrei visualizzare i seguenti dati:
commessa/nome tecnico1/nome tecnico2/nome tecnico3, e qui inizia l'agonia, non so propio come fare,
provo allegarvi il codice, nella speranza che qualche d'uno possa aiutarmi. :crying:

PHP:
$result = mysql_query("SELECT * FROM interventi
INNER JOIN tecnico ON interventi.tecnico1 = tecnico.id OR interventi.tecnico2 = tecnico.id OR interventi.tecnico3 = tecnico.id
ORDER BY commessa ASC")
or die(mysql_error());
echo"<table>
<tr>
<th>Commessa</th>
<th>Tecnico1</th>
<th>Tecnico2</th>
<th>Tecnico3</th>
</tr>"; 
while($row = mysql_fetch_array( $result )) { 
echo"<tr><th>$row['commessa']</th>";
echo"<th>$row['tecnico1']</th>"; //Vorrei visualizzare nome e non il numero id
echo"<th>$row['tecnico2']</th>"; //Vorrei visualizzare nome e non il numero id
echo"<th>$row['tecnico3']</th>"; //Vorrei visualizzare nome e non il numero id
echo"</tr></table>";
}
Grazie in anticipo a qualunque anima pia :byebye:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
ti sposto in php che mi sembra più adeguato, poi
cosi di getto mi è venuto questo script, provalo non so se funzia
PHP:
<?php
//....
echo"<table>
<tr>
<th>Commessa</th>
<th>Tecnico1</th>
<th>Tecnico2</th>
<th>Tecnico3</th>
</tr>";
while($row = mysql_fetch_array( $result )) {
	foreach($row as $campo => $valore)
		if($campo == "tecnico1" || $campo == "tecnico2" || $campo == "tecnico3"){
			$q=mysql_query("SELECT nome FROM tecnico WHERE id=$valore");
			$n=mysql_fetch_array($q);
			$nome[]=$n['nome'];
		}
	)
	echo"<tr><td>{$row['commessa']}</td>";
	echo"<td>{$nome[0]}</td>"; //Vorrei visualizzare nome e non il numero id
	echo"<td>{$nome[1]}</td>"; //Vorrei visualizzare nome e non il numero id
	echo"<td>{$nome[2]}</td>"; //Vorrei visualizzare nome e non il numero id
	echo"</tr>";// </table> da portare fuori del while
}  
echo"</table>";
//....
?>

poi comunque abbandona le vecchie istruzioni mysql deprecate e passa a mysqli o alla classe pdo
 

andrea.peo

Nuovo Utente
20 Lug 2013
11
0
0
Ti ringrazio per la rapidissima risposta,
ho provato il codice, il valore commessa ok! ma i valori nome restano vuoti,
o trovato una parentesi di troppo, che ho eliminato altrimenti non funziona.
PHP:
}
    )
    echo"<tr><td>{$row['commessa']}</td>";
lo sostituito con:
PHP:
 }
    echo"<tr><td>{$row['commessa']}</td>";
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
questo l'ho provato con i dati che hai postato delle tue tabelle e sembrerebbe funzionare
PHP:
<?php
//***dati di connessione***
/*
$result = mysql_query("SELECT * FROM interventi
INNER JOIN tecnico ON interventi.tecnico1 = tecnico.id OR interventi.tecnico2 = tecnico.id OR interventi.tecnico3 = tecnico.id
ORDER BY commessa ASC")
or die(mysql_error());
*/
$result = mysql_query("SELECT * FROM interventi ORDER BY commessa ASC");
//....
echo "<pre>";
echo"<table>
<tr>
<th>Commessa</th>
<th>Tecnico1</th>
<th>Tecnico2</th>
<th>Tecnico3</th>
</tr>";
$conta=0;
while($row = mysql_fetch_assoc( $result )){
	foreach($row as $campo => $valore){
		if($campo == "tecnico1" || $campo == "tecnico2" || $campo == "tecnico3"){
			$q=mysql_query("SELECT nome FROM tecnico WHERE id=$valore");
            $n=mysql_fetch_array($q);
			$nome[]=$n['nome'];
        }//non era in più
    }
    echo"<tr><td>{$row['commessa']}</td>";
    echo"<td>{$nome[$conta]}</td>"; //Vorrei visualizzare nome e non il numero id
    echo"<td>{$nome[$conta+1]}</td>"; //Vorrei visualizzare nome e non il numero id
    echo"<td>{$nome[$conta+2]}</td>"; //Vorrei visualizzare nome e non il numero id
    echo"</tr>";// </table> da portare fuori del while
$conta+=3;
}  
echo"</table>";
//.... 
?>

per comodità ho usato le mysql
 

andrea.peo

Nuovo Utente
20 Lug 2013
11
0
0
Tutto ok! :mavieni:
Ho provato e funziona a meraviglia.
Ti ringrazio tantissimo.
By By :byebye:
 
Discussioni simili
Autore Titolo Forum Risposte Data
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
M [PHP] Problema con query select PHP 2
V [MySQL] problema query con date su server MySQL 5
D Problema con query in php PHP 5
M [PHP] Problema con query PHP 17
Rikk73 [C#] problema con stampa da query linq EnumerableRowCollection .NET Framework 0
M Problema con query PHP 15
G Problema con una query. PHP 5
F problema su query con nome tabella variabile PHP 20
M problema con media query CSS HTML e CSS 1
L problema creazione query con campo float PHP 2
Emix Dubbio e problema su query con operatore LIKE PHP 56
S Problema query con sum MySQL 4
G Problema con query mysql MySQL 1
L PHP: problema con query mysql. PHP 3
S Autocompletamente con jQuery, PHP e MySQL - Problema con le query PHP 7
Trapano Problema con query MySQL 32
K problema con query complessa MySQL 4
K [MYSQL] problema con una query in loop MySQL 1
D problema con ciclo if else query PHP 3
neo996sps Problema con query e script PHP PHP 4
B Problema con query mySql Java 2
P problema con query PHP 0
A problema con query mysql PHP 1
A Problema con Query SQL Classic ASP 3
P problema con una query PHP 0
B problema con query PHP 4
K problema con una query.. Database 2
M Problema su query JOIN in tre tabelle PHP 0
A [PHP] Problema query insert [RISOLTO] PHP 14
T [php] problema creazione query select-where PHP 5
trattorino problema raccapricciante php conteggio query PHP 4
L [PHP] Problema creazione query a numero di parametri variabile PHP 6
G Mysql ( Query) problema interrogazione MySQL 0
E [PHP] problema insert query PHP 9
G problema query mysql in php PHP 5
F PHP problema doppi apici all'interno di una query SQL PHP 1
D Problema caratteri jolle su criterio Query MS Access 0
elpirata Query di ricerca problema campo data italiano PHP 2
X Problema di sostituzione tramite query sql MySQL 5
S Problema Query PHP 2
S Problema query PHP 25
Emix Problema query inserimento... PHP 6
B problema query PHP 6
B problema query mysql php PHP 1
A problema query e javascript Javascript 0
D E' natale lo so... ma ho un problema su una query :S MySQL 7

Discussioni simili