login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Meerdere query's (Opgelost)

Offline Raze - 02/02/2009 11:09
Avatar van RazePHP beginner Hallo,

op mijn indexpagina haal ik informatie uit 2 tabellen:
- nieuws, en
- artikels.
De situatie is nu als volgt:

NIEUWSBERICHTEN
--------------------
ARTIKELS

wat ik nu zou willen is dat de artikels en de nieuwsberichten niet meer onder elkaar weergegeven worden, maar wel onder elkaar. Ze hebben beide eend atumveld dus ik dacht ze dan daarop de sorteren.

Hoe moet ik dit juist doen?

6 antwoorden

Gesponsorde links
Offline ranco - 02/02/2009 11:13
Avatar van ranco PHP gevorderde Verklaar jezelf nader:

Citaat:
wat ik nu zou willen is dat de artikels en de nieuwsberichten niet meer onder elkaar weergegeven worden, maar wel onder elkaar
Offline Raze - 02/02/2009 11:14
Avatar van Raze PHP beginner ok idd foutje :-D

ik bedoel dus niet meer onder elkaar, maar door elkaar

Dus eigenlijk met één query gegevens uit 2 tabellen halen.
Offline Tuinstoel - 02/02/2009 11:20 (laatste wijziging 02/02/2009 11:30)
Avatar van Tuinstoel PHP expert Ik zat zelf te denken aan joins, desnoods met array's gaan werken.
http://www.site...ySQL/Joins

SELECT * FROM nieuws OUTER JOIN artikelen ON (1=1)

Ik weet het zelf ook niet precies of dit kan werken. Je zou eventueel alles in een array kunnen dumpen en dan het sorteren op datum uiteraard, en dan gewoon uitlezen met foreach. Dat is wel een omslachtige methode.

edit:
Waarom gooi je die inhoud van die 2 tabellen niet in 1 tabel? Lijkt met toch wel eenvoudig te combineren? Je zet er gewoon een extra kolom bij om aan te duiden of het een artikel of nieuwsbericht is, easy as hell.
Offline ranco - 02/02/2009 11:33 (laatste wijziging 02/02/2009 11:33)
Avatar van ranco PHP gevorderde Dit kun je bereiken door een UNION. (dit is een query waarbij je 2 querys zonder relatie bij elkaar kan voegen.
Ik weet dat het hiermee kan, maar zelf nog nooit mee gewerkt.

Kijk hier eens verder
Offline Raze - 02/02/2009 11:34 (laatste wijziging 02/02/2009 11:54)
Avatar van Raze PHP beginner ik denk ik zelf niet dat die JOIN kan werken, want de twee tabellen hebben uiteindelijk niets met elkaar te maken. Toch ga ik het eens even proberen, ik hou jullie op de hoogte  .

EDIT: ik zie nu het bericht van ranco, ik ga dat eens proberen, want met JOIN lukt het niet

EDIT2: Het werkt!!!!!!! Bedankt Ranco

Wat heb ik gedaan: ik heb UNION ALL ipv UNION gebruikt.

Bronnen:
- http://dev.mysql.com/doc/refman/4.1/en/union.html
- http://www.mysq...erformance/
- http://www.flas...hp?t=36997
Offline ranco - 02/02/2009 11:42
Avatar van ranco PHP gevorderde Een klein voorbeeld van een union:

  1. (SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
  2. UNION
  3. (SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);


Gooi de waardes in een array, en haal ze random op door een willekeurige index van deze array te pakken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.165s