meerdere waardes opslaan in 1 record

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gert Mallegrom

Gert Mallegrom

24/12/2007 17:18:00
Quote Anchor link
LS,

Ik heb een website draaien waarop veiligheidsschoenen verkocht worden. Deze schoenen hebben normen. In mijn tabel schoenen is dan ook een veld norm_id er bestaat een aparte tabel met norm en bijbehorende beschrijvingen. Nu moeten echter bij zoeken op de site wanneer er bijv schoenen met de norm S3 + N gezocht worden ook alle schoenen met norm S3 getoond worden.
Eigenlijk moeten er dus meerdere normen in het veld worden opgeslagen hoe kan ik dat het beste aanpakken? Als ik er nl een varchar record van maak kan ik wel meerdere id's opslaan, maar dat werkt dan weer niet bij het ophalen.
Of kan ik het in php afhandelen?

Alvast hartelijk bedankt.

Groet
Gert
 
PHP hulp

PHP hulp

27/11/2024 06:00:19
 
Frank -

Frank -

24/12/2007 17:21:00
Quote Anchor link
Ga normaliseren, zie de tutorials.

Meerdere waardes sla je nooit en te nimmer op in 1 record, dat is de grootste fout die je kunt maken. Jij zult met een koppeltabel aan de slag moeten om zo een verband te leggen tussen 2 tabellen met gegevens.

Edit: url toegevoegd.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Martijn B

Martijn B

24/12/2007 17:23:00
Quote Anchor link
[laat maar]
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Klaasjan Boven

Klaasjan Boven

24/12/2007 17:27:00
Quote Anchor link
nooit meerdere gegevens in een record zetten

je moet de tabel schoenen ontdoen van het veld norm en een aparte tabel maken voor de normen.
Deze twee tabellen knup je vervolgens aan elkaar in een koppeltabel.

Voorbeeld

-- schoenen
id (int)
omschrijving (varchar)

normen
id(int)
omschrijving ( varchar)

norm_schoen
id
schoen_id
norm_id

Bij de vraag zoals je hem hierboven stelt zal de sql iets worden in de trend van
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// tags voor de kleurtjes
$sql= "SELECT
    schoenen.omschrijving
    normen.omschrijving
FROM
    schoenen,
    normen,
    norm_schoen
WHERE
    schoenen.id = norm_schoen.schoen_id
AND
    norm.id = norm_schoen.norm_id
AND
    normen.omschrijving ="
mysql_real_escape_string($_POST['norm']);
?>

Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
 
Gert Mallegrom

Gert Mallegrom

24/12/2007 17:42:00
Quote Anchor link
Ik heb al een aparte tabel met de normen. Alleen de id's van de normen die bij de schoenen horen staan in de tabel schoenen.
Ik heb het overigens niet helemaal goed opgeschreven zie ik nu.
Het is precies andersom. Als je zoekt op S3 moet hij ook alles met S3+N weergeven.
 
Frank -

Frank -

24/12/2007 17:44:00
Quote Anchor link
Quote:
Alleen de id's van de normen die bij de schoenen horen staan in de tabel schoenen.
Dat is dus niet goed, dat kan niet. Je hebt een koppeltabel nodig, zie het voorbeeld van Klaasjan.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.