Beste coders,

In mijn admin paneel kan je items toevoegen aan meerdere categoriën.
Deze categoriën moeten zo in de database worden opgeslagen:
0 = niet in categorie
1 = in de categorie
met als kolom naam de categorie.

Hoe kan ik dit via een sumbit button in database zetten? (de 1 / 0 moeten in de database komen..)
Ik heb het internet al rond gezocht en had iets gevonden met array's.. ik snap er echter helemaal niks van!

Misschien dat iemand mij hier kan helpen?
Alvast bedankt!

Mvg,
Ibrahim A.


HTML code:

<form method="post" action="">
	<input id="babes" type="checkbox" name="babes"/>Babes
	<input id="cartoon" type="checkbox" name="cartoon"/>Cartoon
	<input id="celebrities" type="checkbox" name="celebrities"/>Celebrities
	<input id="dudes" type="checkbox" name="dudes"/>Dudes
	<input id="funny" type="checkbox" name="funny"/>Funny
	<input id="logos" type="checkbox" name="logos"/>Logos
	<input id="love" type="checkbox" name="love"/>Love
	<input id="people" id="" type="checkbox" name="people"/>People

	<input type="submit" class="button" name="add" value="Add" />
</form>
Aangezien je meerdere categorieën aan meedere items wilt koppelen, heb je te maken met een veel-op-veel relatie. In de database los je dit op door middel van een koppeltabel waarin je een categorie aan een item koppelt:

items
-----
id
omschrijving

categorieen
--------
id
categorie

item_categorie
-------------
id
item_id
categorie_id

In PHP is het nu een kwestie van uitlezen welke categorieën aangevinkt zijn en een nieuwe regel wegschrijven in de item_categorie tabel met de juiste id's (die je weer uit je formulier kunt halen). Tip: bouw je formulier dus ook op met de gegevens uit de database, dan heb je daar direct de juiste id's in staan.
@Joren de Wit

Bedankt voor uw reactie,
dit is volgens mij niet het probleem, ik heb dit nu in mijn database:

items
------
id
omschrijving
Babes
Cartoon
Celebrities
Dudes
Funny
Logos
Love
People

Het is de bedoeling dat een item meerdere categoriën kan hebben. maar de item blijft unique.
Later kan ik het per categorie ophalen door $query = mysql_query(.... WHERE people = 1).

Het probleem is nu:
Ik weet niet hoe ik via PHP kan zien of de checkboxen checked zijn of niet, en hoe ik ze een 1 en een 0 kan geven.
Ibrahim, dan wordt het tijd om eens wat te doen aan normalisatie. Want met deze manier van een DB kun je niks beginnen, je zal het echt moeten doen op de manier van Joren, met een tabel items en een tabel categorien en 1 koppeltabel om die bij elkaar te voegen.

Wat leesvoer: De 3 Normalisatie regels en een makkelijkere manier van Normaliseren
Hmm.. volgends mij begrijpen jullie het nog niet goed of ik heb het niet goed uitgelegd.

Het gaat om een image database

een image kan meerdere catagorien hebben. (bijvoorbeeld Funny en Cartoon)
Dan komt er testaan in de database bij funny en cartoon '1' waar image_name = X.

Verder komt er op de site een index met de plaatjes, en bovenaan kan je filteren op de categoriën(maximaal 1 categorie tegelijk selecteren!). Dus als bijvoorbeeld de categorie Cartoon word aangeklikt, dat er onderandere image X word weergegeven.

Ik denk dat dit mijn het database wat ik nu heb dit prima uit te maken is (correct me if I'm wrong).

En graag wil ik nogsteeds weten hoe ik via php een checked checkbox in database de waarde 1 kan geven en een unchecked checkbox de waarde 0.
Ibrahim A op 16/06/2012 20:44:23

Ik denk dat dit mijn het database wat ik nu heb dit prima uit te maken is (correct me if I'm wrong).

Dat doen ze volgens mij ;-)

Ibrahim A op 16/06/2012 20:44:23

En graag wil ik nogsteeds weten hoe ik via php een checked checkbox in database de waarde 1 kan geven en een unchecked checkbox de waarde 0.

1e hit op Google: Kijk eens op http://www.html-form-guide.com/php-form/php-form-checkbox.html
@Obelix,
En hoe krijg ik ze dan in database met een 1 en een 0?

Of anders:
Wat is de PHP regel als ik wil checken of een checkbox checked is? (Dan kom ik er zelf wel uit(: )

Dus:
If $_POST['checkbox1'] = checked {
  //add "1" to database
}

Wat hier boven staan om deze code te laten werken?
Hoeveel kennis van php heb je?
Obelix en Idefix op 16/06/2012 21:34:53

Hoeveel kennis van php heb je?


0,5
En met (my)sql?Zaken als insert, update, delete van een query zijn basic.

Misschien tijd om je kennis dan (eerst) uit te gaan breiden? Zonder (basis)kennis is het vragen om problemen; onvoldoende controle op invoer, query's die onbeveiligd zijn, etc.

Obelix en Idefix op 16/06/2012 22:19:40

En met (my)sql?Zaken als insert, update, delete van een query zijn basic.

Misschien tijd om je kennis dan (eerst) uit te gaan breiden? Zonder (basis)kennis is het vragen om problemen; onvoldoende controle op invoer, query's die onbeveiligd zijn, etc.




Ik heb als webdesigner veel designs in dure scripts geïmplanteerd. Deze scripts heb ik aandachtig bekeken, en heb deze als voorbeeld gebruikt. Tevens levert google / stackoverflow ook veel op.
In het verleden had ik veel vrienden die hack(t)en, ik kan uiteraard aan een van deze vrienden vragen of ze binnen mijn systeem kunnen komen.
Heel bang ben ik dus niet voor hackers...

Maar kunt u misschien mijn vraag beantwoorden? Scheelt ons een hoop tijd! (:

Reageren