Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tagi i problem z zapisem do bazy
Forum PHP.pl > Forum > PHP
MitS
Witam!

mam mały problem ... otóż ostatnio postanowiłem sobie zrobić prosty system tagów na stronkę no i wszystko by było ok, gdyby ..... no właśnie zawsze jest jakies "gdyby" smile.gif

może najpierw przedstawie kod:

  1. <?php
  2. echo '
  3. <style>
  4. a {color:#8f0000; text-decoration:none;}
  5. a:link {color:#8f0000; text-decoration:none;}
  6. a:hover {color:#ff0000; text-decoration:none;}
  7. .t1 {font-size:7px;} .t2 {font-size:10px;} .t3 {font-size:13px;} .t4 {font-size:16px;} .t5 {font-size:19px;}
  8. </style>';
  9.  
  10. $mysqli = new mysqli("localhost", "root", "tajne_haslo", "tags");
  11. $select = $mysqli->query("SELECT id, title, value FROM tagi");
  12.  
  13. if (mysqli_connect_errno()) 
  14. {
  15.  printf("Błąd podczas połączenia z bazą danych: %sn", mysqli_connect_error());
  16.  exit();
  17. }
  18.  
  19. while ($value = $select->fetch_assoc())
  20. {
  21. if($_GET['tag'] == 'add' && $value['title'] == $_GET['mod'])
  22. $mysqli->query('UPDATE tagi SET value='.($value['value']+1).' WHERE title="'.$value['title'].'"');
  23.  
  24. if ($value['value'] <= 10) $tag = t1;
  25. else if($value['value'] > 10 && $value['value'] <= 30) $tag = t2;
  26. else if($value['value'] > 30 && $value['value'] <= 50) $tag = t3;
  27. else $tag = t4;
  28.  
  29. echo '<a class="'.$tag.'" href="?mod='.$value['title'].'&tag=add">'.$value['title'].' ('.$value['value'] .') </a>&nbsp;';
  30. }
  31. $mysqli->close();
  32. ?>


i teraz tak .... na stronie (po zaciągnieciu z bazy) pokazuje mi sie cos takiego:
skate (17) bmx (37) rolki (49) break dance (48)

w różnych wielkościach w zależności od cyferki w nawiasie ... i mój problem przedstawia się tak:
jak sie kliknie na dany link np. bmx to nie doda sie punkt do bazy do wiersza "bmx" tylko do tego w którym jestem, zaś gdy jestem juz w dziale bmx i nacisne jeszcze raz na tą dziedzinę na której jestem to wtedy działą poprawnie.

jak zrobić tak by po kliknięciu np. w "rolki" dodał się punkt do rolek a nie dzo kategorii w której przebywam questionmark.gif
Kicok
Cytat
w różnych wielkościach w zależności od cyferki w nawiasie ... i mój problem przedstawia się tak:
jak sie kliknie na dany link np. bmx to nie doda sie punkt do bazy do wiersza "bmx" tylko do tego w którym jestem


Tak ci się tylko wydaje. Jeśli klikniesz na BMX to się do BMX'a nic nie doda. Ale jak odświeżysz stronę (bez klikania w żaden link) to liczba przy BMX'ie się zwiększy.
Dodawanie masz zrobione poprawnie, tylko że podczas wyświetlania operujesz na starych wartościach i dlatego masz jednoodświeżeniowe lagi.
MitS
hmmm ..... no dobra a jak zrobić by pozbyć się starych wartości a zastąpić je nowymi odrazu po nacisnieciu linka questionmark.gif
Kicok
Nie "starych wartości", tylko "jedną starą wartość" - w końcu nie można kliknąć na 2 tagi na raz.

Od sprawdzania czy dany tag został kliknięty masz instrukcję warunkową. Więc jaki problem zwiększyć w niej liczbę kliknięć o 1, tak żeby instrukcje znajdujące się niżej operowały już na zaktualizowanych danych?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.