Advertisement
Guest User

Untitled

a guest
Feb 15th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.95 KB | None | 0 0
  1.  
  2. <!DOCTYPE html>
  3.  
  4. <?php
  5.  
  6. //Fetch previous search from cookie
  7. $prev_search = unserialize($_COOKIE["bostadssok"]);
  8.  
  9. $host= "localhost";
  10. $username="root";
  11. $password="1234";
  12. $db="labb4";
  13. $charset="utf8mb4";
  14.  
  15. $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  16. $opt = [ //??????
  17.     PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  18.     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  19.     PDO::ATTR_EMULATE_PREPARES   => false,
  20. ];
  21.  
  22. //Create connection
  23. $pdo = new PDO($dsn, $username, $password, $opt);
  24.  
  25. ?>
  26.  
  27. <html>
  28.     <head>
  29.         <title>Söksida för bostäder</title>
  30.         <meta charset="utf-8">
  31.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  32.  
  33.         <script src="sorttable.js"></script>
  34.  
  35.         <style type="text/css">
  36.             table, th, td {
  37.                border: 1px solid black;
  38.             }
  39.             table{
  40.                 border-collapse: collapse;
  41.                 width: 100%
  42.             }
  43.  
  44.         </style>
  45.     </head>
  46. <body>
  47.     <h1>Välkommen till slemnet!</h1>
  48.  
  49.     <form id="searchForm" action='result.php' method="post">
  50.         <!--Dynamisk populering från databas-->
  51.         <select name="lan">
  52.             <?php
  53.                     $prev_lan = $prev_search["lan"];
  54.  
  55.                     $sql = $pdo->query("SELECT DISTINCT(lan) FROM bostader");
  56.                     while($row = $sql->fetch()){
  57.                         //If cookie set. Set option to the specified "Län"
  58.                         if(($prev_lan!=="")&&$row["lan"]===$prev_lan){
  59.                             echo "<option selected=\"selected\" value=\"" . $row["lan"] . "\">" .
  60.                             $row["lan"] . "</option>";
  61.                         }
  62.                         else{
  63.                             echo "<option value=\"" . $row["lan"] . "\">" .
  64.                             $row["lan"] . "</option>";
  65.                         }
  66.                     }
  67.                
  68.             ?>
  69.         </select>
  70.  
  71.         <select name="objekttyp">
  72.             <?php
  73.  
  74.                 $prev_typ = $prev_search["objekttyp"];
  75.  
  76.                 $sql = $pdo->query("SELECT DISTINCT(objekttyp) FROM bostader");
  77.                 while($row = $sql->fetch()){
  78.                     //If cookie set. Set option to the specified "Län"
  79.                     if(($prev_typ!=="")&&$row["objekttyp"]===$prev_typ){
  80.                         echo "<option selected=\"selected\" value=\"" . $row["objekttyp"] . "\">" .
  81.                             $row["objekttyp"] . "</option>";
  82.                     }
  83.                     else{
  84.                         echo "<option value=\"" . $row["objekttyp"] . "\">" . $row["objekttyp"] . "</option>";
  85.                     }
  86.                 }
  87.             ?>
  88.         </select>
  89.  
  90.         <input type="text" name="adress" placeholder=Adress>
  91.         <div>
  92.             <input type="text" name="MinArea" placeholder="Min area" value=
  93.                 <?php
  94.                     if($prev_search["MinArea"]!=""){
  95.                         echo $prev_search["MinArea"];
  96.                     }
  97.                 ?>>
  98.             <input type="text" name="MaxArea" placeholder="Max area" value=
  99.                 <?php
  100.                     if($prev_search["MaxArea"]!=""){
  101.                         echo $prev_search["MaxArea"];
  102.                     }
  103.                 ?>>
  104.             <input type="text" name="MinRum" placeholder="Min rum" value=
  105.                 <?php
  106.                     if($prev_search["MinRum"]!=""){
  107.                         echo $prev_search["MinRum"];
  108.                     }
  109.                 ?>>
  110.             <input type="text" name="MaxRum" placeholder="Max rum" value=
  111.                 <?php
  112.                     if($prev_search["MaxRum"]!=""){
  113.                         echo $prev_search["MaxRum"];
  114.                     }
  115.                 ?>>
  116.         </div>
  117.         <div>
  118.             <input type="text" name="MinPris" placeholder="Min pris" value=
  119.                 <?php
  120.                     if($prev_search["MinPris"]!=""){
  121.                         echo $prev_search["MinPris"];
  122.                     }
  123.                 ?>>
  124.             <input type="text" name="MaxPris" placeholder="Max pris" value=
  125.                 <?php
  126.                     if($prev_search["MaxPris"]!=""){
  127.                         echo $prev_search["MaxPris"];
  128.                     }
  129.                 ?>>
  130.             <input type="text" name="MinAvgift" placeholder="Min avgift" value=
  131.                 <?php
  132.                     if($prev_search["MinAvgift"]!=""){
  133.                         echo $prev_search["MinAvgift"];
  134.                     }
  135.                 ?>>
  136.             <input type="text" name="MaxAvgift" placeholder="Max avgift" value=
  137.                 <?php
  138.                     if($prev_search["MaxAvgift"]!=""){
  139.                         echo $prev_search["MaxAvgift"];
  140.                     }
  141.                 ?>>
  142.         </div>
  143.         <input type="submit" id="searchBtn" value="Sök bostad">
  144.     </form>
  145.  
  146.     <div id="result"></div>
  147.    
  148.     <script>
  149.         //AJAX POST-requests to result.php
  150.         var onDone = function(data){
  151.             $("#result").html(data);
  152.  
  153.             //Client side table sorting needs the file sortable.js from https://www.kryogenix.org/code/browser/sorttable/#ajaxtables
  154.             var newTableObject = document.getElementById("searchTable");
  155.             sorttable.makeSortable(newTableObject);
  156.         };
  157.  
  158.         $("#searchForm").submit(function(e) {
  159.             $.ajax({
  160.                 type: "POST",
  161.                 url: "result.php",
  162.                 data: $(this).serialize()
  163.             }).done(onDone);
  164.             return false;
  165.         });
  166.  
  167.  
  168.         //Server side table sorting
  169.         /*
  170.         //Helper object
  171.         var sortState = {
  172.             lan:"DESC",
  173.             objekttyp:"DESC",
  174.             adress:"DESC",
  175.             area:"DESC",
  176.             rum:"DESC",
  177.             pris:"DESC",
  178.             avgift:"DESC"
  179.         };
  180.  
  181.         $("#result").on("click", "th", function(e) {
  182.             var attribute = $(e.currentTarget).html();
  183.             var order;
  184.             if(sortState[attribute]=="DESC"){
  185.                 sortState[attribute]="ASC";
  186.                 order = "ASC";
  187.             }
  188.             else{
  189.                 sortState[attribute]="DESC";
  190.                 order = "DESC";
  191.             }
  192.  
  193.         $.ajax({
  194.                 url: "result.php",
  195.                 type: "GET",
  196.                 data: {
  197.                     by: attribute,
  198.                     order: order
  199.                 }
  200.             }).done(onDone);
  201.         });
  202.         */
  203.         //***Server side table sorting ends here***
  204.  
  205.     </script>
  206. </body>
  207. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement