Dati nulli su join tra più tabelle

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
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
852
20
28
62
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
max75 query su due tabelle e dati doppioni MS Access 2
K Form che manda dati doppi PHP 1
T problemi con dati menu a tendina HTML e CSS 2
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
V dati scomparsi dal sito HTML e CSS 3
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
A Stampare dati da form PHP 15
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
F Scrivere dei dati in word con php PHP 0
otto9due $_FILE non passa i dati dal form PHP 1
N dati tabella non presi PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
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
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
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

Discussioni simili