Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przejście do ostatniego pola tablicy, PHP + *.txt
hub3rt
post
Post #1





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 19.09.2003
Skąd: Białystok

Ostrzeżenie: (10%)
X----


Mam taki problem. Piszę skrypt głosowania. Użytkownicy dodają wartości, które są dopisywane do tablicy do pliku txt. Mam problem z nadawaniem unikalnego ID dla każdej wartosci dodanej przez uzytkownikow. Wymyśliłem taki sposób, żeby $id w tablicy był zapisywany na końcu. Wygląda to tak:

jakis tekst|autor|godzina|punkty|input_radio|id
jakis tekst|autor|godzina|punkty|input_radio|id
jakis tekst|autor|godzina|punkty|input_radio|id
jakis tekst|autor|godzina|punkty|input_radio|id

itd. jak ktoś coś dodaje. Wymyslilem sobie ze tablica jest wczytywana i wyswietlana na stronie. input_radio to oczywiscie takie koleczko (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) radio button czy jakos taksie to nazywa. A pod tabelka (ktora przedstawia zawartosc tablicy) jest przycisk 'Głosuj'. Wszystko mieści się w ramach formularza. Ale problemem jest dla mnie ustawianie unikalnego 'id' dla każdego tekstu dodanego. Probowalem w ten sposob:
  1. <?php
  2. @ $plikid = file("grypsy.inc", 'a');
  3.  
  4. $ostatniid = count($plikiid);
  5. ?>

Nie działało...wyskakiwał error a id zawsze wynosil 1 (bo dalej mam tak, ze jezeli ostatni id = 0 to nadaj mu wartosc 1 i idz dalej).
To zrobiłem w ten sposób:
  1. <?php
  2. @ $plikid = file("grypsy.inc", 'a');
  3.  
  4. $ostatni = count($plikiid);
  5. $ostatniid = $ostatniid[$ostatni];
  6. ?>

Teraz $id dziala...cos takiego istnieje w ogole, ale zawsze ma wartosc 1. Czyli skrypt nie moze znalezc ostatniego IDa dlatego nadaje mu wartosc 1. Wklejam tu caly kod...moze ktos zauwazy jakas nieprawidlowosc razaca (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Probuje te glosowanie zrobic od tygodnia, ale nic nie dam rady zmienic. O co chodzi? (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

  1. <?php
  2. $data = date('H:i [j.m.Y]');
  3. $punkty = 0;
  4. $tytul = htmlspecialchars($tytul);
  5.  
  6. @ $plikid = file("grypsy.inc", 'a');
  7.  
  8. $ostatni = count($plikiid);
  9. $ostatniid = $ostatniid[$ostatni];
  10.  
  11. if( $tytul == '' )
  12. {
  13.  echo('Nie wpisałeś grypsu!');
  14. }
  15. if( $autor == '' )
  16. {
  17.  echo('Nie wpisałeś autora!');
  18. }
  19. else
  20. {
  21. if ( $ostatniid > 0 )
  22. {
  23. $dane = $tytul."t".$autor."t"
  24.  .$data."t".$punkty."t"."<input type='radio' value='".$id."' name='".$id."'>"."t".$id."n";
  25.  
  26. @ $plik = fopen("grypsy.inc", 'a');
  27.  
  28. flock($plik, LOCK_EX);
  29.  
  30. fwrite($plik, $dane);
  31. flock($plik, LOCK_UN);
  32. fclose($plik);
  33.  
  34. echo('Dodano');
  35. echo '<br><a href="index.php">Strona główna</a>';
  36. }
  37. else
  38. {
  39.  $id = 1;
  40. $dane = 
  41. $dane = $tytul."t".$autor."t"
  42.  .$data."t".$punkty."t"."<input type='radio' value='".$id."' name='".$id."'>"."t".$id."n";
  43.  
  44. @ $plik = fopen("grypsy.inc", 'a');
  45.  
  46. flock($plik, LOCK_EX);
  47.  
  48. fwrite($plik, $dane);
  49. flock($plik, LOCK_UN);
  50. fclose($plik);
  51.  
  52. echo('Dodano');
  53. echo '<br><a href="index.php">Strona główna</a>';
  54. }
  55. }
  56. ?>


Prymitywne, ale jestem poczatkujacy.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hub3rt
post
Post #2





Grupa: Zarejestrowani
Postów: 126
Pomógł: 0
Dołączył: 19.09.2003
Skąd: Białystok

Ostrzeżenie: (10%)
X----


Ok. Działa nareszcie! Mike_mech...Twoja zmiana nic nie dała, niestety :/ Ale Ociu Twoja rada zadziałała. Wcześniej już używałem count() ale nie było żadnego skutku. Przerobiłem kod Mike_mecha dodając to co napisał Ociu i jest O.K. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dzieki wielkie.

[edit]

Mam teraz inny problem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Rowniez zwiazany z elementem tablicy. Dot. tej samej tablicy co w poprzednim problemie. Ale teraz jest cos takiego, ze:
1. laduje plik z tablica
2. rozbijam tablice za pomoca explode()
3. szukam linii numer $id
4. zmieniam wartosc komorki $punkty dodając do niej 1

mam nadzieje, ze jasno wytlumaczylem. Teraz chyba bedzie trudniej...:/ bo to nie bedzie znalezienie ostatniej wartosci tylko tej wybranej!
+----------+-----+--------+-------+------------+--+
|jakis tekst|autor|godzina|punkty|input_radio|id|
|jakis tekst|autor|godzina|punkty|input_radio|id|
|jakis tekst|autor|godzina|punkty|input_radio|id|
|jakis tekst|autor|godzina|punkty|input_radio|id|
+-----------+-----+--------+-------+------------+-+
przypominam tablice. Mam znalezc wartosc komorki punkty z linii id

Ten post edytował hub3rt 25.09.2005, 09:40:39
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: 5.10.2025 - 03:48