Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pierwsza nazwa pliku graficznego w danym polu
Forum PHP.pl > Forum > Bazy danych
ins@ne
Musze wyciagnac pierwsza nazwe pliku graficznego wraz ze sciezka z pola Zawartosc w tabeli Tabela. Jest to o tyle uproszczone, ze w polu Zawartosc znajduje sie zawartosc zapisana w htmlu wiec szukam znacznika <img src...> i chce z niego odczytac nazwe pliku:
[sql:1:0e462777f6]set @pozycja = select locate('<img src="',Zawartosc)+10 from Tabela where Nr=6;
set @dlugosc = select locate('"',Zawartosc,@pozycja)-@pozycja from Tabela where Nr=6;

select substring(Zawartosc,@pozycja,@dlugosc)
from Tabela
where Nr=6[/sql:1:0e462777f6]
Niestety za kazdym razem wywala mi bledy sad.gif. Niby po wpisaniu calego wyrazenia, ktore przypisuje do zmiennej, w " " nie wywalal bledu, ale niestety sypal sie bo wewnatrz mojego zapytania tez sa cudzyslowia i w wyniku dostawalem soczyste NULL.
Podejrzewam, ze jest na to jakas prostsza metoda, ale jak tak przegladalem manuala to tylko taka mi przyszla do glowy. Prosze o jakies wskazowki, rozwiazania itp. smile.gif
Koshin
a nie mozesz nie robic tego w sql, tylko wybrac wszystko z bazy, i wtedy zeby php to obrobil ? jak nie idzie w sql-u, sproboj w php przyjacielu biggrin.gif
ins@ne
troche mi glupio pobierac kilkaset rekordow z polami wielkosci long text sad.gif tylko po to zeby w kilku z nich wynalezc nazwe pliku :| - moze to moje bledne przyzwyczajenia z C++ i ze "skapienia" pamieci, ale jakos czuje, ze lepiej to rozwiazac na poziomie zapytania sql'owego smile.gif
Koshin
to zamiast kilkuset rekordow wybierz te ktore potrzebujesz, a potem wyciagnij to co chcesz z tych wynikow ktore otrzymasz.
ins@ne
smile.gif nie dajesz za wygrana... Niestety w tym konkretnym przypadku ta technika nie jest dobra... Musze pobrac wszystkie rekordy bo baza jest zle zbudowana (ma kilka tabel, ktorych nie da sie polaczyc) i zeby wybrac to co mnie interesuje musze to juz na poziomie php robic... Niestety takie zapytanie sqlowe to jedyne rozwiazanie mojego problemu sad.gif
spenalzo
Żeby pobrać tylko te rekordy gdzie są obrazki to zrób tak:
[sql:1:a89f58e2bd]SELECT * FROM tabela WHERE zawartosc LIKE '%<img src=%'[/sql:1:a89f58e2bd]
ins@ne
tylko, ze prawdopodobnie ok. 80% rekordow posiada obrazki (to sa strony internetowe sad.gif ) takze to tez nie za bardzo... Mowie, probowalem to rozwiazac na wiele roznych sposobow i wynajdowanie tej nazwy jest jedynym rozwiazaniem... Tylko nie wiem dlaczego nie dziala sad.gif
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.