Samle checkboxe i i en søgestreng
HejsaNu har jeg ledt og prøvet en del, men jeg er ikke så stærk i det engelske. Problemet er chechboksens værdier (bynavnene) skal bruges i søgningen i databasen (mysql)
Koder er her, noget forkortet, da der er mange checkboxe, der også kan checkes i grupper eller alle.
- start --
<?php $strTitle=" ";?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<script type="text/javascript">
<!--
var checkboxgrp = new Object();
checkboxgrp["a"] = new Array("saf[00]","saf[10]","saf[01]","saf[02]","saf[03]","saf[04]","saf[05]","saf[10]","saf[11]","saf[12]");
checkboxgrp["n"] = new Array("saf[01]","saf[02]","saf[03]","saf[04]","saf[05]");
checkboxgrp["m"] = new Array("saf[10]","saf[11]","saf[12]");
function checkbox(grp,o,formname) {
var f = document.forms[formname];
if( checkboxgrp[grp][0] == o.name ) {
for( var c = 0; c < checkboxgrp[grp].length; c++ )
f.elements[checkboxgrp[grp][c]].checked = o.checked;
} else {
var checked_boxes = 0;
for( var c = 1; c < checkboxgrp[grp].length; c++ )
if( f.elements[checkboxgrp[grp][c]].checked ) checked_boxes++;
if(checked_boxes == checkboxgrp[grp].length - 1 )
f.elements[checkboxgrp[grp][0]].checked = true;
else
f.elements[checkboxgrp[grp][0]].checked = false;
} //else
} //checkbox
-->
</script>
<table ALIGN=TOP border="1" cellpadding="0" cellspacing="0">
<form name="kgl" method="post" action="a_test.php">
<tr><td>
<center><b> Søg på Alle : <input type="checkbox" name="saf[00]" value="Alle" onclick="checkbox('a',this,'kgl');" /> </b></center>
</tr></td>
<tr><td>
<table ALIGN=TOP border="1" cellpadding="0" cellspacing="0">
<tr><td>
<br>
<center><label for=snavn accesskey=9><b>Søg på :</b><br></label><input type=text id=snavn name=snavn value="Max" tabindex=1/>
<br>
<input type=submit name=s1 value='Søg nu' errormessage="Søgeord mangler!" tabindex=6></center>
</tr></td>
<td ALIGN=LEFT VALIGN=TOP>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td BGCOLOR=#FFFF00> <input type="checkbox" name="saf[01]" value="Vejle Amt" onclick="checkbox('n',this,'kgl');" /> Hele Vejle Amt.
</td></tr>
<tr><td><input type="checkbox" name="saf[02]" value="Fredericia" onclick="checkbox('n',this,'kgl');" />Fredericia.
</td></tr>
<tr><td><input type="checkbox" name="saf[03]" value="Horsens" onclick="checkbox('n',this,'kgl');" />Horsens
</td></tr>
<tr><td><input type="checkbox" name="saf[04]" value="Kolding" onclick="checkbox('n',this,'kgl');" />Kolding
</td></tr>
<tr><td><input type="checkbox" name="saf[05]" value="Vejle" onclick="checkbox('n',this,'kgl');" />Vejle
</td></tr>
</td></tr></table>
<td ALIGN=LEFT VALIGN=TOP>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td BGCOLOR=#FFFF00><input type="checkbox" name="saf[10]" value="Ribe Amt" onclick="checkbox('m',this,'kgl');" /> Ribe Amt.
</td></tr>
<tr><td><input type="checkbox" name="saf[11]" value="Ribe" onclick="checkbox('m',this,'kgl');" />Ribe
</td></tr>
<tr><td><input type="checkbox" name="saf[12]" value="Esbjerg" onclick="checkbox('m',this,'kgl');" />Esbjerg
</td></tr>
</table>
</tr></td></table>
</td></tr></table>
</form>
<?php
echo "</b>Du har søgt på navnet : <b>" . $snavn . "</b><br>";
// viser byerne
if ( isset( $_POST['saf'] ) ) {
echo 'I disse byer :<b> '.implode(', ',$_POST['saf']);
} else {
echo '<b>Du kan vælge område</b>';
}
include ("mydb.php");
$query = mysql_query("select * from navne where navn like '%" . $snavn . "%' and byn like '%" . $cb . "%' ORDER BY id DESC LIMIT 0,3") or die (mysql_error());
echo "<table border=1 width=400 coler=#882222>
<tr><td align=center width=26%><i><b>Navn</b></i>
<td align=center width=26%><i><b>By</b></i>
</tr></td><tr>
<td align=\"left\" width=26%><b>" .$row["sn"]. "</b></td>
<td align=\"left\" width=26%><b>" .$row["by"]. "</b></td>
</tr></table>"
?>
-- slut --
En testside kan se på http://www.polsterbo.dk/test/a_test.php
Jeg har en lille test ved "// viser byerne" der kommer bynavnene godt nok frem.
Hilsen Torben