![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam mam pewien problem i nie wiem jak do niego w ogole się zabrać.
mam sobie tabele: Kod +------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | ui_id | int(11) | NO | MUL | NULL | | | nazwa | varchar(1024) | NO | | NULL | | | data | date | NO | MUL | NULL | | | link | varchar(255) | NO | | NULL | | +------------+---------------+------+-----+---------+----------------+ i problem mój polega na tym. że z powodu mi bliżej nieznanego (podejrzewam user fail) wpisy się źle dodały tj: w polu nazwa mam na przykład coś takiego: http://forum.php.pl/index.php?showtopic=17...mp;#entry876760 mysql_real_escape_string a PDO no i problem polega na tym że jak widać nie powinno się dawać linka w nazwię tylko osobno w polu link. Teraz moje pytanie jak to najlogiczniej zrobić taką mała filtracje, że jeżeli pierwszy ciąg znaków jest linkiem, wycina mi go i przenosi do pola link? Problem polega głównie na tym iż mam ograniczony dostęp do serwera, także preferowałbym rozwiązać to jakoś zapytaniem sql, da się to zrobić? -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 12 Dołączył: 1.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chodzi o przeniesienie to możesz dać
To polecenie jak widać. Kopiuje zawartość z pola 1 do pola 2. Gdzie ciąg zaczyna się od http:// A jeżeli chcesz wymazać zawartość pola pierwszego to
Mogą być błędy. Oczywiście zadziała poprawnie jeżeli nie przekroczysz długości znaków. Pozostaje tylko problem wycięcia ciągu. Ale postaram się coś jeszcze wykombinować Ten post edytował lessi 28.06.2011, 10:23:45 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
![]() ja muszę wyciągnąc pierwszy ciąg znaków który jest linkiem, ten pierwszy ciąg znaków wklepić do link, a w nazwie wyrzucić tylko ten pierwszy ciąg znaków ![]() Troszkę bardziej skomplikowane to musi byc ![]() wytłumaczę jeszcze raz zęby nie było w palu nazwa mam czasem: `nazwa` -> "forum php najlepsze forum php" `link` -> "http://forum.php.pl" a czasem `nazwa` -> "http://forum.php.pl/ forum php najlepsze forum o php" `link` -> "" Pierwszy przypadek jest poprawny natomiast z drugiego muszę zrobić coś takiego jak w pierwszym w tym że muszę uwzględnić wszelkie możliwe typy url'i czyli http://host.pl http://host.pl/index/cos/tam.php?a=cos lub http://host.pl/index/zielony.html -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 32 Dołączył: 9.09.2010 Skąd: Brzeg Ostrzeżenie: (0%) ![]() ![]() |
Mi się wydaje, że za pomocą samego MySQL tego nie zrobisz, potrzebna jest tutaj funkcja podobna do preg_mathc, będziesz musiał zrobić skrypt w PHP, który CI to wszystko ładnie zrobi, innej opcji jak na razie nie widzę
![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Własnie w php to nie jest problem
![]() ![]() -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 12 Dołączył: 1.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Może przydadzą się funkcje REGEXP lub REPLACE
Ten post edytował lessi 28.06.2011, 11:23:05 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
w sumie o regexp tez myslalem, dobra lessi - dzieki za pomoc delikatna, jeszcze tematu nie koncze takze
![]() ![]() -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 12 Dołączył: 1.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dobra wpadłem na pewien pomysł, bo nie udały mi się kombinacje z wyrażeniami regularnymi.
Jeżeli chodzi o link Działa tylko jak powiedziałeś jeżeli na początku jest link i potem spacja
To wszystko możemy ograniczyć dając
Mamy w ten sposób załatwiony problem linku. Pozostała jeszcze sprawa że link nie może być w nazwie. Tu już potrzeba wyrażeń regularnych. Próbowałem inaczej, jednakże to tylko eliminuje z przodu http:// Zostają jednakże wszelkie ukośniki
Ten post edytował lessi 28.06.2011, 12:10:19 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
thanks tak nie kombinowałem
![]() -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 12 Dołączył: 1.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Trochę kombinowania i cierpliwości i coś wyszło. Nie wiem czy da się tak jak w php użyć do tego problemu wyrażeń regularnych. Raczej nie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:58 |