Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][TABLICE] Usuwanie pierwszego elementu
Tomek58
post 21.11.2008, 16:08:54
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

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


Witam!
Chciałbym aby po dodaniu kolejnego rekordu do mojej tablicy pierwszy się usuwał, tak aby stała liczba elementów wynosiła np. 10. Próbowałem robić tak:

Kod
d1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/1.php");
$d2 = explode('|', $d1);
$t1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/2.php");
$t2 = explode('|', $t1);
$tr1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/3.php");
$tr2 = explode('|', $tr1);
$a1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/4.php");
$a2 = explode('|', $a1);
$ile2 = count($d2);

if ($ile2 > 10) {

while ($ile2 > 10) {

$di = array_splice($d2, 0, 1);
$ti = array_splice($t2, 0, 1);
$tri = array_splice($tr2, 0, 1);
$ai = array_splice($a2, 0, 1);

$d = implode('|', $di);
$t = implode('|', $ti);
$tr = implode('|', $tri);
$a = implode('|', $ai);

    // dane pochodzące z formularza
    $dane = $d;
    // przypisanie zmniennej $file nazwy pliku
    $file = "./uzytkownicy/$idwiadomosci/wiadomosci/1.php";
    // uchwyt pliku, otwarcie do dopisania
    $fp = fopen($file, "w");
    // blokada pliku do zapisu
    flock($fp, 2);
    // zapisanie danych do pliku
    fwrite($fp, $dane);
    // odblokowanie pliku
    flock($fp, 3);
    // zamknięcie pliku
    fclose($fp);

            // dane pochodzące z formularza
    $dane = $t;
    // przypisanie zmniennej $file nazwy pliku
    $file = "./uzytkownicy/$idwiadomosci/wiadomosci/2.php";
    // uchwyt pliku, otwarcie do dopisania
    $fp = fopen($file, "w");
    // blokada pliku do zapisu
    flock($fp, 2);
    // zapisanie danych do pliku
    fwrite($fp, $dane);
    // odblokowanie pliku
    flock($fp, 3);
    // zamknięcie pliku
    fclose($fp);

            // dane pochodzące z formularza
    $dane = $tr;
    // przypisanie zmniennej $file nazwy pliku
    $file = "./uzytkownicy/$idwiadomosci/wiadomosci/3.php";
    // uchwyt pliku, otwarcie do dopisania
    $fp = fopen($file, "w");
    // blokada pliku do zapisu
    flock($fp, 2);
    // zapisanie danych do pliku
    fwrite($fp, $dane);
    // odblokowanie pliku
    flock($fp, 3);
    // zamknięcie pliku
    fclose($fp);

            // dane pochodzące z formularza
    $dane = $a;
    // przypisanie zmniennej $file nazwy pliku
    $file = "./uzytkownicy/$idwiadomosci/wiadomosci/4.php";
    // uchwyt pliku, otwarcie do dopisania
    $fp = fopen($file, "w");
    // blokada pliku do zapisu
    flock($fp, 2);
    // zapisanie danych do pliku
    fwrite($fp, $dane);
    // odblokowanie pliku
    flock($fp, 3);
    // zamknięcie pliku
    fclose($fp);
    
$ile2 --;

}


Teoretycznie powinno być OK, ale gdy ilość wpisów przekroczy 10 to usuwają się wszystkie elementy, a nie te pierwsze.


--------------------
Procesor: 2,4 GHz
Dysk: 180 GB
Ramy: 1538 MB
Grafika: GeForce 256 MB

Go to the top of the page
+Quote Post
nospor
post 21.11.2008, 16:11:47
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie analizowalem kodu bo:
1) brak wlasciwego bbcode
2) sieczka niesamowita

do usuwania elementu z tablicy uzyj:
http://pl.php.net/manual/pl/function.array-shift.php
lub
http://pl.php.net/manual/pl/function.array-pop.php
w zaleznosci skad chcesz usuwac


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 21.06.2025 - 20:03