Søgning med checkboxes
Jeg prøver at lave en side, hvor man kan vælge hvilke kolonner i en tabel, der skal vises... Men jeg har et problem med min query - tror jeg nok.Der 51 kolonner i tabellen, og på min side kan man vælge mellem 51 checkboxe, som alle har navnet på en kolonne i min tabel. Vha. en form og POST sender jeg navnene videre til advvislaerer.php, men resultater bliver bare, at jeg får vist kolonnenavnene på de kolonner jeg har checket og ikke hvad de indeholder... Her er lidt kode:
checkboxsiden: (uddrag)
<form id="form1" name="form1" method="post" action="advvislaerer.php">
<table width="100%" border="1">
<tr>
<td width="9%" align="center"><a href="#" onclick="FillLin1()"><img src="Images/checkall1.gif" alt="Klik her for at vælge alle felter" width="30" height="30" /></a></td>
<td width="10%" align="center"><a href="#" onclick="UnFillLin1()"><img src="Images/uncheckall.jpg" alt="Klik her for at fjerne markering i alle felter" width="30" height="30" /></a></td>
<td width="11%">Linjefag 1
<input name="linjefag1" type="checkbox" id="linjefag1" value="linjefag1" /></td>
<td width="14%">Erfaring i faget
<input name="erflin1" type="checkbox" id="erflin1" value="erflin1" /></td>
<td width="20%">Erfaring med klassetrin
<input name="klaslin1" type="checkbox" id="klaslin1" value="klaslin1" /></td>
<td width="21%">Senest undervist i faget
<input name="senestlin1" type="checkbox" id="senestlin1" value="senestlin1" /></td>
<td width="15%">Interesse i faget
<input name="interesselin1" type="checkbox" id="interesselin1" value="interesselin1" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Linjefag 2
<input name="linjefag2" type="checkbox" id="linjefag2" value="linjefag2" /></td>
<td>Erfaring i faget
<input name="erflin2" type="checkbox" id="erflin2" value="erflin2" /></td>
<td>Erfaring med klassetrin
<input name="klaslin2" type="checkbox" id="klaslin2" value="klaslin2" /></td>
<td>Senest undervist i faget
<input name="senestlin2" type="checkbox" id="senestlin2" value="senestlin2" /></td>
<td>Interesse i faget
<input name="interesselin2" type="checkbox" id="interesselin2" value="interesselin2" /></td>
</tr>
og "resultatsiden" (uddrag):
$cn1_rsAdvis = "-1";
if (isset($_POST['linjefag1'])) {
$cn1_rsAdvis = $_POST['linjefag1'];
}
$cn2_rsAdvis = "-1";
if (isset($_POST['erflin1'])) {
$cn2_rsAdvis = $_POST['erflin1'];
}
$cn3_rsAdvis = "-1";
if (isset($_POST['klaslin1'])) {
$cn3_rsAdvis = $_POST['klaslin1'];
}
$cn4_rsAdvis = "-1";
if (isset($_POST['senestlin1'])) {
$cn4_rsAdvis = $_POST['senestlin1'];
}
$cn5_rsAdvis = "-1";
if (isset($_POST['interesselin1'])) {
$cn5_rsAdvis = $_POST['interesselin1'];
}
mysql_select_db($database_SG, $SG);
$query_rsAdvis = sprintf("SELECT navn, initialer, %s, %s, %s, %s, %s FROM laerere ORDER BY initialer ASC", GetSQLValueString($cn1_rsAdvis, "text"),GetSQLValueString($cn2_rsAdvis, "text"),GetSQLValueString($cn3_rsAdvis, "text"),GetSQLValueString($cn4_rsAdvis, "text"),GetSQLValueString($cn5_rsAdvis, "text"));
$rsAdvis = mysql_query($query_rsAdvis, $SG) or die(mysql_error());
$row_rsAdvis = mysql_fetch_assoc($rsAdvis);
$totalRows_rsAdvis = mysql_num_rows($rsAdvis);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php do { ?>
<table width="100%" border="1">
<tr>
<td><?php echo $row_rsAdvis['navn']; ?></td>
<td><?php echo $row_rsAdvis['initialer']; ?></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><?php echo $row_rsAdvis['linjefag1']; ?></td>
<td><?php echo $row_rsAdvis['erflin1']; ?></td>
<td><?php echo $row_rsAdvis['klaslin1']; ?></td>
<td><?php echo $row_rsAdvis['senestlin1']; ?></td>
<td><?php echo $row_rsAdvis['interesselin1']; ?></td>
</tr>
Jeg tror problemet ligger i min query, men når jeg skifter variablerne ud med statiske navne på kolonnenavnene, er der ikke noget problem... Hvad gør jeg forkert...?
Tillægsspørgsmål: hvis min query skal se nogenlunde ud, som jeg har lavet den, er det måske lidt meget med 51 variabler i query'en. Kan den laves anderledes (kortere/hurtigere/bedre?)?
