FlashXMedlem sedan nov. 19991 033 inlägg Undrar lite över hur man skiljer på ID:et i olika tabeller när dessa har samma namn.
$results = mysql_query("SELECT * " .
"FROM products, id_category, id_products, id_designers " .
"WHERE products.ID='$id' " .
"AND products.category_id=id_category.ID " .
"AND products.products_id=id_products.ID " .
"AND products.designers_id=id_designers.ID", DB);
$result = mysql_fetch_array($results);
Om jag anger $result[ID] så kommer ID:et från tabellen id_designers att skrivas ut.
Hur gör jag om jag vill ha ID:et från t.ex första tabellen products
Nu har jag i.o.f.s. products.ID='$id' och man kan ju lägga tabellen sist i frågan.
Antar att man också kan ange ett alias på kolumnnivå men då måste man väl också ange samtliga kolumner i sql-frågan.
Finns det något enkelt sätt att plocka ut ID:et i ovanstående kod oavsett vilken tabell det gäller?
@ndersMedlem sedan juni 200032 969 inlägg Enkelt sätt?
Utan att kunna vare sig MySQL eller PHP (jag inser att jag är inne på tunt vatten här ;) ), så tycker jag att det borde gå att använda index istället för kolumnnamn. Då krävs ju förstås att man vet hur resultatet ser ut.
Annars borde man kunna speca ID-fältet för sig, för att sedan också plocka in alla fält med *. Visserligen får du ju då ID-fälten med två gånger, men det är ju i alla fall enklare än att specificera alla kolumnnamn i frågan om man har många kolumner.
Mvh,
------------------
All your base are belong to me.
[Redigerat av @nders den 21 sep 2001]
FlashXMedlem sedan nov. 19991 033 inlägg Ju fler tabeller som tillkommer ju fler kolumner blir det och kan i slutändan bli rätt mycket att hålla reda på.
Vill gärna ha en så överskådlig sql-fråga som möjligt då det underlättar en hel del i arbetet.
Hur skulle ett exempel där man kan specifiera ID:et i tabellerna för att sedan lägga till alla kolumner med * se ut? :)
@ndersMedlem sedan juni 200032 969 inlägg Ett exempel:
SELECT A.ID AS IDA, B.ID AS IDB, A.*, B.* FROM tblA as A, tblB as B WHERE A.ID = B.ID_från_A
Detta är dock otestat, men det borde fungera. :)
Mvh,
------------------
All your base are belong to me.