Ik ben aan het proberen om de nieuwsitems uit 2 verschillende databases te halen. De inloggegevens bij beide databases is verschillend maar de tabel naam is bij beide dezelfde, en dat is 'blog'.
Ik kan ook niet echt werken met een join omdat ik alle gegevens uit beide tabellen nodig heb en er geen voorwaarden zijn buiten dat het op datum moet gesorteerd zijn (desc) en gelimiteerd zijn tot 5 items. Dus kort gezegd komt dit neer op 'geef mij in de select alle resultaten uit beide databases in tabel 'blog' gesorteerd op datum en enkel de laatste 5'

Verder heb ik geen idee hoe ik hieraan moet beginnen.

Ik kan gegevens uit beide tabellen halen maar niet samen.
Heeft iemand een voorbeeld?
SELECT *, 'google' AS bedrijfsnaam FROM tabelnaam
Ok, dat werkt. Maar nu komt het volgende probleem naar boven.

Ik heb een blok met 2 items in volgens de hierboven opbouw.

Nu wil ik daaronder een blok met 3 items naast elkaar, daarom kopieer ik die code en pas in de 2 queries aan dat de LIMIT 3 OFFSET 2 moet zijn (bij beide queries). Zo krijg ik niet dezelfde items als die in de blok erboven.
Hier gaat het fout want ik krijg dubbele items en blijkbaar enkel maar uit 1 database.

Resultaat van mijn laatste 2 queries:

2015-11-05 => Checklist voor een veilige parking => Foto => parking-slagbomen-tips.jpg 
2015-11-05 => Checklist voor een veilige parking => Foto => parking-slagbomen-tips.jpg 
2015-10-12 => Camerabewaking = uw klanten een veilig gevoel geven => Foto => camerabewaking-resize.jpg 
2015-10-12 => Parkingbeheer: 5 tips voor het inrichten van uw nieuwe parking => Foto => toegangscontrole.jpg 
2015-10-12 => Camerabewaking = uw klanten een veilig gevoel geven => Foto => camerabewaking-resize.jpg


Dit hierboven zijn resultaten (met dubbels) uit mijn 2de query en van mijn eerste mixt hij die er niet meer doorheen.
Enig idee hoe dit kan komen?
als de tweede vijf nieuwsberichten heeft die alle vijf nieuwer zijn dan de nieuwste van de eerste dan laat hij die zien.

Of zijn de datum-types verschillend in de database?
Als ik de beide queries apart probeer met een print_r krijg ik telkens dezelfde resultaten terug en deze altijd van de 2de query, ook al is met de eerste een connectie gemaakt.
Het gaat hier over dezelfde databases (met dezelfde datum-notaties) alleen moeten de resultaten hier anders zijn. Met die limit 3 OFFSET 2 wil ik eigenlijk 3 items weergeven maar startende vanaf het 3de item. Op die manier probeer ik niet dezelfde gegevens te verkrijgen als in de eerste blok met 2 items.

Toevoeging op 27/08/2016 23:00:15:

Voor alle duidelijkheid is mijn opbouw zo:

Blok met 2 items (mix van 2 databases)

Daaronder:

Blok met 3 items (terug een mix van dezelfde 2 databases)

Bij de eerste blok met 2 items heb ik jouw code gebruikt met enkele aanpassingen en daar gaat volgens mij alles goed.
Ik herhaal dezelfde code voor blok 2 (met de 3 items) en dan lukt het niet meer.
Ik gebruik de print_r voor de eerste query results te zien en een print_r om de tweede query results te zien, maar beiden zijn dus identiek aan elkaar, vandaar de dubbels in mijn eindresultaat.
Waarom krijg ik de results van de 2de query als ik de eerste aanroep?
@Frank: kan je mij iets laten weten waar je denkt dat het fout gaat?
Kun je niet gewoon in het 2-item-block $rows[0] en $rows[1] afdrukken en in het 3-item-block $rows[2] t/m $rows[4]? Je hebt toch al genoeg resultaten opgehaald (en in de goede volgorde gezet) voor beide blokken? Waarom zou je moeilijke dingen met offsets gaan doen? Dit kun je in PHP regelen. Daar heb je alle informatie al.
Ik heb het gevonden. De fout lag aan het invoeren van 2x dezelfde require_once. Als je dat doet op 1 pagina dan gaat het dus fout.

Nu wel nog een bijkomende vraag. Als je de code van Frank bekijkt hier iets meer naar boven, dan zou ik daar nog een pagination bij willen. Ik weet hoe ik dit moet doen als het in 1 query zit maar niet als de query in een array worden gestoken. Kan iemand mij hiermee helpen?
In jouw geval snijdt LIMIT 3,2 geen hout omdat de informatie uit twee databases komt (toch?). Je kunt niet op voorhand zeggen hoeveel resultaten uit database A komen en hoeveel resultaten uit database B. Op voorhand daar een offset aan plakken is dan ook niet zinnig.

Jij (of @Frank) hebt nu net een heleboel moeite gedaan om daar één gesorteerde lijst van te bakken, maak daar dan ook gebruik van :p.

Even voor de duidelijkheid: zit er overlap in blog-items in database A en B, of zijn alle blog-items uniek?

---

EDIT: zou het niet veel handiger zijn als je hier één lijst / blogtabel van maakt, te meer als je met paginering wilt gaan werken. Je hebt hier namelijk hetzelfde probleem: je moet eerst uitrekenen op welke positie (en daarmee welke pagina) dingen staan. Je bent nu op twee benen aan het hinken.
Ik doe eerst een query met die LIMIT 3 OFFSET 2 op de ene database en steek de waarden in een array. Daarna doe ik hetzelfde voor de 2de database. Zo blok ik toch mijn resultaten?

De blog-items uit database A zijn niet dezelfde als uit database B. Alleen de velden komen overeen van de tabellen.
Alleen mogen de items die ik eerst weergeef in de 2 blokken in de HTML niet dezelfde zijn als ik weergeef in de 3 blokken daaronder.

Van die paginering heb ik geen idee hoe dit aan te pakken.

Reageren