Det låter som det är UNION du vill använda. Du kan läsa mer om det här:
http://www.w3schools.com/sql/sql_union.asp
Om det inte klarnar, posta gärna ett exempel på hur dina tabeller ser ut och hur du vill att resultatet ska se ut.
9 svar · 613 visningar · startad av Asa
Kan man hämta ut data från två tabeller som ser exakt likadana ut förrutom tabellnamn och primary key. Hur gör man då isåfall? Det skall se likadant ut för varje post som slumpas ut.
Det låter som det är UNION du vill använda. Du kan läsa mer om det här:
http://www.w3schools.com/sql/sql_union.asp
Om det inte klarnar, posta gärna ett exempel på hur dina tabeller ser ut och hur du vill att resultatet ska se ut.
Tackar, skall kika på det och återkommer..
Så här gjorde jag men hur gör jag sen en koll nere i php koden OM det är en post ifrån artiklar eller testat? Har bilderna för artiklar samt testat i olika mappar nämligen..
(SELECT bild,rubrik,ingress,artID,datum FROM cms_artiklar Order by datum desc,artID desc) UNION ALL (SELECT bild,rubrik,ingress,testID,datum FROM cms_testat Order by datum desc,testID desc) LIMIT 5
Kan bilderna ha samma namn? I annat fall är det ju bara att du kollar i första mappen om bilden finns där, och använder den i så fall, och annars tar du andra mappen.
Det kan ha samma namn, men det tror jag nog användaren inte kommer ha. Men det finns inget annat sätt då? Måste skriva ut rätt ID oxå för att sedan kunna länka inlägget vidare.
Annars får jag ändra och ha samma namn på primärnycklarna..
Men posterna i "artiklar" och "testat" har ingenting med varandra att göra?
Du har inte funderat på att ha dem i samma tabell med en typ en enum-kolumn som anger vad som är vad? Eller har de en massa olika kolumner?
Nä, jag gjorde bara en ren kopia av tabellen och ändra namn på den samt primärnyckeln.
Hm, det kunde jag ju ha gjort istället. Är nog smartare det men det blir en massa extra jobb... lite halv jobbigt. Så det går inte annars alltså?
Allt går ju att fixa med fullösningar, förvisso, men det är ju alltid bättre att försöka göra rätt från början, för då slipper man ännu mera trassel i ett senare läge.
Har du använt testat/artiklars id:n på andra ställen? I så fall kan det bli lite jobbigt, ja, eftersom de har samma id för olika saker...
Men annars är det ju bara att flytta över den ena tabellens innehåll till den andra...
OBS! Se till att du har auto_increment på id-kolumnen först.
Lägg till enum-kolumnen:
ALTER TABLE cms_artiklar ADD COLUMN typ ENUM('artikel','testat') NOT NULL;
Och fortsätt med att ge den rätt värde för det som redan finns:
UPDATE cms_artiklar SET typ = 'artikel';
Kopiera därefter över informationen från andra tabellen:
INSERT INTO cms_artiklar (bild, rubrik, ingress, datum) SELECT bild, rubrik, ingress, datum FROM cms_testat;
Och sätt typen:
UPDATE cms_artiklar SET typ = 'testat' WHERE typ = '';
Men ta backup på tabellerna först ifall något skulle gå snett.
Jag har nu fixat så allt ligger i en tabell med det extra fältet typ som har antingen värdet 1 eller 2. Sen kör jag if-satser nu och kollar istället.
Att jag inte tänkte på detta från början. Haha.. Jag gjorde bara en snabbvariant och kopierade men skall tänka nästa gång.
Tack igen tydal för allt :) Trevlig midsommar på dig..