login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Help: Problemen met 2 verschillende tabelen

Offline black_shark - 05/01/2011 18:56
Avatar van black_sharkNieuw lid Hallo,

Ik zit vast even bij een redenering.
Ik wil op mijn index pagina van uit 2 verschillende databanken data halen.
Nu wil dat deze data ook chronologisch(op datum die ik zelf toevoeg) geordend is.
Normaal gewoon join en flats.
Maar nu in 1 van de databanken zit te veel data.

dus ik zou eerst een where frontpage = '1' willen doen
en dan van dat resultaat eigenlijk een JOIN willen doen met een andere tabel.
Maar het lukt me niet goed. Of het werkt toch niet naar behoren.
Alles dit lukt is er dan nog een mogelijkheid om te weten waar de data uitkomt.
Want dan zou ik (wel is waar er op een eigen gegenereerde link geklikt word)
die databank willen meegeven zodat ik de data kan aanpassen of verwijderen.

MVG

5 antwoorden

Gesponsorde links
Offline Martijn - 05/01/2011 19:03 (laatste wijziging 05/01/2011 19:04)
Avatar van Martijn Crew PHP je bent niet duidelijk. Zet is in hoe je database eruit ziet en een paar voorbeeld rijen, en daarna wat je wilt en wat je niet wilt.

Voorbeeld:


TABLE1:
id kolom1 NogEenKolom EnNogIets
1 -- z --------- a ----------- 123
2 -- y --------- a ----------- 123
3 -- x --------- a ----------- 123

TABLE2:
id kolom1 NogEenKolom EnNogIets
1 -- z --------- a ----------- 123
2 -- y --------- a ----------- 123
3 -- x --------- a ----------- 123
Offline black_shark - 05/01/2011 19:38
Avatar van black_shark Nieuw lid TABLE1:
id kolom1 NogEenKolom EnNogIets
1 -- z --------- a ----------- 1
2 -- y --------- a ----------- 0
3 -- x --------- a ----------- 1

TABLE2:
id kolom1 NogEenKolom EnNogIets
1 -- z --------- a ----------- 123
2 -- y --------- a ----------- 123
3 -- x --------- a ----------- 123

Dus ik wil alles van table 2
en alles van tabel 1 waar in de laatste kolom een 1 staat.

Nu wil ik ook chronologisch werken. dus als we naar de id kolom kijken wil ik row 3,3,2,1,1
Offline Martijn - 05/01/2011 20:47
Avatar van Martijn Crew PHP
  1. SELECT table1.*, table2.* FROM table1,table2 WHERE table2.enNogIets = table1.id ORDER BY table1.id DESC


?
Offline black_shark - 06/01/2011 02:14 (laatste wijziging 06/01/2011 13:19)
Avatar van black_shark Nieuw lid Nee dit lukt niet.
Ik heb even een simpeler versier ervan gebruikt in mijn code
  1. $query = mysql_query("SELECT * FROM kalender, nieuws");
  2. while ($res = mysql_fetch_object($query)) {
  3. ....

Nu haalt hij alleen de data uit nieuws(geen van kalender) maar dan alles dubbel.
Ik heb ook nieuws.* enz gebruikt maar dan doet hij nog minder.

Voor misschien nog mis communticatie weg te werken nog eens de probleemstelling.

Dus op mijn index.php wil ik informatie van 2tabelen halen.
één is nieuws andere kalender.
Ik wil alle nieuws bericht op de frontpage.
Nu van de kalender enkel waar frontpage(veld in mijn DB) op 1 staat
(simpel gezegd WHERE frontpage = 1)(frontpage veld bestaat niet bij nieuws)
Elke van deze tabellen heeft een datumPost veld. Hierdoor wil ik de rows chronologisch laten ordenen (Het nieuwste eerst.)
Is er een manier om de tabellen te laten samenvloeien op een chronologische manier?

Simpeler gezegd ik wil van 2 tabellen 1 tabel maken.
Offline Beirensg - 11/01/2011 11:54 (laatste wijziging 11/01/2011 15:53)
Avatar van Beirensg HTML beginner
  1. SELECT * FROM ((SELECT * FROM tabel1)UNION(SELECT * FROM tabel2 WHERE frontpage=1)) ORDER BY 1 DESC


Dit zou moeten werken. Ik denk wel dat er problemen kunnen optreden bij het sorteren (daarom gebruik ik liever order by 1 (1 is de eerste kolom, dit getal moet je vervangen door de plaats van de kolom postdate) dan order by postdate (mysql zou durven fouten geven, aangezien er meerdere kolommen id bestaan). Laat me iets weten indien het werkt.


Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.168s