Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zrobić limit znaków do przesłania do MySQL?
Saki
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Witam, mam problem chce zrobić limit znaków w systemie komentarzy chce aby można było tylko napisać 1000 znaków.
Myślałem już nad takim rozwiązaniem:
  1. if ($com < 1000)
  2. {
  3. //dodaje komentarz
  4. }
  5. else
  6. {
  7. //nie dodaje
  8. }

tylko skąd ma php wiedzieć że 1000 to chodzi o liczby?

Może dało by rade też z INSERT INTO XX SET XX Limit 1000'"
Może mi ktoś pomóc?
Go to the top of the page
+Quote Post
symonides
post
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 12.11.2010

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


Możesz skorzystać z funkcji mb_strlen. Przekazujesz do niej zmienna zawierającą treść komentarza.
Go to the top of the page
+Quote Post
1oBuZ
post
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 1
Dołączył: 11.11.2008
Skąd: Kalisz

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


Skorzystaj z funkcji strlen:

  1. <?php
  2. $komentarz = 'abcdefghijk';
  3. $liczba_znakow = strlen($komentarz);
  4.  
  5. if ( $liczba_znakow > 1000 ) {
  6.  
  7. echo "Liczba znaków komentarza jest większa od 1000";
  8.  
  9. } else {
  10.  
  11. echo "Liczba znaków komentarza jest mniejsza od 1000";
  12.  
  13. }
  14.  
  15. ?>


Ten post edytował 1oBuZ 5.12.2010, 21:27:34
Go to the top of the page
+Quote Post
Rid
post
Post #4





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Dobrą funkcją do tego jest funkcja substr jednakże możesz ograniczyć znaki także na samych obiektach jak i w samej bazie.
Go to the top of the page
+Quote Post
modern-web
post
Post #5





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Zdecydowanie strlen()

Ten post edytował modern-web 5.12.2010, 22:36:46
Go to the top of the page
+Quote Post
Saki
post
Post #6





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


Dziękuje za pomoc, użyłem strlen() i działa (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
thek
post
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Dla kodowania iso NIE zadziała. Polskie znaki są liczone bowien przez strlen jako 2. Może się więc zdarzyć (i często się zdarza), że utnie "w połowie" ś lub innego polskiego znaku i masz problem. Trzeba użyć wspomnianej mb_strlen z odpowiednim kodowaniem ustawionym.
Go to the top of the page
+Quote Post
phpion
post
Post #8





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(thek @ 6.12.2010, 13:57:08 ) *
Dla kodowania iso NIE zadziała.

ISO? A nie przypadkiem UTF-8?
Go to the top of the page
+Quote Post
modern-web
post
Post #9





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Cytat
  1. <?php
  2. strlen(utf8_decode($a))
  3. ?>

The utf8_decode($a) will take care of converting the utf characters that have more than one byte in to one symbol and the strlen() will count those correctly as length 1.


(IMG:style_emoticons/default/winksmiley.gif) utf-8
Go to the top of the page
+Quote Post

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: 24.08.2025 - 23:12