![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 9 Dołączył: 3.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
WItam, może ktoś mi pomoże.
Chce porównać czy dana wysłana z formularza metodą GET lub też POST jest taka sama jak w tablicy. A mianowicie konkretnie co chce zrobić to usunąć tą linijkę tekstu w pliku która będzie taka sama jak w formularzu wysłana jako zmienna $kat. Dałoby się coś z tym zrobić?? jestem początkujący w tych sprawach więc proszę o wyrozumiałosć. Z góry dziękuję i pozdrawiam. Kod <?
$lista_gg = file("lista_gg.txt"); for ($i=0; $i<count($lista_gg); $i++) { if ($lista_gg[$i] == $_GET['kat']){ echo "tak"; } else { echo "nie"; } } ?> |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
hmm, a może by spróbować najpierw pobrać elementy którymi się różnią czyli array_diff" title="Zobacz w manualu PHP" target="_manual a potem zliczyć ile tablica wynikowa ma rekordów, czyli count" title="Zobacz w manualu PHP" target="_manual, jeśli bo zliczeniu dostaniemy 0 to znaczy, że były takie same.. nie testowałem tego rozwiązania..
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
brakuje ci trim() - elementy tablicy wczytanej funkcją file() mają dołączony znak końca linii - dlatego twoje porównanie nie działa, tak powinno działać:
Ten post edytował nevt 3.03.2008, 07:56:57 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 9 Dołączył: 3.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję, trim() działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
A teraz jeszcze chciałbym zrobić coś takiego, że jak znajdzie tą samą wartość to wtedy kasuje ją z pliku.txt (czyli odpowiednia linijke). kombinowalem wstawic $i++; zeby liczylo ktora linijka ale to mi nie działa ;/ Kod </span><span class="postcolor"><?
$lista_gg = file('lista_gg.txt'); $kat = (isset($_GET['kat']) ? $_GET['kat'] : ''); foreach($lista_gg as $wartosc) if (trim($wartosc) == $kat) echo "tak"; // Tutaj jakas funkcja ktora kasuje ta wartosc (linijke) z pliku else echo 'nie'; ?> |
|
|
![]()
Post
#5
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Proszę o poprawę tematu na zgodny z regulaminem działu przedszkole inaczej zostanie zamknięty.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 9 Dołączył: 3.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) cos takiego wykombinowałem.
Kod <?
$lista_gg = file('lista_gg.txt'); $kat = (isset($_GET['kat']) ? $_GET['kat'] : ''); $i =0; foreach($lista_gg as $wartosc) if (trim($wartosc) == $kat){ echo "tak $wartosc $i"; $plik = file("lista_gg.txt"); unset($plik[$i]); // nr linii do skasowania $f = fopen('lista_gg.txt', 'w'); foreach($plik as $linia){ fputs($f, $linia); } fclose($f); echo "wykasowano linie $i"; $i++; } else{ echo 'nie $i'; $i++; } ?> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 12:42 |