Cum se poate afisa in loc de un ID, un text in Php&MySql ?
Se dă următoarea problemă: Într-o tabela mysql se stochează doar id-uri iar aceste id-uri corespund unor informații stocate în alta tabela. Cum s-ar putea sa se afișeze în loc de aceste id-uri informațiile corespunzătoare acestor id-uri ?
Exemplu
De exemplu avem tabela cu câmpurile:
ID | Nume | Prenume | Varsta |
1 | Nume 1 | Prenume 1 | 34a |
2 | Nume 2 | Prenume 2 | 21 |
3 | Nume 3 | Prenume 3 | 45 |
Iar în tabela contacte avem următoarele câmpuri:
ID | ID_user | Nume_contact | Adresa |
1 | 1 | Prenume 1 | adresa 1 |
2 | 2 | Prenume 2 | adresa 2 |
3 | 3 | Prenume 3 | adresa 3 |
Ideea ar fi ca în loc de ID_user sa se afișeze numele userului care deține contactul aferent. Codul Php folosind si clasa MySqlLib ar arată cam așa:
require_once("MySqlLib.class.php");
$hostname_db="localhost";
$name_db="test";
$username_db="root";
$password_db ="";
$prefix_db = "";
$sql = new MySqlLibClass($hostname_db,$name_db,$username_db,$password_db,$prefix_db);
$conn = $sql->connect();
$query = "SELECT contacte.ID,
contacte.Nume_contact,
contacte.ID_user,
useri.Nume AS 'Nume_utilizator'
FROM contacte
INNER JOIN useri ON contacte.ID_user = useri.ID
ORDER BY contacte.Nume_contact";
$result = $sql->query_html( $query );
Rezultat
Rezultatul este următorul:
ID | Nume_utilizator | Nume_contact | Adresa |
1 | Nume 1 | Prenume 1 | adresa 1 |
2 | Nume 2 | Prenume 2 | adresa 2 |
3 | Nume 3 | Prenume 3 | adresa 3 |
In felul acesta se pot înlocui anumite informații irelevante pentru utilizatori cu cu niște informații ușor de citit , în cazul acesta se înlocuiește un ID cu numele utilizatorului care corespunde acelui ID.
O zi buna tuturor!