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----


(Ja napisalem to na gorze. Zeby lepiej bylo widac te cytaty jeszcze raz wysylam.)

Cytat
2. Przeczytałem, przjerzalem przykłady i dokonalem epokowego odkrycia - funkcja count() liczy linie czyli rozumiem, że poziomo. Ale nie znalazłem skryptu, który umożliwiłby wyświetlenie wartości wybranej komórki. help :/

Cytat
Tak jak powiedziałem dwa ray Cie prosiłem i trzeci raz nie zamierzam.
Dostajesz ostrzeżenie za niechęć do manuala.

Cytat
1. Tak, usunąłem i nie ma żadnych errorów. Nic mi nie mówi.

Cytat
i pzestań używać @.

Więc...nierozumiem Twojej wypowiedzi. Po co udajesz wielkiego bohatera jak nie chcesz, albo nie potrafisz pomóc?! Twoja "odpowiedz w spadku" jest bezuzyteczna, bo pisałeś to w pierwszym swoim poście i wycztalem to z manuala. Po co sie powtarzasz? Dostalem ostrzezenie za to, ze nie doczytujesz moich postow. Nie rozumiesz ich, albo nie chcesz zrozumieć. Wiec jak nie znasz odpowiedzi to po co odpisujesz? Chcesz mieć jak najszybciej 1000 postow?! Czy co?

----edit----
Usunąłem tego posta, którego napisałeś jak niezarejestrowany. Będzie czytelniej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
~mike_mech


Ten post edytował mike_mech 25.09.2005, 08:00:48
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: 13.10.2025 - 11:11