Dati nulli su join tra più tabelle

MarcoGrazia

Utente Attivo
15 Dic 2009
795
16
18
59
Udine
www.stilisticamente.com
Ardunque :D
Ho creata una semplice applicazione per l'ufficio, una rubrica telefonica su cui annotare indirizzi dei fornitori, numeri e la list degli appuntamenti.
Fino a qui semplice, ma mi sto complicando la vita relativamente a tutte le modifiche richieste dall'ufficio. ( come sempre d'altronde )
Ora la rubrica si appoggia ad un database, con più tabelle al suo interno: una per il nome delle rubriche, una per i numeri di telefono, una per gli indirizzi ed una per gli appuntamenti.
Le tabelle sono relazionate tra loro attraverso degli indici automatici, ma non hanno chiavi esterne.
Semplicemente, partendo dalla creazione di una rubrica, poi si aggiungono i numeri di telefono, quindi se si vuole e/o se si hanno i dati si inserisce anche l'indirizzo, mentre gli appuntamenti sono svincolati e quindi lasciamoli stare per ora.
Il sistema in se è CRUD ( Create, Read, Update and Delete ) e funziona.
Quello che non funziona è la ricerca dei dati, o meglio, la fase RUD è fatta partendo dai campi di un form che si riempie da solo ( tramite ajax ) con i dati presenti nel database.
In pratica si clicca su un tasto accanto al nome che si vuole modificare e si apre il form con i campi riempiti dai dati... o meglio si dovrebbe, perché qui viene il problema, un problema relativo alla query.
La query è la presente:
Codice:
SELECT i.*, r.*, n.* FROM rubriche AS r 
LEFT JOIN numeri AS n ON r.id_rub = n.id_rub
LEFT JOIN indirizzi AS i ON n.id_num = i.id_numero
WHERE n.cognome LIKE CONCAT( \'%\', :value, \'%\' ) AND ( r.privacy_rub = 0 OR r.privacy_rub = :id ); --
dove tramite delle join prendo i dati dalle altre tabelle; ora se lancio la ricerca su un cognome, di cui ho gà oltre al numero di telefono, anche l'indirizzo, non ci sono problemi.
Ma se manca il record di riferimento all'indirizzo, perché non presente, tutti i dati relativi alle tabelle, cioè id_rub, id_num, id_ind sono nulli. Anche se i primi due di fatto esistono.
Sto provando a fare delle modifiche ma non sta funzionando, tipo chiedere i dati degli indirizzi solo se id_ind > 0 ma non cambia nulla e non so come procedere.
 

MarcoGrazia

Utente Attivo
15 Dic 2009
795
16
18
59
Udine
www.stilisticamente.com
E niente ho risolto!
In pratica mi è bastato modificare il nome di un ampo della tabella indirizzi.
id_rub veniva richiamato sia dalla tabella numeri che da quella indirizzi, ma se nella numeri non era un valore nullo, perché il numero di telefono era effettivamente registrato, mancando un indirizzo, questo risultava nullo alla fine.
Cambiato il nome da id_rub a id_rubrica nella tabella indirizzi la query ha funzionato.
Mi sto anche chiedendo a cosa mi serva conservare quel dato lì, dato che il riferimento per la tabella indirizzi è la tabella numeri ( rubriche, numero ed indirizzi, hanno una relazione a cascata ).
 
Discussioni simili
Autore Titolo Forum Risposte Data
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1
A Mostrare dati database per pagine PHP 2
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6
S Gestire scelta dropdown con dati da Mysql PHP 2
C Estrarre dati stringa Sql Database 1
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
W Evitare ridondanza dei dati Classic ASP 3
A Inserimento dati nel database tramite form + altre operazioni PHP 18
Alex_70 sql importazione dati MySQL 0
C Aggiungere blocco dati Javascript 6
G inserire dati automaticamente in mysql PHP 0
Tommy03 Unire dati da due tabelle MySQL 5
S Trasferire dati sulle pagine del sito PHP 7
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
L inviare i dati di un form ad un database PHP 6
Alex_70 Inserimento dati a cascata PHP 204
T Da xsd a xml ed inserimento dati in excel XML 0
G Rendere dati di una tabella mysql link PHP 22
D Chiave unica in estrazione dati da array php PHP 0
L modifica dati. PHP 1
C Problema con dati meteo xml XML 1
L risolto visualizzazione e ordinamento dati PHP 1
D Javascript per il download dei dati Javascript 0
L Recupero dati da SSD Windows 10 prof Windows e Software 2
max1974 raggruppare e girare i dati in colonne MySQL 11
D Difficile creazione excel di dati di grandi dimensioni Classic ASP 2
WebmasterFioriniAndrea SQL, PHP Come passo i dati da una tabella? PHP 1
elpirata [MySQL] Sincronizzare dati tra due tabelle sullo stesso host MySQL 0
M Estrarre dati da una select HTML PHP 3
L [Javascript] Problema salvataggio dati in db Javascript 1
max1974 [Javascript] Grafico chartjs con dati da J.ajax Javascript 3
P Passagio dati complessi tra una ASP.NET webapi e Angular ASP.NET 1
S [PHP] email con inserimento dati nel database PHP 23

Discussioni simili