Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyswietlanie wyników wyszukiwania
moemer
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.01.2012

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


Witam mam skrypt wyszukujący mi linki z mojego pliku sql część kodu to

  1.  
  2. $s = file_get_contents('part/'.$_boxValue);
  3. preg_match_all('/((?i:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-9]*[a-zA-Z0-9]|[a-zA-Z])[.]?)|(?:[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+)))(?::(?:(?:[0-9]*)))?(?:\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)(?:;(?:(?:[a-zA-Z0-9\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*))*)(?:\/(?:(?:(?:[a-zA-Z0-9\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)(?:;(?:(?:[a-zA-Z0-9\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*))*))*))(?:[?](?:(?:(?:[;\/?:@&=+$,a-zA-Z0-9\-_.!~*\'()]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)))?))?)/', $s, $matches);
  4.  
  5. for($i = 0; $i < sizeof($matches[0]); $i++) {
  6. $e = strip_tags($matches[0][$i]);
  7. $e = preg_replace("#(\s+)#"," | \r\n",$e);


i na konic mam

  1. echo $e. "<br />";
  2.  


wszystko wyświetla się dobrze tylko problem polega w tym że plik sql jest duży i jest tam masa linków gdzi przy wyświetlaniu wyników wyszukiwań trwa to bardzo długo lub wiesza mi się komp bo nowy nie jest czy mogę jakoś to objść aby zrobić jakąś paginację lub dodać wyniki do bazy danych tylko nie wszystkie na raz bo będzie ten sam efekt myślałem aby wykonać coś jak w instalacji vbulletin widzimy co jest wykonywane w danej chwili np. create table ble bl ble i nstępna linia create table takiej i takiej widzimy postęp instalacji jak mogę osiągnąć taki efekt zaznaczam że w zmiennej $e jest tylko link więć tabela może mieć tylko id oraz name chyba że macie inne rozwiązania aby wyciągnąć linki z pliku i zapisać j do bazy danych prosze o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
zdemotywowany
post
Post #2





Grupa: Zarejestrowani
Postów: 74
Pomógł: 3
Dołączył: 15.01.2012

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


To zależy czy chcesz to rozwiązanie wykorzystać w skrypcie czy po prostu jednorazowo chcesz dodać do bazy danych. W tym drugim przypadku możesz pobrać np. 100 linijek pliku i tak tyle razy ile potrzebujesz. Do wyświetlenia postępu chyba musisz użyć AJAXa.

A do dodania danych do bazy, żeby komp Ci się nie wieszał użyj:

  1. $zapisz = '';
  2. $zapisz = $zapisz."INSERT INTO tablica VALUES (NULL, $link);


Oczywiście druga linijka w pętle i niech się wykonuje powiedzmy 100 razy. Na końcu wysłane zostanie tylko raz, zamiast 100. Rozwiązanie szybsze i w tym samym czasie dodasz więcej linków do bazy.

Jeśli nie wiesz o co chodzi to będziemy tłumaczyć.

Ten post edytował zdemotywowany 15.01.2012, 20:01:05
Go to the top of the page
+Quote Post
moemer
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.01.2012

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


Nestety nie wiem jak użyć pętli


  1. $s = file_get_contents('part/'.$_boxValue);
  2.  
  3. preg_match_all('/((?i:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-9]*[a-zA-Z0-9]|[a-zA-Z])[.]?)|(?:[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+)))(?::(?:(?:[0-9]*)))?(?:\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)(?:;(?:(?:[a-zA-Z0-9\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*))*)(?:\/(?:(?:(?:[a-zA-Z0-9\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)(?:;(?:(?:[a-zA-Z0-9\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*))*))*))(?:[?](?:(?:(?:[;\/?:@&=+$,a-zA-Z0-9\-_.!~*\'()]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)))?))?)/', $s, $matches);
  4.  
  5. for($i = 0; $i < sizeof($matches[0]); $i++) {
  6. $e = strip_tags($matches[0][$i]);
  7. $e = preg_replace("#(\s+)#"," | \r\n",$e);
  8.  
  9.  
  10. while($e<=100)) {
  11. $zapisz = $zapisz."INSERT INTO moja tabela VALUES (NULL, $e);
  12. }


Ten post edytował moemer 15.01.2012, 21:38:37
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: 15.09.2025 - 14:12