Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> select w update
Papub
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

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


W czym tutaj tkwi błąd?
zapytanie ma zwiększyć pole ile o 1 dla id_podstrony. To id_podstrony ma być pobrane z innej tabeli. nazwa_podstrony to nazwa podstrony do której jest dopisane id. I to id właśnie chce wyciągnąć z tabeli.

$zapytanie2 = "UPDATE statystyki_co.id_podstrony, statystyki_co.ile SET id_podstrony=(SELECT struktura_strony.id_podstrony FROM struktura_strony WHERE struktura_strony.podstrona = '$nazwa_podstrony'), ile=ile+1";
Go to the top of the page
+Quote Post
Mostrom
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Rób po kolei i co ważniejesze używaj odwróconych apostrofów `` i zwykłych ''. Mnie to nie raz namieszało w kodzie.
Nie działa ci dlatego, że przy wstawianiu zmiennych PHP w zapytaniu SQL nie postawiłeś cudzysłowiu i nie objąłeś zmiennej kropkami w ten sposób:

Kod
".$jakaśZmienna."


  1. $zapytanie1=" SELECT `id_podstrony` FROM `struktura_strony` WHERE `podstrona` = ' ".$nazwa_podstrony." ' "
  2. $zapytanie2= i tutaj update;


No i nie możesz poprostu sobie zmienić wartości tak: ile=ile+1, bo ja szczerze mówiąc sam nie wiem o co ci chodzi.
Czy chcesz zmienić nazwę kolumny o jeden, czy zawartość pola o jeden?

Ten post edytował Mostrom 22.10.2010, 16:05:18
Go to the top of the page
+Quote Post
Papub
post
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

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


No ogólnie nie chce robić Twojego rozwiązania bo mi to zwiększa ilość zapytań do bazy. Wole mieć jedno zapytanie niż dwa. I właśnie nie wiem czy tak można zrobić jak ja robie. ile=ile+1 to ma zamysł zwiększania wartości w tej kolumnie o 1.
Go to the top of the page
+Quote Post
modern-web
post
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Nie można.
Zapytania do bazy robi się osobno.
Liczy się wtedy ich kolejność.

Możesz wykonać SELECT, wyprowadzić go do zmiennej, a potem zmienną tą możesz użyć w UPDATE (IMG:style_emoticons/default/smile.gif)
To chyba najlogiczniejsze podejście do tematu.

Pozdrawiam.



Edit:

  1. $zapytanie1 = ("SELECT struktura_strony.id_podstrony FROM struktura_strony WHERE struktura_strony.podstrona = '$nazwa_podstrony'";)
  2. $zapytanie2 = ("UPDATE statystyki_co.id_podstrony, statystyki_co.ile SET id_podstrony='$zapytanie1', ile=ile+1";)


Zrób najlepiej w podobny sposób do wyżej przedstawionego (IMG:style_emoticons/default/smile.gif)

A i... to ile=ile+1 jest źle jeśli w kolumnie ile nie ma wartości liczbowej. Ja bym to wyprowadził do zmiennej na Twoim miejscu (IMG:style_emoticons/default/smile.gif)
Niech kod będzie jak najbardziej czytelny.

Ten post edytował modern-web 26.10.2010, 16:47:59
Go to the top of the page
+Quote Post
Papub
post
Post #5





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

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


Yhym. No dobrze. W takim razie dziękuje za wyprowadzenie mnie z błędu i za pomoc (IMG:style_emoticons/default/smile.gif) Pozdrawiam.
Go to the top of the page
+Quote Post

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: 7.10.2025 - 15:33