Liczba postów: 27
Liczba wątków: 17
Dołączył: 05-06-2010
Reputacja:
0
Jestem w trakcie przerabiania katalogu firm na katalog stron. W trakcie dodawania strony skrypt powinien sprawdzić czy dodawana strona jest w bazie.
Adresy stron www są w bazie zapisane bez http:// - jeżeli ktoś wpisze adres z tym przedrostkiem , to będzie to inny adres.
Może ktoś wie gdzie szukać albo ma gotowy skrypt?
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
Ja bym to zrobił albo za pomocą
http://uazz.pl/index.php/mysql/375-mysql-operator-like-wybieranie-danych-w-oparciu-o-wzorzec
albo za pomocą wyrażeń regularnych.
Taki wzór wyglądał by mniej więcej tak:
"(http:\/\/)*www.wordpress.com"
https://regex101.com/
Liczba postów: 27
Liczba wątków: 17
Dołączył: 05-06-2010
Reputacja:
0
W bazie danych znajdują się adresy stron bez http://
Jeżeli user dodaje stronę bez tego przedrostka to ok, ale jak wpisze np. http://adres.pl/ , to będzie mógł dodać stronę. Php musiałby usunąć przedrostek przed sprawdzeniem i wtedy można porównać dodawany adres www z adresem w bazie -> LIKE 'domena.pl%'
Liczba postów: 868
Liczba wątków: 29
Dołączył: 26-06-2009
Reputacja:
27
Musisz doprowadzić adres, który wpisuje użytkownik do formatu jaki masz w bazie. Jeżeli masz w bazie różne formaty to najpierw doprowadź do adresu bazowego np. domena bez www i w zapytaniu za pomocą AND sprawdzasz wszelkie możliwości.
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
W sumie ciekawa sprawa.
http://stackoverflow.com/questions/9535201/how-to-check-if-url-already-exists-in-database-in-php
Liczba postów: 27
Liczba wątków: 17
Dołączył: 05-06-2010
Reputacja:
0
18-03-2015, 23:09
(Ten post był ostatnio modyfikowany: 18-03-2015, 23:52 przez jarekcda.)
Jeżeli komuś się przyda:
$dwww = str_replace("http://", "", $dwww);
// usuwa www i dzieli na części
$spr_www = str_replace("www.", "", $dwww);
$spr_www = explode("/", $spr_www);
$spr_www=$spr_www[0];
// sprawdzenie w bazie
$pobieranie4 = mysql_query ("select count(idogl) as ile from oglosz where www LIKE'%$spr_www%' ")or die ('Błąd: ' . mysql_error());
while ($zapisz4 = mysql_fetch_array($pobieranie4)){
$www1=$zapisz4['ile'];
}
if ($www1>0) {....
Liczba postów: 5
Liczba wątków: 0
Dołączył: 05-12-2016
Reputacja:
0
napewno mi się przyda dzięki
Liczba postów: 3
Liczba wątków: 0
Dołączył: 13-05-2017
Reputacja:
0
W bazie danych znajdują się adresy stron bez http://