Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Losowe dodawanie rekordów do bazy z pliku.
krzysoolloo
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 28.12.2007

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


Witam wszystkich!
Chcę napisać skrypt który dodaje do MySQL-a rekordy zapisane w pliku. Linijki w pliku wyglądają np tak:

INSERT INTO `Taabela123` VALUES (1, 'tekst1', 'admin');
INSERT INTO `Taabela123` VALUES (1, 'tekst2', 'admin');
INSERT INTO `Taabela123` VALUES (1, 'tekst3', 'admin');


I tutaj mam pytanie jak wczytać np losowe 100 linijek, dodać je do bazy i usunąć z pliku, aby uniknąć ponownego dodania?

Dziękuję za podpowiedzi,
Krzysiek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krzysoolloo
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 28.12.2007

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


Niby wszystko okej, ale czasami powtarza się wylosowana liczba no i wtedy zaczynają wyskakiwać błędy itd...

  1. <?php
  2.   include ('polacz.php');
  3.   $pliczek = "baza2.txt";
  4.   $ile_rekordow = 0;
  5.   $uchwyt = fopen($pliczek,'r');  
  6.     while(!feof($uchwyt)){
  7.        if(fgets($uchwyt)){
  8.              $ile_rekordow++;
  9.          }
  10.     }
  11.   fclose($uchwyt);
  12.   echo $ile_rekordow."<br/><br/>";
  13.  
  14.   for($i = 1; $i <= 10; $i++)
  15.   {
  16.  
  17.   $liczba = mt_rand(1, $ile_rekordow);
  18.  
  19.   $tablica[$i] = $liczba;
  20.   echo $tablica[$i]."<br/>";
  21.  
  22.   }
  23.  
  24.   $licz = 0;
  25.   $p_dane = fopen($pliczek,'r');
  26.   $temp = fopen('temp.txt','a');
  27.   $temp2 = fopen('do_bazy.txt','a');
  28.   while(!feof($p_dane)){
  29.     ++$licz;
  30.     $linia = fgets($p_dane);
  31.     if(in_array($licz,$tablica)){  //warunek
  32.        fputs($temp2, $linia);      
  33.     }else{
  34.        fputs($temp, $linia);  
  35.     }  
  36.   }//koniec pętli while
  37.   fclose($p_dane);
  38.   fclose($temp);
  39.   fclose($temp2);
  40.   unlink($pliczek);
  41.   rename('temp.txt',$pliczek);
  42.  
  43.  
  44.   $lines = file('do_bazy.txt');
  45.   for($j = 1; $j <= 10; $j++)
  46.   {
  47.  
  48.      mysql_query("$lines[$j]");
  49.   echo $lines[$j]."<br/><br/>";
  50.   }
  51.  
  52.   unlink('do_bazy.txt');
  53.  
  54.   ?>


Ten post edytował krzysoolloo 29.05.2009, 21:15:12
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 11:11