[PHP] Consiglio su Qry/array

greghph27

Nuovo Utente
21 Giu 2017
14
0
1
Ciao a tutti
chi mi sa consigliare "la via da prendere", possibilmente la piu veloce in termini di richiesta/risposta client/server.
La mia situazione è questa:

ho tre tabelle
-tabella articoli
--codice
--idimmagine1 (Integer collegato ad id tabella immagini)
--idimmagine2 (Integer collegato ad id tabella immagini)
--idimmagine3 (Integer collegato ad id tabella immagini)
--iddimensione (Integer collegato ad id tabella dimensioni)

- tabella immagini
-- id
--immagine

- tabella dimensioni
--id
--dimensione

la mia necessita è di ottenere una tabella con visualizzati i seguenti dati
Codice Immagine Immagine Immagine Dimensione

cosa mi consgiliate di fare?
Usare Union nella stringa SQL o, avevo pensato, di crearmi prima due array contenenti il primo id ed immagine della tabella immagini e il secondo id e dimensione della tabella dimensioni e quando ciclo la tabella articoli lego i vari idimmagine all'array corrispondente ed espongo il valore che mi serve.
Su quest'ultima chi potrebbe spiegarmi come fare?
grazie
 

marino51

Utente Attivo
28 Feb 2013
3.016
174
63
Lombardia
potresti provare con questa query che restituisce quello che chiedi,
Codice:
select
 a.codice
,i1.immagine as immagine1
,i2.immagine as immagine2
,i3.immagine as immagine3
,d.dimensione
from articoli a
    ,immagini i1
    ,immagini i2
    ,immagini i3
    ,dimensioni d
where i1.id = a.idimmagine1
  and i2.id = a.idimmagine2
  and i3.id = a.idimmagine3
  and d.id = a.iddimensione

  and a.codice between 31 and 40

order by a.codice
ho inserito "between" e "order by" come esempio nel caso fossero utili

MA... questa query estrae gli articoli che hanno le 3 immagini e la dimensione presenti nelle rispettive tabelle,
nel caso un id non sia trovato, l'articolo non viene estratto

se dovesse esistere questa possibilità (che non accenni nella tua richiesta), occorre usare le join con lo stesso principio
 

greghph27

Nuovo Utente
21 Giu 2017
14
0
1
Ciao Marino51
effettivamente mi son dimenticato di scrivere che se non è presente l'id in relazione con le tabelle, lo stesso deve essere esposto
ho provato cosi...ma mi estrae piu righe di quante ci siano in tabella (9035)
PHP:
$query="SELECT A.*, B.formato AS formatop, C.formato AS formatopm, D.nomefile AS logoclasse, E.nomefile AS logoinf, ";
$query .="F.nomefile AS logoce, G.nomefile AS logoimq, H.nomefile AS logoenec, I.nomefile AS logoecolight, ";
$query .= "L.nomefile AS logoet, M.nomefile AS logovarie ";
$query .="FROM items AS A ";
$query .="INNER JOIN formato_etichette AS B ON B.cf_id=A.ksformato ";
$query .="INNER JOIN formato_etichette AS C ON C.cf_id=A.ksformatomaster ";
$query .="INNER JOIN loghi AS D ON D.cf_id=A.classe ";
$query .="INNER JOIN loghi AS E ON E.cf_id=A.infiammabile ";
$query .="INNER JOIN loghi AS F ON F.cf_id=A.ce ";
$query .="INNER JOIN loghi AS G ON G.cf_id=A.imq ";
$query .="INNER JOIN loghi AS H ON H.cf_id=A.enec ";
$query .="INNER JOIN loghi AS I ON I.cf_id=A.ecolight ";
$query .="INNER JOIN loghi AS L ON L.cf_id=A.et ";
$query .="INNER JOIN loghi AS M ON D.cf_id=A.varie ";

risultato = 12.308 righe anziche 9035
nei campi della tab items, se non è collegato a nennun id delle altre due tabelle, il valore è 0

ho provato anche con LEFT JOIN e mi da 55.385 valori
dove sbaglio?
 

greghph27

Nuovo Utente
21 Giu 2017
14
0
1
ciao ho risolto nidificando le inner join
PHP:
$query="SELECT A.*, B.formato AS formatop, C.formato AS formatopm, D.nomefile AS logoclasse, E.nomefile AS logoinf,
F.nomefile AS logoce, G.nomefile AS logoimq, H.nomefile AS logoenec, I.nomefile AS logoecolight, L.nomefile AS logoet, M.nomefile AS logovarie
FROM loghi AS M INNER JOIN (loghi AS L INNER JOIN (loghi AS I INNER JOIN (loghi AS H
INNER JOIN (loghi AS G INNER JOIN (loghi AS F INNER JOIN (loghi AS E INNER JOIN (loghi AS D
INNER JOIN (formato_etichette AS C INNER JOIN (formato_etichette AS B INNER JOIN items AS A ON B.cf_id = A.ksformato)
ON C.cf_id = A.ksformatomaster) ON D.cf_id = A.classe) ON E.cf_id = A.infiammabile) ON F.cf_id = A.ce) ON G.cf_id = A.imq) ON H.cf_id = A.enec)
ON I.cf_id = A.ecolight) ON L.cf_id = A.et) ON M.cf_id = A.varie ";
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Consiglio su come istanziare un Bottone PHP 0
S [PHP] Richiesta consiglio PHP 1
K Richiesta consiglio per imparare programmazione php PHP 2
S Consiglio su editor html, php HTML e CSS 4
P [RICHIESTA]Consiglio per iniziare con il PHP e MySQL PHP 3
L Consiglio su download o no di file con php PHP 0
A consiglio uso jquery php per mostrare parte di un form PHP 6
B Consiglio per approfondire studio php PHP 4
R Qualche consiglio per il mio primo sito in PHP? Presenta il tuo Sito 5
M Consiglio su script in php PHP 2
L php consiglio PHP 5
A Consiglio per sviluppo sito con sezione news in PHP Webdesign e Grafica 6
L Consiglio classi php PHP 2
L Consiglio su corso PHP 5 e Mysql PHP 1
Ninja_Sciacallo Consiglio su script in php (statistiche) PHP 1
M Consiglio veloce php myadmin PHP 0
O per Easy PHP mi date un consiglio ? PHP 1
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 0
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1

Discussioni simili