Proffstips:Aldrig använd SELECT * i programvara om du inte vet exakt varför du gör det. I ditt fall är det skadligt.
Jag antar att din fråga verkligen är emot user och trade tabeller du nämnde i din fråga.
Omarbeta först din fråga med SQL från 2000-talet, enligt följande:
SELECT *
FROM trade AS t
JOIN user AS s ON s.user_id = t.user_id_sender
WHERE s.facebook_id = $fbid
För det andra, använd detta för att hämta dina användarnamn och artikel-id:t.
SELECT s.user_name AS sender,
r.user_name AS receiver,
t.trade_id AS item_id
FROM trade AS t
JOIN user AS s ON s.user_id = t.user_id_sender
JOIN user AS r ON r.user_id = t.user_id_receiver
WHERE s.facebook_id = $fbid
Se hur vi JOIN user tabell två gånger, med två olika alias s (för avsändare) och r (för mottagare)? Det är tricket att hämta båda namnen från ID:n.
Se hur vi använder aliasen sender och receiver för att disambiguera de två user_name kolumner i resultatuppsättningen?
Nu, när du använder php fetch_array funktion, kommer du att sluta med dessa element i arrayen.
$history['sender']
$history['receiver']
$history['item_id']
Arrayindexsträngarna motsvarar aliasnamnen du angav i din SELECT klausul i din fråga.
Så, en anledning att undvika SELECT * är att du kan få mer än en kolumn med samma namn, och det betyder fetch_array kommer att eliminera dessa dubbletter och så kommer den att förlora användbar information från din resultatuppsättning.