1 out of 1 members found this post helpful.

Postat în original de
impelo
Salut,
Am de facut o afisare si nu am idee cum as putea...
Am 2 baze de date:
#baza1
baza1_id
baza1_denumire
baza1_descriere
#baza2
baza2_id
baza1_id (care reprezinta una din inregistrarile din #baza1)
baza2_descriere
Acum, cand vreau sa afisez rezultatele din #baza2, vreau sa afisez in loc de baza1_id sa afisez baza1_descriere corespunzatoare baza1_id. Intelegeti ce spun? Am facut urmatoarea treaba...
Cod PHP:
<?php
$sql="SELECT * FROM baza2 ORDER BY baza2_id DESC";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result, MYSQLI_ASSOC)){
?>
<tr>
<td><? echo $rows['baza2_id']; ?></td>
<td><? echo $rows['baza1_id']; //aici sa afiseze ce corespunde baza1_descriere ?></td>
<td><? echo $rows['baza2_descriere']; ?></td>
</tr>
<?php }
Cum pot afisa acel rand sa imi ia baza1_descriere in loc de baza1_id?
Multumesc anticipat.
Se face un join in SQL.
De exemplu, query-ul tău va fi ceva de genul:
SELECT * FROM baza2 left join baza1 on baza2.baza1_id = baza1.baza1_id ORDER BY baza2_id DESC
Poți citi mai multe despre join-urile MySQL și tipurile de join în documentația de aici.

Postat în original de
navigator10
trebuie sa mai faci inca un select in while, inainte de tabel:
$query = "SELECT baza1_descriere WHERE baza1_id = '".$rows['baza1_id']."'";
$result = mysql_query($query);
$vec = mysql_fetch_array($result);
iar unde vrei sa afisezi informatia in tabel scrii:
<td><? echo $vec['baza1_descriere'];
Implementarea ta de mai sus ar trebui să funcționeze, dar nu este foarte elegantă, doar te complici degeaba când se poate face doar modificând query-ul SQL.