Advertisement
Guest User

Untitled

a guest
Mar 20th, 2017
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.31 KB | None | 0 0
  1. <?php
  2. session_start();
  3.  
  4. if(!isset($_SESSION['online'])){
  5.     header('Location: index.php');
  6.     exit();
  7. }
  8.  
  9. if(isset($_GET["id"]))              // sprawdza czy jest ustawiona zmienna id
  10. {
  11.     $img_id =($_GET["id"]);         // jeżeli jest ustawiona to przypisuje jej wartość zmiennej img_id
  12. }else
  13. {
  14.     $img_id = 1;                    // jeżeli nie jest ustawiona to przypisuje jej wartość 1 czyli wywołuje na stronie pierwszy obrazek
  15. }
  16. $db = mysqli_connect("localhost","root","");        //połączenie z bazą danych
  17. mysqli_select_db($db, "mapa");                      // wybiera bazę danych o nazwie mapa
  18. $zapytanie = mysqli_query($db, "SELECT plik FROM obrazki WHERE id_obrazka = $img_id");  //zwraca jakąś nieznaną ilość rekordów w zmiennej $zapytanie znajduje się wynik wykonanego zapytania
  19. $rezultat = mysqli_fetch_assoc($zapytanie);     //  pobiera z $zapytanie kolejny rekord i zapisuje go do tablicy asocjacyjnej
  20. $obraz = $rezultat["plik"];
  21. ?>
  22. <!DOCTYPE html>
  23. <html>
  24. <head>
  25. <meta charset="UTF-8">
  26. <link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css">
  27. <title> Wykorzystywanie map obrazu</title>
  28. <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>
  29. <script>
  30. pins = ["obrazki/pinezka1.png", "obrazki/pinezka2.png", "obrazki/pinezka3.png", "obrazki/pinezka4.png", "obrazki/pinezka5.png", "obrazki/pinezka6.png",
  31. "obrazki/pinezka7.png", "obrazki/pinezka8.png", "obrazki/pinezka9.png"];
  32. function wyswietl(x,y,desc){
  33.     var pin = document.createElement('div');
  34.     pin.className = "pin";
  35.     pin.style.top = y-24 + "px";
  36.     pin.style.left = x-12 + "px";
  37.     pin.style.backgroundImage = "url('" + pins[Math.floor(Math.random()*pins.length)] + "')";
  38.     pin.addEventListener("click",function(){
  39.         var newdesc = prompt("Podaj nowy opis");
  40.         if(newdesc != null && newdesc != "")
  41.             this.firstChild.innerHTML = newdesc;
  42.     });
  43.     var descbox = document.createElement("div");
  44.     descbox.innerHTML = desc;
  45.     pin.appendChild(descbox);
  46.     document.getElementById("uchwyt").appendChild(pin);
  47. }
  48.  
  49. function dodaj(e){
  50.     var desc = prompt("Proszę podać opis");
  51.     if(desc!= null && desc != ""){
  52.         wyswietl(e.offsetX,e.offsetY,desc);
  53.         //trzeba sprawdzic czy uzytkownik wpisal w opis znak &, załóżmy że nie wpisał
  54.         var http = new XMLHttpRequest();
  55.         var params = "img=<?php echo $img_id; ?>&x=" + e.offsetX + "&y=" + e.offsetY + "&opis=" + desc;
  56.         http.open("POST", "add.php", true);
  57.         http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  58.         http.send(params);
  59.     }
  60. }
  61.  
  62. function przycisk(){
  63.     <?php
  64.     $zapytanie = mysqli_query($db, "SELECT x,y,opis FROM pinezki WHERE id_obrazka = $img_id");  // Zapytanie mysql zwraca nieznaną ilość rekordów
  65.     while($pin = mysqli_fetch_assoc($zapytanie)){       // w zmiennej $zapytanie znajduje się wynik wcześniej wykonanego polecenia, mysqli_fetch_assoc($zapytanie ) pobiera z $zapytanie kolejny rekord i zapisuje go do tablicy asocjacyjnej
  66.         echo "wyswietl(".$pin["x"].",".$pin["y"].",\"".$pin["opis"]."\");";     // jeśli wszystkie rekordy już zostały pobrane, to mysqli_fetch_assoc zwróci fałsz, a ponieważ nie mamy pewności co do ilości rekordów to musimy użyć pętli            
  67.     }
  68.     ?>
  69. }
  70.  
  71. </script>
  72. <style>
  73. body {
  74.     text-align: center;
  75.     background-color: #222;
  76.     height:100%;
  77. }
  78. h1{
  79.     color:white;
  80. }
  81. .pin {
  82.     position: absolute;
  83.     cursor: pointer;
  84.     width: 24px;
  85.     height: 24px;
  86.     background-repeat: no-repeat;
  87. }
  88. .pin>div {
  89.     display: none;
  90.     position: absolute;
  91.     top: 2px;
  92.     left: 27px;
  93.     color: #ddd;
  94.     background-color: rgba(0,0,0,0.8);
  95.     padding: 3px;
  96.     text-align: left;
  97.     width: 200px;
  98. }
  99. .pin:hover>div {
  100.     display: block;
  101. }
  102. .pudelko {
  103.     display: inline-block;
  104.     padding: 20px;
  105.     font: 8pt Verdana;
  106.     background-color: #ddd;
  107.     margin-top:50px;
  108. }
  109. .miniatura {
  110.     height: 120px;
  111.     border: 1px solid black;
  112.     margin: 5px;
  113. }
  114. #uchwyt {
  115.     position: relative;
  116. }
  117. #image {
  118.     position: relative;
  119.     cursor: crosshair;
  120.     margin-bottom: 20px;
  121. }
  122. .menu{
  123.     width:100px;
  124.     background-color:#9ce;
  125.     font-size:11pt;
  126.     color:black;
  127.     font-weight:bold; /*pogrubienie */
  128.     height:48px;
  129.     overflow:hidden; /* przepełnienie ukryte aby nie było widać listy */
  130.     text-align:center;
  131.     float:left;
  132.     margin-top:10px;
  133.  
  134. }
  135. .menu:hover{
  136.     width:100px;
  137.     background-color:#27c;
  138.     font-size:10pt;
  139.     color:black;
  140.     height:auto;
  141.     text-align:center;
  142. }
  143. #linki{
  144.     list-style-type:none;
  145.     width:100px;
  146.     font-size:9pt;
  147.     padding:0px;
  148.     margin:0px;
  149.     z-index:1;
  150.     position:absolute;
  151. }
  152. #linki li{
  153.     margin:10px 0px; /* marginesy między wierszami ustawione na 10px */
  154.     display: block;
  155. }
  156. #linki a, #linki a:visited{
  157.     text-decoration:none;
  158.     display:block;
  159.     width:100px;
  160.     background-color:#E2E2E2;
  161.     padding: 2px 0px;
  162.     color:green;
  163. }
  164. #linki a:hover{
  165.     text-decoration:none;
  166.     width:100px;
  167.     color:white;
  168.     font-weight:bold;
  169.     font-size:12pt;
  170.     padding:0px;
  171.     border-top:solid 2px purple; /*na dole i gorze hiperlacza pojawi sie obramowanie w kolorze fioletowym */
  172.     border-bottom:solid 2px purple;
  173.     margin: 1px 0px;
  174.     background-color:#28e;
  175. }
  176. ul
  177. {
  178.     display: none;
  179. }
  180.  
  181. .menu:hover ul {
  182.     display: block;
  183. }
  184. .exit{
  185.     float:left;
  186.     margin-left: 1300px;
  187.     text-align:center;
  188. }
  189. .exit img{
  190.     width:60px;
  191.     heigth:60px;
  192. }
  193. </style>
  194. </head>
  195. <body onload="przycisk()">
  196. <h1>Wykorzystywanie map obrazu</h1>
  197. <div class="menu">
  198.         <p>KATALOG</p>
  199. <ul id="linki">
  200.     <div class="menu1">
  201.         <li><a href="#">Rok 2016 </a></li>
  202.         <li><a href="#">Rok 2015 </a></li>
  203.         <li><a href="#">Rok 2014 </a></li>
  204.         <li><a href="#">Rok 2013 </a></li>
  205.         <li><a href="#">Rok 2012 </a></li>
  206.         <li><a href="#">Rok 2011 </a></li>
  207.     </div>
  208. </ul>
  209. </div>
  210.     <div class="exit">
  211.         <a href="logout.php"><img src="obrazki/Wyloguj.png"/></a>
  212.     </div>
  213. <div class="pudelko">
  214.     <div id="uchwyt">
  215.             <img id="image" src="<?php echo $obraz; ?>" alt="Obraz" onclick="dodaj(event)">
  216.         </br>
  217.         Kliknij w dowolnym miejscu mapy obrazu. Kliknij pinezkę, aby ją edytować.
  218.     </div>
  219. </div>
  220. <div style="clear:both; height: 30px"></div>
  221. <div class="pudelko" style="padding: 5px">
  222.     <?php
  223.     $zapytanie = mysqli_query($db, "SELECT * FROM obrazki WHERE id_obrazka != $img_id");
  224.     while($obraz = mysqli_fetch_assoc($zapytanie)){
  225.         echo '<a href="?id='.$obraz["id_obrazka"].'"><img class="miniatura" src="'.$obraz["plik"].'" alt="'.$obraz["nazwa"].'"></a>';
  226.     }
  227.     ?> 
  228. </div>
  229. </body>
  230. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement