Checkboxen en PHP

Helpdesk & Vraag/Aanbod
Post Reply
JJapie
General MOD
Posts: 4756
Joined: 14 Jun 2003, 23:02
Location: Huissen/Zeist
Contact:

Checkboxen en PHP

Post by JJapie »

Ik heb het volgende formuliertje gemaakt:

Code: Select all

<form id="frmZoek" action="<?php echo $PHP_SELF; ?>" method="post">
    <input id="optZoek1" name="optZoek1" value="optZoek" type="radio" checked="checked" /> Zoek in alle categorieën<br />
    <input id="optZoek2" name="optZoek2" value="optZoek" type="radio" /> Zoek in gespecificeerde categorieën<br />
		<blockquote>
		<input type="checkbox" id="cat_1" name="categorie[]" value="actualiteiten" onclick="document.getElementById('optZoek2').setAttribute('checked',true);" /> Actualiteiten<br />
		<input type="checkbox" id="cat_2" name="categorie[]" value="expertisecentrum" onclick="document.getElementById('optZoek2').setAttribute('checked',true);" /> Over het Expertisecentrum<br />
		<input type="checkbox" id="cat_3" name="categorie[]" value="faculteiten" onclick="document.getElementById('optZoek2').setAttribute('checked',true);" /> Faculteiten<br />
		<input type="checkbox" id="cat_4" name="categorie[]" value="didactiek" onclick="document.getElementById('optZoek2').setAttribute('checked',true);" /> Digitale Didactiek<br />
		<input type="checkbox" id="cat_5" name="categorie[]" value="bronnen" onclick="document.getElementById('optZoek2').setAttribute('checked',true);" /> Bronnen en Publicaties<br />
		<input type="checkbox" id="cat_6" name="categorie[]" value="faq" onclick="document.getElementById('optZoek2').setAttribute('checked',true);" /> Veel Gestelde Vragen
		</blockquote>	
	Zoeken naar: <input name="trefwoord" type="text" /> <input type="button" value="Zoeken" onclick="checkInput();" />
</form>
Als het goed is zouden de waardes van de checkboxen nu in een array moeten staan, maar als ik dan een

Code: Select all

print_r($_POST);
doe, dan blijkt dat alleen de waarde van de laatst aangevinkte checkbox wordt meegegeven...

Zie ik nou iets over het hoofd ofzo :?
blimmel
Special MOD
Posts: 3049
Joined: 20 Jun 2003, 00:11
Location: Amersfoort

Post by blimmel »

je gebruikt getElementById('optZoek2'), maar gebruikt id's als cat_1, cat_2... klopt dat?

ok... dat klopt
Last edited by blimmel on 13 Jan 2004, 12:50, edited 1 time in total.
venomous
Posts: 1152
Joined: 15 Jun 2003, 16:01
Location: Voorburg
Contact:

Post by venomous »

Je vergeet dat je door je elementen moet lopen.
"The past will often attack the present with the pain of your memories"
blimmel
Special MOD
Posts: 3049
Joined: 20 Jun 2003, 00:11
Location: Amersfoort

Post by blimmel »

venomous wrote:Je vergeet dat je door je elementen moet lopen.

Code: Select all

while($cat = each($categorie))
{
    $c = $cat["value"];
    //doe iets met $c
}
of zo
JJapie
General MOD
Posts: 4756
Joined: 14 Jun 2003, 23:02
Location: Huissen/Zeist
Contact:

Post by JJapie »

blimmel wrote:
venomous wrote:Je vergeet dat je door je elementen moet lopen.

Code: Select all

while($cat = each($categorie))
{
    $c = $cat["value"];
    //doe iets met $c
}
of zo
Punt voor jou & veno, tnx ^:^

.edit: problem solved..
JJapie
General MOD
Posts: 4756
Joined: 14 Jun 2003, 23:02
Location: Huissen/Zeist
Contact:

Post by JJapie »

Een volgend probleem:
Mijn MySQL-query is op een of andere manier nogal onnauwkeurig geworden..
Query bij zoeken op 'm00h' met alle checkboxes aangevinkt:

Code: Select all

SELECT * FROM content WHERE `inhoud` LIKE '%m00h%' AND `categorie` = 'actualiteiten' OR `categorie` = 'expertisecentrum' OR `categorie` = 'faculteiten' OR `categorie` = 'didactiek' OR `categorie` = 'bronnen' OR `categorie` = 'faq' ORDER BY `titel` ASC LIMIT 0 , 1 
Sinds ik die categorien heb toegevoegd vindt het script ook iets als ik op bijv. m00h zoek, terwijl het hele woord 'm00h' niet in de DB voorkomt..

Wat er wel in de db staat is het volgende:

Image

Ik heb het idee dat ik weer iets vergeten ben ofzo :?
madman
2nd Admin
Posts: 4958
Joined: 14 Jun 2003, 21:41
Location: Arnhem
Contact:

Post by madman »

Volgens mij moet je nog ff haakjes zetten om al je or's
JJapie
General MOD
Posts: 4756
Joined: 14 Jun 2003, 23:02
Location: Huissen/Zeist
Contact:

Post by JJapie »

madman wrote:Volgens mij moet je nog ff haakjes zetten om al je or's
Als in:

Code: Select all

SELECT * FROM content WHERE `inhoud` LIKE '%m00h%' AND (`categorie` = 'actualiteiten') OR (`categorie` = 'expertisecentrum') OR (`categorie` = 'faculteiten') OR (`categorie` = 'didactiek') OR (`categorie` = 'bronnen') OR (`categorie` = 'faq') ORDER BY `titel` ASC LIMIT 0 , 1 
?

Dat heb ik al geprobeerd, werkt niet helaas...
madman
2nd Admin
Posts: 4958
Joined: 14 Jun 2003, 21:41
Location: Arnhem
Contact:

Post by madman »

Nee:

Code: Select all

SELECT * FROM content WHERE `inhoud` LIKE '%m00h%' AND (`categorie` = 'actualiteiten' OR `categorie` = 'expertisecentrum' OR `categorie` = 'faculteiten' OR `categorie` = 'didactiek' OR `categorie` = 'bronnen' OR `categorie` = 'faq') ORDER BY `titel` ASC LIMIT 0 , 1 
madman
2nd Admin
Posts: 4958
Joined: 14 Jun 2003, 21:41
Location: Arnhem
Contact:

Post by madman »

En misschien kan je voor die categorie nog beter een "where .. in"-clause gebruiken..
JJapie
General MOD
Posts: 4756
Joined: 14 Jun 2003, 23:02
Location: Huissen/Zeist
Contact:

Post by JJapie »

madman wrote:Nee:

Code: Select all

SELECT * FROM content WHERE `inhoud` LIKE '%m00h%' AND (`categorie` = 'actualiteiten' OR `categorie` = 'expertisecentrum' OR `categorie` = 'faculteiten' OR `categorie` = 'didactiek' OR `categorie` = 'bronnen' OR `categorie` = 'faq') ORDER BY `titel` ASC LIMIT 0 , 1 
Hmm... best logisch eigenlijk :P
Maar dit is goed idd :)
JJapie
General MOD
Posts: 4756
Joined: 14 Jun 2003, 23:02
Location: Huissen/Zeist
Contact:

Post by JJapie »

madman wrote:En misschien kan je voor die categorie nog beter een "where .. in"-clause gebruiken..
Ga ik daar even naar zoeken :)
Post Reply