Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ MySQL _ if pole1=1 to pole2=5

Napisany przez: ReBeLs513 18.05.2019, 22:08:04

Po długiej nieobecności witam wszystkich ponownie smile.gif


Mam pytanko, jak zrobić w PHP lub samym PHPMyAdmin coś takiego, że mam bazę danych SAMDB i tabelę w niej o nazwie SONGLIST. W tabelce tej są m.in. takie pola: FILENAME i SONGTYPE.

Pytanie, w jaki sposób zmienić pole songtype na 5, jeśli pole filename spełni warunek, że będzie zawierało dane "/music/wolne/*"?

Kompletnie nie wiem, jak to ugryźć, a znalazłem coś takiego

  1. UPDATE songlist SET songtype = 5 WHERE filename = '%/muzyka/wolne/%'


ten kod zmiania utwory bedace w tym folderze, nawet, jesli nie chce, aby folder "/muzyka/wolne/2/" sie aktualizował

Napisany przez: trueblue 19.05.2019, 11:31:29

Może najprościej?

  1. UPDATE songlist SET songtype = 5 WHERE filename = "/music/wolne/*"

Napisany przez: ReBeLs513 19.05.2019, 13:09:09

tylko, ze sciezka dostepowa to c:\users\norbe\music\slow\2
a przed jest jeszcze folder nadrzedny c:\users\norbe\music\slow, ktory zmienia wtedy tez pliki w podfolderach, czego nie chce, bo w folderze wolne ma songtype miec inna wartosc a w podfolderze 2 inną
mam taki kod

  1. UPDATE songlist SET songtype = 5 WHERE filename LIKE = '%/muzyka/wolne/%'
, ktory zmieia tez podfolder 2

Napisany przez: trueblue 19.05.2019, 14:20:06

To co się ma aktualizować, a co nie?
"/music/wolne/*" czy "/muzyka/wolne/*"?

Napisany przez: ReBeLs513 19.05.2019, 22:41:27

mój błąd. W kodzie mysql zamiast music, wpisalem muzyka.

Ogólnie mam foldery /music/slow/ i /music/slow/2
I chcę zaktualizować /music/slow ale bez podfolderu /music/slow/2

Napisany przez: trueblue 20.05.2019, 07:18:54

  1. UPDATE songlist SET songtype = 5 WHERE filename LIKE "/music/slow/%" AND filename <> "/music/slow/2"

Wstaw jeśli trzeba kończące slashe, bo podajesz tą samą ścieżkę albo z albo bez slasha.

Napisany przez: ReBeLs513 20.05.2019, 15:10:28

bo nie wiem, czy ten slash jest potrzebny w mysql w folderze koncowym

Napisany przez: trueblue 20.05.2019, 15:28:05

Slash nie ma żadnego związku z MySQL. Jeśli przechowujesz wartości ze slash końcowym, to taki powinieneś uwzględniać.

Inną kwestią jest sensowność przechowywania tych powtarzających się ścieżek w bazie danych.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)