Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]formularz
marian2299
post
Post #1





Grupa: Zarejestrowani
Postów: 272
Pomógł: 9
Dołączył: 6.06.2009

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


Mam kody w pliku txt. Wyglądają tak:
5fs42
6s2z1
itpe.

Chcę dodać je do mysql do tabeli kody, z rekordami kod, uzyty.
Chcę zrobić skrypt-formularz który będzie sprawdzał w bazie, czy wpisany kod jest w bazie i czy nie jest użyty.
Jak zrobić takie zapytanie, i jak wgrać te kody (jest ich 500) da się to zautomatyzować?
Go to the top of the page
+Quote Post
planet
post
Post #2





Grupa: Zarejestrowani
Postów: 61
Pomógł: 6
Dołączył: 15.07.2009
Skąd: Śląsk->Ruda Śląska

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


oczywiście, że się da. ładujesz plik *.txt np. za pomocą funkcji file() potem przelatujesz pętlą po tablicy i robisz INSERT dla każdego kodu. a skrypt formularza to po prostu zwykły SELECT COUNT(kod) FROM tabela WHERE kod = wprowadzony kod AND kod_uzyty = false i potem tylko sprawdzenie czy COUNT(kod) == 1. to jest proste, jednak jeśli masz problemy na tym etapie to proponowałbym zacząć od zajrzenia do książek i poduczenia się co nieco.

Ten post edytował planet 19.07.2009, 23:16:25
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




file" title="Zobacz w manualu PHP" target="_manual, to samobójstwo, jest fgets" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
marian2299
post
Post #4





Grupa: Zarejestrowani
Postów: 272
Pomógł: 9
Dołączył: 6.06.2009

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


Czyli mogę zastosować, to z manuala ?
  1. <?php
  2. $uchwyt = @fopen ("/tmp/inputfile.txt", "r");
  3. if ($uchwyt) {
  4. while (!feof($uchwyt)) {
  5.    $buffer = fgets($uchwyt, 4096);
  6.    echo $buffer;
  7.    }
  8. fclose ($uchwyt);
  9. }
  10. ?>

Tylko to chyba wyszukuje wg linii, a ja nie znam linii ;|.
Jak "przelecieć pętlą po tablicy i zrobić insert dla każdego kodu" ?

Ten post edytował marian2299 20.07.2009, 21:11:53
Go to the top of the page
+Quote Post
Pawel_W
post
Post #5





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


ehh, weź zassij kod z pliku, rozbij go za pomocą explode()" title="Zobacz w manualu PHP" target="_manual, potem jakaś pętla (najlepiej while) i INSERT INTO
Go to the top of the page
+Quote Post
tomekpl
post
Post #6





Grupa: Zarejestrowani
Postów: 134
Pomógł: 5
Dołączył: 9.08.2008
Skąd: Szczecin

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


Z jakiegoś mojego projektu, może się przydać.
Pewnie chodzi ci o wgrywania kodów np. dotpay

  1. <?php
  2. if($_POST['send']==6)
  3. {
  4.        $plik_tmp = $_FILES['plik6']['tmp_name'];
  5.        $plik_nazwa = $_FILES['plik6']['name'];
  6.        $plik_rozmiar = $_FILES['plik6']['size'];
  7.        
  8.        if(is_uploaded_file($plik_tmp)) {
  9.            move_uploaded_file($plik_tmp, "upload/".$plik_nazwa);
  10.            
  11.        $adres='upload/'.$plik_nazwa;
  12.        $aLogFilePath = $adres;
  13.        $aCountArray = array();
  14.        // Sprawdzenie czy plik istnieje
  15.    
  16.            if ( is_file( $aLogFilePath ) == true )
  17.            {
  18.                $sql = "DELETE FROM "._PRZED_DB."_kody_sms5";
  19.            $wynik = mysql_query($sql) or die("<script> alert('Operacja nie powiodła się!'); window.history.go(-1); </script>");
  20.            
  21.                //chmod('../admin/db.php', 0777);
  22.        
  23.                $aFile = fopen( $aLogFilePath, "r" );
  24.              
  25.                while ($kod = fgets($aFile)) {
  26.                       $kod=trim($kod);
  27.                    $q  = "INSERT INTO "._PRZED_DB."_kody_sms5(kod) values ('$kod')";
  28.                     mysql_query($q) or die("<script> alert('Nie można zapisać w bazie'); window.history.go(-1); </script>");
  29.                    
  30.                }
  31.                fclose( $aFile );
  32.                    echo "<div class='infoTlo'>Zaktualizowano!!</div>";
  33.                    unlink($adres);
  34.                  }else{
  35.                  echo "<div class='infoTlo'>Brak pliku z kodami!</div>";
  36.                }
  37.        
  38.                
  39.        }else
  40.        {
  41.            echo '<div class="infoTlo">Przesłanie pliku <b>'.$plik_nazwa.'</b> nie powiodło się.</div>';
  42.        }
  43.          
  44. }
  45. ?>
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
ehh, weź zassij kod z pliku, rozbij go za pomocą

Głupie rozwiązanie... Będziesz miał plik 300 MiB, to też tak zrobisz?

Cytat
Tylko to chyba wyszukuje wg linii, a ja nie znam linii ;|.
Jak "przelecieć pętlą po tablicy i zrobić insert dla każdego kodu" ?

A podstawy PHP to zna?
Go to the top of the page
+Quote Post
marian2299
post
Post #8





Grupa: Zarejestrowani
Postów: 272
Pomógł: 9
Dołączył: 6.06.2009

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


Plik ma tylko 40KB.
Podstawy znam... trochę.

tomekpl, czemu tam jest
  1. <?php
  2. if($_POST['send']==6)
  3. ?>

?
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Plik ma tylko 40KB.

Ale złe nawyki trzeba tępić już w zalążku.

I uzupełnij podstawy, bo nie będziemy mieli o czym rozmawiać.
Go to the top of the page
+Quote Post
Fifi209
post
Post #10





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Poczytaj o tych funkcjach:

fopen" title="Zobacz w manualu PHP" target="_manual, fgets" title="Zobacz w manualu PHP" target="_manual, fclose" title="Zobacz w manualu PHP" target="_manual

http://us2.php.net/manual/en/book.array.php

I o pętlach.
Go to the top of the page
+Quote Post
Spawnm
post
Post #11





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Proszę poprawić tytuł tematu na bardziej sensowny.
Go to the top of the page
+Quote Post
marian2299
post
Post #12





Grupa: Zarejestrowani
Postów: 272
Pomógł: 9
Dołączył: 6.06.2009

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


  1. <?php
  2. Czytałem kurs pehape, ale chyba były niedokładne bo o pętlach nic nie było.Tylko interesuje mnie jak każdy kod dodać do bazy i jak oznaczać kod jako użyty, lub nie.
  3. Nie mogę edytować topicu.
  4. ?>

Nie mogłem tego inaczej napisać ;/. Wywalało mi błąd autoryzacji.
Go to the top of the page
+Quote Post
erix
post
Post #13





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Edycja jest możliwa do 24h.

To zmień kurs, tego na pęczki w Sieci.
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: 19.09.2025 - 05:17