2 databases ONDER elkaar?
Iedere leverancier heeft een eigen tabel.
Als ik nu startpagina = 1 maak, moet dat product verschijnen op de index.
Dit lukt, maar nu moet dat van beide tabellen. Als ik nu vanuit 2 tabellen selecteer, zet hij ze in 1 rij. in plaats van onder elkaar.
Dit heb ik uit een tutorial:
Code (php)
1
2
3
4
5
2
3
4
5
<?
$sql = "SELECT t1.*, t2.* FROM ";
$sql .= "tabel1 t1, tabel2 t2 ";
$sql .= "WHERE (t1.startpagina = '1' AND t2.startpagina = '1')";
?>
$sql = "SELECT t1.*, t2.* FROM ";
$sql .= "tabel1 t1, tabel2 t2 ";
$sql .= "WHERE (t1.startpagina = '1' AND t2.startpagina = '1')";
?>
Hij moet de producten dus onder elkaar laten verschijnen en niet achter elkaar zodat het wordt gezien als 1 product. Ik hoop dat het duidelijk is.
Quote:
Dan is jouw datamodel niet correct. Verschillende leveranciers staan in een goed datamodel in dezelfde tabel. Je gaat echt niet voor iedere leverancier de database (en dus het hele systeem) aanpassen. Dat slaat nergens op, heeft niets met een relationele database te maken.Ik ben bezig met producten van 2 leveranciers.
Iedere leverancier heeft een eigen tabel.
Iedere leverancier heeft een eigen tabel.
Oplossing: Terug naar de tekentafel en een goed datamodel opzetten. Ga normaliseren.
Ik dacht al dat het niet geschikt was, maar 1 tabel is helemaal ingevuld en werkend. Is er geen andere oplossing zodat het dan wel werkt?
FROM t1, t2
WHERE (t1.startpagina = '1' AND t2.startpagina = '1');"
dit geeft als het goed is gewoon een lijstje weer met bijvoorbeeld:
artikel1
artikel3
artikel9
artikel12
Alles waar startpagina='1'
Dick van Lieshout schreef op 13.02.2007 19:46:
Een workaround is geen oplossing, hooguit uitstel van excecutie. Ga de boel nu aanpassen en niet wanneer de ellende nog veel groter is geworden. Er zit een crusiale fout in jouw datamodel, dat gaat je nog een hele berg problemen opleveren.Ik dacht al dat het niet geschikt was, maar 1 tabel is helemaal ingevuld en werkend. Is er geen andere oplossing zodat het dan wel werkt?
Nu de boel opnieuw ontwerpen en de data opnieuw en correct invoeren, gaat veel sneller dan straks alle fouten en problemen 1 voor 1 met een workaround aanpakken. Vroeg of laat stort jouw database inelkaar, die garantie kan ik je geven.
Stel tabel1 is:
product 1 | startpagina 1
product 2 | startpagina 2
Tabel 2 is:
product 100 | startpagina 1
Nu komt er dus te staan:
product 1 | startpagina 1 | product 100 | startpagina 1
product 2 | startpagina 1 | product 100 | startpagina 1
En er moet komen:
product 1 | startpagina 1
product 2 | startpagina 1
product 100 | startpagina 1
Is het begrijpelijk?
Ik neema an dat je gelijk hebt, maar hier baal ik nogal van. De website moet einde van de maand afzijn, daarna kan ik hem rustig aan aanpassen...
De leveranciers horen in een tabel.
tevens zal er een tabel produkten komen.
Deze wordt gekoppeld aan de leveranciers met een koppeltabel
Oftewel een goede query zal zijn
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
SELECT
produkt.naam,
leverancier.naam
FROM
produkten produkt,
leveranciers leverancier,
produktenleveranciers koppel
WHERE
leverancier.id = koppel.leveranciers_id
AND
produkt.id=koppel.produkt_id
produkt.naam,
leverancier.naam
FROM
produkten produkt,
leveranciers leverancier,
produktenleveranciers koppel
WHERE
leverancier.id = koppel.leveranciers_id
AND
produkt.id=koppel.produkt_id
Als je trouwens een beetje handig met php / sql evt excel bent kun je nu je datamodel waarschijnlijk nog redelijk eenvoudig corrigeren
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
id, INT auto_increment
id_pagina, INT, foreignkey op de tabel 'paginas'
id_leverancier, INT, foreignkey op de tabel 'leveranciers'
product VARCHAR
Tabel 'paginas':
id, INT auto_increment
pagina_nr INT
omschrijving VARCHAR
Tabel 'leveranciers':
id, INT auto_increment
naam, VARCHAR
adres, VARCHAR
Even een kort voorbeeldje.
Ga dat NU aanpassen en niet over een maand. Over een maand is de puinhoop niet meer te overzien en kun je helemaal overnieuw beginnen. Ook alle opgeslagen data wordt waardeloos!!! Lijkt me sterk dat je daar op zit te wachten. De database is de kern van jouw systeem en daar zit het nu goed fout. Dat is balen, maar het wordt nog meer balen wanneer blijkt dat je jouw huidige opzet niet/nauwelijks aan de praat zal kunnen krijgen. De problemen die je nu hebt, zijn de eerste symptomen. Bereid je maar vast voor op veel meer ellende.
Bedankt allemaal voor de snelle reacties. Er is me duidelijk gemaakt wat ik moet doen. Ik zal het uit gaan zoeken hoe, want ik ben net een paar dagen actief met PHP. Maar ik heb een start. Dus bedankt voor de informatie.
Quote:
en dan De website moet einde van de maand afzijn
Quote:
... want ik ben net een paar dagen actief met PHP
Ik mag hopen dat je meer ervaring hebt met een andere programmeertaal, anders heb je toch echt veel en veel te hoog gegrepen door nu al een database-gestuurde website te willen maken. Ook al omdat je blijkbaar niet/nauwelijks ervaring hebt met databases...
Veel succes in elk geval!
Ps. Gelukkig weet je www.phphulp.nl al te vinden, dat scheelt al een hoop ellende ;)