Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Usuwanie kilku wpisów jednocześnie
Khobar
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 22.09.2006
Skąd: Wrocław

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


Witam prosibym o jakieś nakierunkowanie...
Robię mianowicie system newsów
Dotarłem już prawie do końca teraz pozostało mi usuwanie wiadomości.
Chciałbym mianowicie wyświetlić newsy z checkboxami koło każdego newsa ,
zaznacza się które się chce usunąc i usunąc je (mechanizm znany prawie każdemu użytkonikowi jakielkolwiek poczty z dostępem do www (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
poniżej kod fumkcji która odpowiedzialna za tworzenie checkboxa, daty i tytułu newsa $v jest zmieniany co jeden w pętli aż do końca , cała pętla znajduje się w tagach
  1. <form action="<?php echo "$PHP_SELF";?>" method="GET">

funkcja:
  1. <?
  2. function wyswietl_del ($array2,$v)
  3. {
  4. $data=$array2[$v]['data'];
  5. $tytul=$array2[$v]['tytul'];
  6. ?>
  7. <table BORDER RULES="none" width="100%" align="center" border="1" bordercolor="#808080" style="border-collapse:collapse">
  8. <td>
  9. <input type="checkbox" name="<? echo '$v';?>" value='TRUE' ><?
  10. echo date('M-d-Y',$data),' ',$tytul;?>
  11. </td>
  12. </tr>
  13. </table>
  14. <?
  15. }

Mam zrobione to tak że z czytuje z pliku , ładuje do tablicy
Usuwając newsa przesówam wszystkie elementy tablicy o -1 od newsa którego usuwam ...czyli news z pozycji 3 zostaje zastąpiony przez 4 , 4 przez 5 etc. i tak do końca.
Problem mam teraz kwesti takiej: jak przesłac które newsy chcę usunąć....można za pomocą GET , komplikacja robi się z chwilą gdy muszę wyświetlić powiedzmy 40 newsów , usunąc większą ilośc ....
Da się to zrobić ale fragment kodu odpowiedzialny za sprawdzanie kazdej wartosći czy jest TRUE czy FALSE ( czyli usun newsa numer 30 np) zajmie duzo miejsca...
Może ktoś mógłby zasugerować coś zmyslniejszego ( baza mysql odpada (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )?

Ten post edytował Khobar 21.10.2006, 22:39:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Khobar
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 22.09.2006
Skąd: Wrocław

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


Czyli funkcje wyświetlanie musze zmodyfikować o takie cos?
  1. <input type="checkbox" name="delete[<? echo $v; ?> ]" value="TRUE">

bo $v jest własnie id odpowiadające tylko jednemu newsowi i jednoczesnie jego pozycja w tabeli, $v jest przekazywane do funkcji
I czy mógłbym prosić torszkę o wyjasnienie drugiego
Nie wiem czy dobrze sie domyslam , ale wydaje mi sie ze on przeszuka cała tablice ,
i przy każdym numerze przypisze odpowiednio TRUE lub FALSE ,
dalej w pętli mam umiescić sprawdzenie
  1. <?php
  2. foreach ($_GET['delete'] as $id => $value)
  3. {
  4. if ($id == TRUE ) { przesun(&$array2,$v);}
  5. $v++;
  6. }
  7. ?>

gdzie funkcja przesun() jest zadeklarowana gdzie indziej i nie istotna tutaj
Dobrze kombinuje czy nie tędy droga? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

EDIT:
hmm cos nie bardzo tak idzie :/
z chwila gdy zrobilem tak jak napisalem to poprzez przegladarke idzie taka wiadomosc:
Kod
http://localhost/news/usun.php?delete%5B0%5D=TRUE&delete%5B1%5D=TRUE&usun=TRUE

czyli odczytujac %5B = [ %5D= ]
czyli zamiast stworzyc tablice stworzyl dane ktore wygladaja delete[x] gdzie zmienia sie x :/

Ten post edytował Khobar 26.10.2006, 00:58:52
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: 3.10.2025 - 05:01