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
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




ad1) Nie. Samo ID. Nie ma sensu duplikowac danych

ad2) Nie bardzo rozumiem problem chyba. Jesli jestes na etapie dodawania filmu, to przeciez mozesz juz na typ etapie wybrac tez tagi. Potem klikajac: ZAPISZ FILM idziesz do skryptu, ktore dodaje ten film, masz jego ID, i mozesz dodac tagi

Cytat
$tag1 = explode(" ", $tag);{
$tag2 = implode( ", ", $tag1 );

rzeczywiście niepotrzebny kod...

A widzisz, przez dlugi czas to mnie mylilo odnosnie tego jak dodajesz tagi i temu twoj kod nie mial sensu zadnego.
Go to the top of the page
+Quote Post
Sklep102
post
Post #3





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

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


Cytat(nospor @ 4.01.2020, 09:52:00 ) *
ad2) Nie bardzo rozumiem problem chyba. Jesli jestes na etapie dodawania filmu, to przeciez mozesz juz na typ etapie wybrac tez tagi. Potem klikajac: ZAPISZ FILM idziesz do skryptu, ktore dodaje ten film, masz jego ID, i mozesz dodac tagi

Właśnie skąd będę miał jego id muszę zrobić zapytanie które wybierze np. ostatnio dodany rekord dobrze rozumiem?
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: 11.10.2025 - 23:59