Ik ben een productendatabase aan het maken met zoekfunctie.
De zoekfunctie bestaat uit een dropdownmenu waar een merk gekozen moet worden en een zoekveldje.
De database bestaat uit 1 tabel met de naam producten. Er is een kolom die heet merk en hier staan dus de merken van de producten in.
Het dropdownmenu moet gevuld worden met de merken uit de kolom merk.
Maar daar staan de merken tientallen keren in, hoe kan ik er voor zorgen dat elk merk maar één keer geprint word?
Ik hoop dat ik de oplossing snel krijg omdat het deze dagen af moet zijn.
Alvast bedankt! En ik zou het fijn vinden als je het met een voorbeeldscriptje duidelijk wilt maken hoe ik dit aan moet pakken.
en probeer ff bovenaan je pagina dit te zetten:
(kijken of dat wat zegt)
<?
error_reporting(E_ALL);
//rest van je code...
?>
okej
dan krijg ik een hele pagina vol met deze foutcode:
Notice: Undefined variable: resultaat in c:\program files\easyphp1-8\www\test\formulier.php on line 10
En dat is dus deze regel: echo $resultaat['merk'] . "<br />";
In dit geval is dit de beste oplossing, de persoon ontvangt elke dag een .cvs bestand van de distributeur met alle producten er in. Hij moet de gegevens uit dit nieuwe bestand zo snel mogelijk in de database kunnen zetten. De producten worden dus elke dag opnieuw in de database gezet.
Ja, en? Omdat de gegevens op een bepaalde manier worden aangeleverd, ga jij het op een verkeerde manier in de database opslaan? Jij moet er gewoon voor zorgen dat de data op de juiste plek wordt opgeslagen, in dit geval betekent dit dat je de merken in een aparte tabel gaat opslaan.
Dit heeft echt 10x niks te maken met de manier waarop het wordt aangeleverd.
Iedere dag alles opnieuw in de database wegschrijven is overigens ook niet bijzonder slim. Zolang de data hetzelfde is, is er niet 1 reden om de oude weg te gooien en deze data opnieuw in de database weg te schrijven. Je zou zelfs met een INSERT ... ON DUPLICATE KEY UPDATE bv. alleen datumtijd-stempel kunnen updaten om zo bij te houden wanneer iets voor het laatst is gecontroleerd. Gebruik een UNIQUE op alle velden om deze check te kunnen gebruiken.
Jouw huidige aanpak is in elk geval niet handig en/of efficient, laat staan dat het ook maar iets met een relationele database heeft te maken.
In dit geval is dit de beste oplossing, de persoon ontvangt elke dag een .cvs bestand van de distributeur met alle producten er in. Hij moet de gegevens uit dit nieuwe bestand zo snel mogelijk in de database kunnen zetten. De producten worden dus elke dag opnieuw in de database gezet.
Ja, en? Omdat de gegevens op een bepaalde manier worden aangeleverd, ga jij het op een verkeerde manier in de database opslaan? Jij moet er gewoon voor zorgen dat de data op de juiste plek wordt opgeslagen, in dit geval betekent dit dat je de merken in een aparte tabel gaat opslaan.
Dit heeft echt 10x niks te maken met de manier waarop het wordt aangeleverd.
Iedere dag alles opnieuw in de database wegschrijven is overigens ook niet bijzonder slim. Zolang de data hetzelfde is, is er niet 1 reden om de oude weg te gooien en deze data opnieuw in de database weg te schrijven. Je zou zelfs met een INSERT ... ON DUPLICATE KEY UPDATE bv. alleen datumtijd-stempel kunnen updaten om zo bij te houden wanneer iets voor het laatst is gecontroleerd. Gebruik een UNIQUE op alle velden om deze check te kunnen gebruiken.
Jouw huidige aanpak is in elk geval niet handig en/of efficient, laat staan dat het ook maar iets met een relationele database heeft te maken.
Ik zet de data er niet elke dag erin maar de persoon waar ik dit voor maakt, het moet dus zo simpel mogelijk zijn. Met een paar klikken moet hij klaar zijn omdat er anders elke dag weer teveel werktijd hier aan verloren gaat.
Hij kan de producten heel simpel en snel in de database zetten door het .cvs bestandje te uploaden en de rest gaat automatisch.
En er zit echt elke dag veel verschil in de lijst, hij levert namelijk hardware aan allerlei bedrijven, en daar verschillen de prijzen echt elke dag.
Ik zou niet weten hoe ik het anders kan doen. Omdat er dan allerlei scripts op het cvs bestand los gelaten moet worden, en dat is me te ingewikkeld.
Ik zie dat gewoon niet zitten.
Ik zet de data er niet elke dag erin maar de persoon waar ik dit voor maakt, het moet dus zo simpel mogelijk zijn. Met een paar klikken moet hij klaar zijn omdat er anders elke dag weer teveel werktijd hier aan verloren gaat.
Jouw script schrijft de boel weg in de database, dat doe je niet met het handje. Jij moet er dus voor zorgen dat jouw script dit op de juiste manier doet, anders ga je gegarandeerd problemen krijgen.
Heeft dus niks te maken met het kennis-niveau van de gebruiker.
Ik zet de data er niet elke dag erin maar de persoon waar ik dit voor maakt, het moet dus zo simpel mogelijk zijn. Met een paar klikken moet hij klaar zijn omdat er anders elke dag weer teveel werktijd hier aan verloren gaat.
Jouw script schrijft de boel weg in de database, dat doe je niet met het handje. Jij moet er dus voor zorgen dat jouw script dit op de juiste manier doet, anders ga je gegarandeerd problemen krijgen.
Heeft dus niks te maken met het kennis-niveau van de gebruiker.
dus dan moet ik dat hele bestandje gaan ontleden en naar allerlei tabellen weg schrijven? Dat zie ik echt niet zitten.