relazioni tra 2 tabelle mysql

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Ciao a tutti,
vorrei chiedere come si relazionano due tabelle in database mysql, al fine di "copiare" il valore di un campo di una tabella (per esempio l'id)
in un campo della seconda tabella.
Tutto questo al fine di poter estrarre con una query, selezionando di visualizzare (con where....) solo i dati corrispondenti a un id.

Spero sia stato abbastanza chiaro, grazie come sempre.

Iperboreo
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ti faccio un esempio pratico. Supponiamo che il tuo sistema consenta a ogni utente registrato di caricare dei file (un sito come Megaupload, per capirci). Nella più semplice delle ipotesi, avrai due tabelle.

La prima tabella è quella contenente gli utenti ed è strutturata più o meno così:
  • id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
  • username: VARCHAR(255) NOT NULL
  • password VARCHAR(255) NOT NULL
  • salt: VARCHAR(20) NOT NULL
  • email: VARCHAR(255) NOT NULL

La seconda tabella invece contiene i file, e qui dovrai specificare l'ID dell'uploader. Dunque la struttura sarà simile a questa:
  • id: INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
  • user_id: INT(11) NOT NULL
  • name: VARCHAR(255) NOT NULL
  • path: VARCHAR(255) NOT NULL

Ora supponiamo che tu abbia uno script nel quale recuperi i file associati all'utente con ID 1:
PHP:
<?php
// sia $pdo un'istanza di PDO

$stm = $pdo->prepare('SELECT * FROM files WHERE user_id = ?');
$stm->execute(array(1));

print_r($stm->fetchAll(PDO::FETCH_ASSOC));
?>
 

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
grazie per l'aiuto,
ci sto ragionando su parecchio,
ma cosi non mi funziona, le tabelle non interagiscono, non possono,
devo mettere io l'id dell'uploader,

ci ragiono su tutta notte, poi domani ti aggiorno,

grazie Alessandro
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Devi sempre inserire tu l'ID dell'uploader: come fa il database a sapere chi è il possessore della relazione? Il compito del database è immagazzinare dati, non eseguire operazioni logiche.

Se invece stai cercando informazioni sulle FOREIGN KEY di MySQL, ecco qui.
 
Discussioni simili
Autore Titolo Forum Risposte Data
P php e relazioni tra tabelle in pratica PHP 5
A Relazioni tra tabelle PHP 0
M Esportare tabelle mdb con relazioni in mysql MS Access 0
D relazioni 1:n e recupero dati da form PHP 2
D Relazioni uno a molti PHP 3
P Diagramma con relazioni da db esistente Database 0
D Id e relazioni PHP 5
E Query differenza tra tabelle MySQL 5
A differenza tra account email e ISP presenti in blacklist Posta Elettronica 0
W Differenza tra orari PHP 3
Z Google Fonts CSS tra desktop e responsive HTML e CSS 1
MarcoGrazia Associazioni tra Search Console e Analitycs SEO e Posizionamento 0
M Collegamento tra form html e script php PHP 4
D popolare campi tra th alla select PHP 36
Gabriele Visioli Differenza tra hosting e hosting WordPress Hosting 4
S Differenza tra le funzioni include () e require ()? PHP 1
P Ciclare tra array di oggetti PHP 1
B Incongruenze tra Mac ver e PC ver Photoshop 1
N Problema passaggio variabili tra pagine PHP 4
L estrarre valori max tra più tabelle MySQL 2
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
S Utilizzo variabili di sessione tra PC e server PHP 0
R Relazione tra tabelle MS Access 5
Tommy03 Query tra 3 tabelle MySQL 2
elpirata [MySQL] Sincronizzare dati tra due tabelle sullo stesso host MySQL 0
R passaggio variabili tra modulo genitore a figlio jQuery 3
P Passagio dati complessi tra una ASP.NET webapi e Angular ASP.NET 1
A [ASP] Confronto tra dati Form e DB Classic ASP 2
G [PHP] Passare dati tra record PHP 4
M [MS Access] Relazione tra maschere MS Access 1
T onsiglio Web agency tra Caserta Agro Aversano e Napoli e zone vicine. Offerte e Richieste di Lavoro e/o Collaborazione 0
D Jquery, conflitto tra loro risolvibile? jQuery 7
J Passaggio variabile tra 2 file php PHP 15
E Compro profilo Instagram tra 10k e 30k Annunci servizi di Social Media Marketing 2
U [PHP] Differenza tra amministratore e utente PHP 2
P [PHP] Spostamento tra cartelle PHP 2
F [Javascript] Conflitto tra più form nella stessa pagina Javascript 1
M PHP Arrotondamento minuti in differenza tra due Orari PHP 9
felino EXCEL: verifica dati mancanti tra due sheet Windows e Software 2
K [PHP] Controllare dati database tra due valori PHP 18
K [PHP] Collegamento tra più tabelle PHP 10
M [HTML] problema spazio aggiuntivo tra elementi <li> di menu a tendina HTML e CSS 1
gandalf1959 problema con la codifica caratteri accentati e speciali tra php e mysql PHP 3
Z [Javascript] TINYMCE tra &RSQUO e &QUOTE Javascript 2
kiai969 Link tra 3 siti miei SEO e Posizionamento 2
S [Javascript] [CSS] Spazio Bianco tra Slider e Menu foto Javascript 6
G [PHP] operazione matematica tra risultati di query PHP 5
O [PHP] Conflitto tra regole nel file htaccess PHP 10
M Come smistare traffico tra rete locale e vpn Reti LAN e Wireless 0
S rete cablata in cat7 tra due router Reti LAN e Wireless 0

Discussioni simili