![]() |
[PHP] Database
First of all: ik ben nog geheel nieuw met PHP, met erg weinig ervaring.
Ik wil graag een programmatje (vlekkenwijzer) maken in PHP. De database heeft twee tabellen, welke er als volgt uit zien: - Combinaties: -- Soort vlek TEXT -- Materiaal TEXT -- VersOud TEXT -- Oplossingscode TEXT - Oplossingen: -- Oplossingscode TEXT -- Oplossing De pagina bevat de volgende onderdelen: - Twee dropdownboxes (Soort vlek/Materiaal) - Een keuzemogelijkheid (Verse/oude vlek) De database is er al en ook gevuld, dat is niet een probleem. --------------------------------------------------------------------------- Het programmatje zou als volgt moeten werken: * Bij het openen van de pagina worden twee dropdownboxes gevuld met de verschillende soorten vlekken en materialen; * De gebruiker kiest uit deze twee dropdownboxes dus twee waarden, plus of het een verse of oude vlek is; * Na het klikken op "Toon oplossing" moet het programmatje de database induiken met de drie waarden, oplossingscode meenemen naar tabel oplossingen en vervolgens de oplossing tonen. Hele lap tekst: toch een simpel en klein programmatje. Er zijn ontzettend veel dingen op internet te vinden over PHP, voor mij als beginner eigenlijk TE veel. Ik zal zeker niet iemand vragen om het programmatje voor mij te maken, maar wellicht dat iemand mij hier op een goede weg kan helpen :). Iemand een idee of wellicht een stukje code? :) |
Je gebruikt een MySQL database? Je database-structuur is in ieder geval niet optimaal. Hoe je het beter kan doen:
Vleksoorten - INT id PRIMARY - VARCHAR vleksoort UNIQUE Materialen - INT id PRIMARY - VARCHAR materiaal UNIQUE Problemen - INT vleksoort - INT materiaal - ENUM(0, 1) vers - INT oplossing Oplossingen - INT id PRIMARY - TEXT oplossing Vervolgens pagina-opbouw: - Dropdown vleksoorten (<option value="vsid">vleksoort</option>) - Dropdown materialen (<option value="mid">materiaal</option>) - Keuze vers/oud Probeer het nu nog eens. :) |
Citaat:
Je databasestructuur is inderdaad overzichtelijker, maar maakt het geheel veel ingewikkelder dus ik hanteer toch mijn oude structuur. Ik heb inmiddels met enige hulp van een klasgenoot inmiddels al wel iets online kunnen krijgen. Een listbox wordt gevuld uit de database met een distinct query in SQL. Ook twee radiogroups heb ik gemaakt, voor de stofsoort en voor de "versheid" van de vlek. Ik had de database ook in MS-Access gemaakt eerst en toen naar MySQL geconverteerd. Dat ging prima en zo kon ik even wat SQL-strings uitproberen. Ik heb daar een SQL-string gemaakt die als volgt luidt: SELECT Benodigdheden, Oplossing FROM Oplossingen WHERE Oplossingscode = (SELECT Oplossingscode FROM Combinaties WHERE SoortVlek = *LISTBOXVLEKSOORT* AND Materiaal = *RADIOMATERIAAL* AND VersOud = *RADIOVERS*); Op de plaats van de woorden met ** moeten de variabelen komen die de gebruiker zelf kiest. Hier loop ik dus op vast. Hij moet de database openen met de waarden van de gebruiker. Hoe krijg ik dit voor elkaar? |
Die query gaat sowieso niet werken, MySQL 4.0 (stable) ondersteunt geen subqueries. Op de plek van je *VARIABELEN* moet je gewoon een PHP var in je querie zetten die je middels $_POST verkregen hebt.
Ik denk toch dat het hele ding een stuk simpeler wordt als je mijn DB-design gebruikt. Probeer eens iets aan te nemen van een ervaren coder. :) |
Nee stelletje stinkerds, leren we gvd de moeilijkste hoerenqueries over bier en tyfusboeken op school, kun je de queries niet eens toepassen, DOH
De BRa: Vlaamse <PIEP CENSUUR> :p |
PostgreSQL ondersteunt al lang subqueries, en MySQL 4.1.x ook, alhoewel die momenteel nog in alpha stadium bevindt (al een jaar).
|
oh dus we lopen voor, nog erger ;]
|
Alle tijden zijn GMT +1. Het is nu 06:39. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.