<?php session_start(); require_once("../config.php"); echo "Hotelkunder"; $order = "postnr"; // bruges til at sortere i select sætningerne //henter JO_kontakter fra db $sql_jokontaktperson = "select * from jo_kontaktperson"; $query_jokontaktperson = mysql_query($sql_jokontaktperson, $conn) or die (mysql_error()); //henter catering fra db $sql_catering = "select * from catering"; $query_catering = mysql_query($sql_catering, $conn) or die (mysql_error()); //henter kundetype fra db $sql_kundetype = "select * from kunde_type"; $query_kundetype = mysql_query($sql_kundetype, $conn) or die (mysql_error()); ?> <html> <head> <title>Hotelkunder</title> </head> <body> <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="POST"> <table> <tr> <td> <p>Kundetype:<br> <select name="kundetype"> <option></option> <?php while($row_kundetype = mysql_fetch_array($query_kundetype)) { ?> <option> <?php echo $row_kundetype['kunde_type']; ?></option> <?php } ?> </select> </td><td> <p>Sælger:<br> <select name="JO_kontakt"> <option></option> <?php while($row_jokontaktperson = mysql_fetch_array($query_jokontaktperson)) { ?> <option> <?php echo $row_jokontaktperson['navn']; ?></option> <?php } ?> </select> </td><td> <p>Catering:<br> <select name="catering"> <option></option> <?php while($row_catering = mysql_fetch_array($query_catering)) { ?> <option> <?php echo $row_catering['cater']; ?></option> <?php } ?> </select> </td></tr> <tr><td><input type="submit" value="HENT"></td></tr> </table></form> <br> <?php // kontrolstruktur // Ingen felter er udfyldt if (($_POST['kundetype'] == '') && ($_POST['JO_kontakt'] == '') && ($_POST['catering'] == '')) { $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' order by $order"; echo "intet er udfyldt"; } // her er det kun KUNDE_TYPE der er udfyldt elseif (($_POST['JO_kontakt'] == '') && ($_POST['catering'] == '' )) { $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && kunde_type = ('$_POST[kundetype]') order by $order"; echo "kundetype er udfyldt"; } // Her er det kun CATERING der er udfyldt elseif (($_POST['kundetype'] == '') && ($_POST['JO_kontakt'] == '' )) { $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && catering = ('$_POST[catering]') order by $order"; } // her er det kun JO_kontakt der er udfyldt elseif (($_POST['kundetype'] == '') && ($_POST['catering'] == '' )) { $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && JO_kontakt = ('$_POST[JO_kontakt]') order by $order"; } // Her er det KUNDE_TYPE & CATERING der er udfyldt elseif ($_POST['JO_kontakt'] == '') { $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && kunde_type = ('$_POST[kundetype]') && catering = ('$_POST[catering]') order by $order"; } // Her er det JO_KONTAKT & CATERING der er udfyldt elseif ($_POST['kundetype'] == '') { $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && JO_kontakt = ('$_POST[JO_kontakt]') && catering = ('$_POST[catering]') order by $order"; } // Her er det KUNDETYPE & JO_KONTAKT der er udfyldt elseif ($_POST['catering'] == '') { $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && kunde_type = ('$_POST[kundetype]')&& JO_kontakt = ('$_POST[JO_kontakt]') order by $order"; } // Her er alle felter udfyldt der er udfyldt else { $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && kunde_type = ('$_POST[kundetype]')&& JO_kontakt = ('$_POST[JO_kontakt]') && catering = ('$_POST[catering]') order by $order"; } $query_row = mysql_query($sql_row, $conn)or die(mysql_error()); $resultat = array(); echo "<table><tr>"; $i=0; $antal = 4; // det antal tabeller der vises vertikalt while($row = mysql_fetch_array($query_row)){ $resultat[] = $row; if($i%$antal == 0){ echo "</tr><tr>"; } ?> <html> <td><table border="" cellspacing="2" cellpadding="2" height="170" width="200"> <tr><td height="50"><a href="edit_hotel.php?firma=<?php echo $row['firma']?>"><?php echo $row['firma']; ?></td></tr></a> <tr><td height="25"><?php echo $row['adresse']; ?></td></tr> <tr><td height="25"><?php echo $row['postnr']; ?></td></tr> <tr><td height="25"><?php echo $row['by']; ?></td></tr> <tr><td height="25"><?php echo $row['tlf_nr']; ?></td></tr> <tr><td height="25"><?php echo $row['catering']; ?></td></tr> <tr><td height="25"><?php echo $row['kunde_type']; ?></td></tr> <tr><td height="25"><?php echo $row['JO_kontakt']; ?></td></tr> </table></td> </body> </html> <?php $i++; } echo "</tr>"; echo "</table>"; ?>
Er det muligt at lave en kontrolstruktur som er mere simpel??
<?php // kontrolstruktur // tester bare om en af variablerne er sendt, da alle variabler i formen så vil være sendt if(isset($_POST['kundetype'])){ $kundetype = $_POST['kundetype']; $JO_kontakt = $_POST['JO_kontakt']; $catering = $_POST['catering']; } else{ $kundetype = ""; $JO_kontakt = ""; $catering = ""; } // ovenstående if/else kunne også laves som: /* $kundetype = (isset($_POST['kundetype']))? $_POST['kundetype'] : ""; $JO_kontakt = (isset($_POST['JO_kontakt']))? $_POST['JO_kontakt'] : ""; $catering = (isset($_POST['catering']))? $_POST['catering'] : ""; */ // hvor der bare testes på hver enkelt variabel $udfyldt=0; // tænk binært if ($kundetype !="") $udfyldt += 1; if ($JO_kontakt !="") $udfyldt += 2; if ($catering !="") $udfyldt += 4; switch($udfyldt){ case 0: // Ingen felter er udfyldt $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' order by $order"; break; case 1: // her er det kun KUNDE_TYPE der er udfyldt $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && kunde_type = '".$kundetype."' order by $order"; break; case 2: // Her er det kun CATERING der er udfyldt $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && catering = '".$catering."' order by $order"; break; case 3: // Her er det KUNDE_TYPE & CATERING der er udfyldt $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && kunde_type = '".$kundetype."' && catering = '".$catering."' order by $order"; break; case 4: // her er det kun JO_kontakt der er udfyldt $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && JO_kontakt = '".$JO_kontakt."' order by $order"; break; case 5: // Her er det KUNDE_TYPE & CATERING der er udfyldt $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && kunde_type = '".$kundetype."'&& JO_kontakt = '".$JO_kontakt."' order by $order"; break; case 6: // Her er det JO_kontakt & CATERING der er udfyldt $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && JO_kontakt = '".$JO_kontakt."' && catering = '".$catering."' order by $order"; break; case 7: // her er alle udfyldt $sql_row = "select * from kunde_stamdata where kategori = 'Hotel' && kunde_type = '".$kundetype."'&& JO_kontakt = '".$JO_kontakt."' && catering = '".$catering."' order by $order"; break; } // $query_row = mysql_query($sql_row, $conn)or die(mysql_error()); $query_row = mysqli_query($conn, $sql_row)or die(mysqli_error()); $resultat = array(); echo "<table><tr>"; $i=0; $antal = 4; // det antal tabeller der vises vertikalt // while($row = mysql_fetch_array($query_row)){ while($row = mysqli_fetch_array($query_row)){ $resultat[] = $row; if($i%$antal == 0){ echo "</tr><tr>"; } ?>
if ( (!isset($_POST['kundetype'])) && (!isset($_POST['JO_kontakt'])) && (!isset($_POST['catering']))) {