Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Witam.. Pisze sobie taki mały portal z możliwością oceny danego elementu (np. zdjęcia)
Chciałbym się dowiedziec, jak edytowac rekord w bazie, ale rekord liczbowy.. Np. do 51 dodajemy 1. (IMG:style_emoticons/default/wink.gif) Mam taki skrypt, nie działa mi też edycja danego rekordu, w sensie edycja po ID (który ma byc wybierany do danego elementu). Oto częsc kodu:
Mógłby mi ktoś pomoc, albo nakierowac? Ten post edytował awek520 10.04.2014, 17:25:34 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%)
|
Odpowiedź na Twoje pytanie jest w dokumentacji: update.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Czyli coś takiego?
Nie wiem czy to będzie dobry system do takiego czegos.. : / chciałbym żeby, gdy klikło się poweidzmy "dobre", to edytuje się odrazu rekord punkty(+1) a dalej zostajemy na stronie głównej. (IMG:style_emoticons/default/smile.gif) do tego nie wiem jak zrobic, żeby tylko raz mogło by się głosowac.. ktoś by coś doradził(IMG:style_emoticons/default/questionmark.gif) Ten post edytował awek520 10.04.2014, 18:52:43 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
Ajax, cookie, sprawdzenie IP + UserAgent + cookie
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Napisałeś to w dużym skrócie.. bardzo dużym
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Tworzysz linki
Robisz akcję onclick
ajaxem wysyłasz dane i php robisz update |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Tworzysz linki
Robisz akcję onclick
ajaxem wysyłasz dane i php robisz update A ten kod drugi to gdzie wstawic? w jakiej częsci kodu? |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
W tym samym pliku co jest link
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
No tak, ale trzeba jakąś zmienną dopisac czy cos? gdy dodaje sam ten kod do pliku to wychodzi bląd.. coś z tym drugim "("..
Nie znam się na tym ajaxie.. jakaś czarna magia dla mnie to ; / |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Wywala ci błąd w konsoli bo musisz dołączyć bibliotekę jquery w <head>. Poczytaj o ajaxie, napisz coś i wróć.
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Sciągłem skrypt z neta.. Niestety nie do końca działa.. Mozna dodawac tyle plusów ile się chce.
glos.php
Chciałbym jeszcze, żeby automatycznie id wybierał z bazy, trzeba to dodac do id="'.$wiersz['id'].'" no ale nie dziala mi to.. : / Tak samo nie edytuje rekordu w bazie.. ciągle zostaje taki sam.. Chcialbym jeszcze zrobic blokade, że tylko raz mozna głosowac, albo chociaz raz na dzien.. Pomoże ktoś? |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
data: 'akcja=dodaj',
spróbuj tak: data: { akcja:'dodaj' }, analgiczne do odejmij |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Nic, dalej to samo.. rekord w bazie się zmienia (IMG:style_emoticons/default/smile.gif) tylko że można ciągle naciskac ++ albo --
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Jeżeli rekord w bazie już się zmienia, a chcesz dodać blokadę, że można np. głosować raz, to musisz stworzyć nową tabelę, np. oceny z kolumnami: cytat_id, user_id(lub IP użytkownika w zależności czy masz system logowania), data
Wtedy po naciśnięciu plus/minus sprawdzasz przed update, czy użytkownik już głosował - zwykłe mysql_num_rows z warunkiem where cytat=cytat AND user=user/ip |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Jeżeli rekord w bazie już się zmienia, a chcesz dodać blokadę, że można np. głosować raz, to musisz stworzyć nową tabelę, np. oceny z kolumnami: cytat_id, user_id(lub IP użytkownika w zależności czy masz system logowania), data Wtedy po naciśnięciu plus/minus sprawdzasz przed update, czy użytkownik już głosował - zwykłe mysql_num_rows z warunkiem where cytat=cytat AND user=user/ip No tak, ale wtedy chyba tylko pod jeden id będzie to działac tak? Czy źle zrozumiałem.. Muszę tworzyc nową tabele? Czy można np. w tej tabeli z cytatami to dodac? A gdzie dodac ten update? ps.. i tak do dupy działa.. : / bo trzeba odświezyc stronę żeby pokazała się ilośc.. : / Ten post edytował awek520 12.04.2014, 10:45:50 |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Baza danych powinna wyglądać mniej więcej tak:
cytaty: id | tytul | opis itd....| ocena oceny: cytat_id | x | data gdzie x to user_id lub user_ip w zależności od tego czy masz logowanie czy nie Po naciśnięciu przycisku plus/minus: 1. Wysyłasz czy to plus czy to minus ("plus i minus to jedyne co widzę" (IMG:style_emoticons/default/tongue.gif) ) 2. Sprawdzasz czy w tabeli ocny istnieje wiersz spełniający warunki cytat_id i x - jeżeli 1 to: komunikat, ze uzytkownik głosował, exit - jeżeli 0 to: a) update tabeli cytaty gdzie cytat_id = wysłane ajaxem id (IMG:style_emoticons/default/cool.gif) dodajesz to tabeli oceny potrzebne dane c) pobierasz aktualną ocenę i wyświetlasz ją Ten post edytował Turson 12.04.2014, 10:48:47 |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
O boż.. Czemu to musi byc takie trudne.. ; / Tabele akurat mam zrobioną dobrze (IMG:style_emoticons/default/wink.gif)
|
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Jak nie chcesz przebudowywać bazy, to można to zrobić też na ciasteczku chociażby, ale ciasteczka można edytować, usunąć (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
coś takiego?
Tak mam Ten post edytował awek520 12.04.2014, 11:07:36 |
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Skąd wziąłeś user_ip?
|
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
No jeżeli user_ip 1 to znaczy że ktoś głosował.. a 0 że nie.. (IMG:style_emoticons/default/smile.gif) tak?
czy ten kto nie głosował ma 0 A user_ip z bazy oceny, a znaczki mi się pomyliły.. teraz zminiłem Ten post edytował awek520 12.04.2014, 11:07:52 |
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Ale skąd bierzesz to user_ip?
|
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Chodzi CI o wyciągniecie z bazy? Nie ma...
|
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Cytat 1. Wysyłasz czy to plus czy to minus ("plus i minus to jedyne co widzę" tongue.gif ) 2. Sprawdzasz czy w tabeli ocny istnieje wiersz spełniający warunki cytat_id i x - jeżeli 1 to: komunikat, ze uzytkownik głosował, exit - jeżeli 0 to: a) update tabeli cytaty gdzie cytat_id = wysłane ajaxem id cool.gif dodajesz to tabeli oceny potrzebne dane c) pobierasz aktualną ocenę i wyświetlasz ją to wszystko robisz w PHP, do ajaxa zwracasz tylko dane.
dopiero w success możesz pobrać user_ip |
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Dobra poddałem się..
Sciągłem gotowca z: http://coursesweb.net/php-mysql/voting-up-...-script-ajax_s2 Wszystko działa jak nalezy, lecz moje pytanie do Was.. Czy można go zedytowac tak, żeby każdy cytat był oceniany ? a nie tylko działa pod jeden? Jak połączyc te 2 bazy ? Ten post edytował awek520 12.04.2014, 16:24:59 |
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Możesz zerknąć jak chcesz http://turson.pl/blog/skrypt-ocen-oparty-na-ajaxie-jquery/
|
|
|
|
Post
#27
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Ładnie ładnie (IMG:style_emoticons/default/smile.gif)
Sprawdzałem to, no i coś z łączeniem się do bazy jest : / mógłbyś opisac co i jak z tym skryptem? Głównie chodzi mi o to:
no i o to:
Ten post edytował awek520 13.04.2014, 22:00:04 |
|
|
|
Post
#28
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
<!--?PHP
zmień na <?php $this--->db na $this->db (PDO::MYSQL_ATTR_INIT_COMMAND =--> na (PDO::MYSQL_ATTR_INIT_COMMAND => wordpressowe bbcode coś pomieszało (IMG:style_emoticons/default/ohmy.gif) |
|
|
|
Post
#29
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Błedu nie ma, ale po naciśniecu dobre, słabe nic się nie dzieje.. : /
|
|
|
|
Post
#30
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Odpal konsolę przeglądarki, albo FireBug i zobacz czy w ogóle jest jakiś request po naciśnięciu
|
|
|
|
Post
#31
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
|
|
|
|
Post
#32
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Sprawdź czy w bazie coś się zmienia
$stmt->execute(); pozamieniaj na if(!stmt->execute()) print_r($stmt->errorInfo()); |
|
|
|
Post
#33
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
W bazie nic się nie zmienia..
Jak to pozamieniałem to wyskoczył błąd. Parse error: syntax error, unexpected T_OBJECT_OPERATOR in C:\WebServ\httpd\ocena.php on line 12
|
|
|
|
Post
#34
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Zgubiłem $ przy $stmt
---> 12 skąd to się wzięło? wywal |
|
|
|
Post
#35
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Chciałem CI pokazac, która linijka, tego nie ma ogolnie..
Pozmieniałem to, bo też własnie tak myslałem, zamiast ! ma byc $ tak? Dalej nic.. : / klikam fajne lub slabe, i nic.. baza oceny dalej pusta. Ten post edytował awek520 14.04.2014, 14:53:58 |
|
|
|
Post
#36
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Wiesz co, jak będę w domu to wrzucę poprawną wersję, bo widzę, że parser bbcode zrobił tyle bałaganu, że szok (IMG:style_emoticons/default/tongue.gif)
|
|
|
|
Post
#37
|
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 4 Dołączył: 18.03.2011 Ostrzeżenie: (0%)
|
awek, moim zdaniem w tej sposób do niczego nie dojdziesz. Masz 'braki z podstawówki' i co z tego, że ktoś Ci teraz powie co napisać czy też napisze Ci gotowe, jak dalej nie będziesz tego ogarniał.
Wg mnie to powinieneś tą pracę rozbić na kilka mniejszych, poćwiczyć a potem złożyć to do kupy. Zrób sobie przykład użycia jQuery, ajaxa, parę przykładów z MySQL'a, a potem sam zobaczysz, że jest to dość proste i poskładasz w całość. Wtedy masz gwarancję, że wiesz co robisz, jak zepsujesz to będziesz wiedział gdzie i co oraz bez problemu napiszesz kolejny kod. Inaczej każdy projekt będzie drogą przez mękę. Pozdrawiam! |
|
|
|
Post
#38
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Rozumiem Cie i wiem że masz racje.. Ale gdy ktoś napisze już praktycznie cały kod "za mnie" to staram się to przeanalizowac i zrozumiec co i jak..
Pozdrawiam |
|
|
|
Post
#39
|
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%)
|
Zacznij używać PDO/MYSQli bo od wersji 5.5.0 funkcje będą przestarzałe mysq_...
|
|
|
|
Post
#40
|
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%)
|
Wiesz co, jak będę w domu to wrzucę poprawną wersję, bo widzę, że parser bbcode zrobił tyle bałaganu, że szok (IMG:style_emoticons/default/tongue.gif) Poprawiłem kod łącznie z tabelami bazy, więc od początku je stwórz. |
|
|
|
Post
#41
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 28.08.2013 Ostrzeżenie: (20%)
|
Wszystko działa poprawnie.. dziękuje Ci bardzo za pomoc.. (IMG:style_emoticons/default/smile.gif)
Mam mature za 3 tygodnie, po maturach będę miał więcej czasu to przysiąde wkońcu do tego i zacznę powolutku od podstaw. (IMG:style_emoticons/default/smile.gif) Pozdrawiam. PS. No dobra, wszystko ok.. Lecz mam problem z wyświetlaniem informacji, czy cytat jest, czy ktoś już głosował.. Zapętliłem echo, na jeden strronie mam wyświetlonych po 10 rekordów, lecz (<div id="odpowiedz"></div>) odpowiedz ciagle wyświetla się przy pierwszym z góry.. Do tego, gdy np. ocenimy 5 rekord, to zmienia się ten pierwszy u góry, po odświeżeniu strony wszystko dziala poprawnie(5 sie zmienia).. Nie mam żadnych pomysłów jak by to zmienic.. #Turson pomożesz w tym? Ten post edytował awek520 15.04.2014, 14:24:22 |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 13:10 |