Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]autouzupełnienie
Sklep102
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


Cześć,
Znalazłem w necie taki kod

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>Tag sys - mzielinski.pl</title>
  8.  
  9. <link href="css/bootstrap.min.css" rel="stylesheet">
  10. <link href="css/style.css" rel="stylesheet">
  11. <link href="css/autocomplete.css" rel="stylesheet">
  12. </head>
  13. <body>
  14. <div class="container">
  15. <div class="col-md-6 col-md-offset-3">
  16. <h1 class="text-center">TAG SYS - mzielinski.pl</h1>
  17. <p class="lead text-center">Simply tag system on MySQL.<br>Save or delete records.</p>
  18.  
  19. <form method="post" action="">
  20. <div class="row">
  21. <label>Tag:</label>
  22. <input class="form-control auto" type="text" id="tag" /> <br>
  23. <div class="btn btn-default" id="addTag">Add Tag</div>
  24. <div class="clearfix"></div><br>
  25. <div class="tagForm">
  26. <ul id="tagList">
  27. <? require('db.php');
  28. $tags = $mysqli->query("SELECT * FROM tags");
  29. if(mysqli_num_rows($tags) > 0) {
  30. while($tag = $tags->fetch_object()) {
  31.  
  32. echo "<li class=\"tag\" id=\"id_{$tag->id}\"> {$tag->tag} <button class=\"deleteTagExsit btn-warning\" id=\"id_{$tag->id}\">X</button></li>";
  33.  
  34. }
  35. }?>
  36. </ul>
  37. </div>
  38. <div class="buttons-box clearfix">
  39. <input class="btn btn-info btn-lg pull-right" type="submit" value="Save" name="save">
  40. </div>
  41. </div>
  42. </form>
  43.  
  44. <? if (isset($_POST['save'])) {
  45. if(!empty($_POST['multiTag'])) {
  46. foreach ($_POST['multiTag'] as $key=>$tag) {
  47.  
  48. $tag = mysqli_real_escape_string($mysqli,$tag);
  49. echo "Tag(s): ".$tag.", ";
  50.  
  51. $upTags = "INSERT INTO tags (tag) VALUES ('$tag')";
  52. if ($mysqli->query($upTags) === TRUE) echo "added to DB";
  53. header("Refresh:1");
  54. }
  55. }
  56. }?>
  57. <div class="footer text-center">Do you like it? Visit my page <a href="http://mzielinski.pl">mzielinski.pl</a> My work is usefull for you? Support me by BTC <div id="coinwidget-bitcoin-14Qaw1shp8ccg2n5jxzHD1DSfyTkYoKNqe"></div></div>
  58. </div>
  59. </div>
  60.  
  61. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  62. <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  63. <script src="js/bootstrap.min.js"></script>
  64. <script>
  65. $(function() {
  66. $( "#tag" ).autocomplete({
  67. source: 'autocomplete.php'
  68. });
  69. });
  70.  
  71. var id = 0;
  72. $("#addTag").click(function(){
  73. if($("#tag").val() ) {
  74.  
  75. id++;
  76. var li = document.createElement("li");
  77. li.className = "tag";
  78. li.setAttribute("id", id);
  79.  
  80. var i = document.createElement("INPUT");
  81. i.setAttribute("name","multiTag[]");
  82. i.setAttribute("type","hidden");
  83. i.setAttribute("id", id);
  84.  
  85. var tag = document.getElementById('tag').value;
  86.  
  87. li.innerHTML = " " + tag + ' <button class=\"deleteTag btn-warning\" id=\"'+id+'\">X</button>'
  88. i.setAttribute("value", tag);
  89.  
  90. $("#tagList").append(li)
  91. $("#tagList").append(i)
  92. $('#tag').val('');
  93. }});
  94.  
  95. $("#tagList").on('click', 'button.deleteTag', function() {
  96.  
  97. var idDiv = this.id;
  98. $("#"+idDiv).remove()
  99. $(":input[id='"+idDiv+"']").remove();
  100.  
  101. });
  102.  
  103. $("#tagList").on('click', 'button.deleteTagExsit', function() {
  104.  
  105. var del_id = this.id;
  106. var toDel = del_id.replace('id_', '');
  107. $("#id_"+toDel).remove();
  108. $.ajax({
  109. type:'POST',
  110. url:'delete_tag.php',
  111. data:'delete_id='+toDel
  112. });
  113.  
  114. });
  115. </script>
  116. <script src="//blockr.io/js_external/coinwidget/coin.js"></script>
  117. <script>
  118. CoinWidgetCom.go({
  119. wallet_address: '14Qaw1shp8ccg2n5jxzHD1DSfyTkYoKNqe',
  120. currency: 'bitcoin',
  121. counter: 'hide',
  122. lbl_button: 'Donate',
  123. lbl_count: 'donations',
  124. lbl_amount: 'BTC',
  125. lbl_address: 'Use address below to donate. Thanks!',
  126. qrcode: true,
  127. alignment: 'bl',
  128. decimals: 8,
  129. size: "big",
  130. color: "dark",
  131. countdownFrom: "1000",
  132. element: "#coinwidget-bitcoin-14Qaw1shp8ccg2n5jxzHD1DSfyTkYoKNqe",
  133. onShow: function(){},
  134. onHide: function(){}
  135. });
  136. </script>
  137. </body>
  138. </html>


link do strony osoby tworzącej skrypt : https://mzielinski.pl/tag-system-jquery-ajax-php-mysql/

chciałbym zapytać w jaki sposób można zablokować możliwość tworzenia nowych tagów i wykorzystywać tylko te które znajdują się w bazie danych? Dokładnie chodzi mi o to że po wpisaniu np test nie było możliwości wyboru/wpisania test1 ponieważ takiego takiego taga nie ma w bazie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sklep102
post
Post #2





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


Wyszukiwanie id działa idealnie, w bazie mam 3 tagi:
Test
Test1
Test2
Pobieram id tagu: Test Test1 i wyświetla id 1, 2 wszystko super, problem pojawia sie przy próbie dodania tych wartości bezpośrednio do tabeli film przez $t3 ponieważ zapisuje ostatni rekord o id 2. W jaki sposob moge zapisac te 2 rekordy jeśli echo $t3 wyswietla 1, 2 A dodaje do bazy ostatni rekord wiem że robi to że względu na pętlę ale nie wiem jak zapisać oba...

3. Co do twojej sugestii. Rozumiem że każdy tag mam osobno przypisać do każdego filmu? Co w przypadku jeśli w bazie jest 300 filmów i każdy ma 10 tagow? Nie będzie problemu z przeszukaniem całej bazy?
Go to the top of the page
+Quote Post

Posty w temacie
- Sklep102   [MySQL][PHP]autouzupełnienie   30.12.2019, 01:44:22
- - nospor   Chyba nie bardzo rozumiem.... skoro nie chcesz two...   30.12.2019, 10:54:59
- - Sklep102   Wszystko fajnie ale, mam zdjęcie i chciałbym użyć ...   30.12.2019, 13:03:30
- - nospor   No dobrze, wczesniej chciales nei dodawac do bazy ...   30.12.2019, 22:41:49
- - Sklep102   Na podstawie twojej podpowiedzi zrobiłem coś takie...   1.01.2020, 01:39:05
- - trueblue   Bo nie dodajesz do filmu nowych tagów tylko aktual...   1.01.2020, 09:31:37
|- - Sklep102   Cytat(trueblue @ 1.01.2020, 09:31:37 ...   1.01.2020, 15:40:29
- - nospor   Po pierwsze: ja ci nie mowilem ze na podstawie tek...   1.01.2020, 17:11:07
|- - Sklep102   Cytat(nospor @ 1.01.2020, 17:11:07 ) ...   3.01.2020, 16:42:50
- - nospor   Nie odpowiedziales na moje pytanie, co robi ...   3.01.2020, 16:45:37
|- - Sklep102   Cytat(nospor @ 3.01.2020, 16:45:37 ) ...   3.01.2020, 17:41:07
- - nospor   1) UPDATE edytuje REKORDY w tabeli. Jak nie podasz...   3.01.2020, 17:47:06
- - Sklep102   Wyszukiwanie id działa idealnie, w bazie mam 3 tag...   3.01.2020, 18:46:05
- - nospor   CytatCo w przypadku jeśli w bazie jest 300 filmów ...   3.01.2020, 18:56:33
- - Sklep102   Mam prawie rozwiązanie, ale mam jeszcze 2 pytania....   4.01.2020, 02:10:44
- - nospor   ad1) Nie. Samo ID. Nie ma sensu duplikowac danych ...   4.01.2020, 09:52:00
|- - Sklep102   Cytat(nospor @ 4.01.2020, 09:52:00 ) ...   4.01.2020, 11:13:43
- - nospor   https://www.php.net/manual/en/mysqli.insert-id.php   4.01.2020, 11:42:42


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 21:05