Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql liczenie w %
Forum PHP.pl > Forum > PHP
members_of_mayday
witam

idzie może piliczyć ile kb dane rekord zajmuje w dabeli na podstawie np danej zmiennej $user ?
dokładnie chodzi o to ze chce ograniczyć miejsce w tabeli dla userów . i jeżeli np wyniesie 10 kb to wyskoczy komunikat czy coś ale z tym dam sobie rade .
dragossani
Z tego co wiem, nie ma w MySQL funkcji zwracającej rozmiar pola. Możesz jednak poradzić sobie inaczej. Pola liczbowe i daty zajmują zawsze tą samą ilość pamięci, konkretniej:

1 bajt: TINYINT, YEAR
2 bajty: SMALLINT
3 bajty: MEDIUMINT, TIME, DATE
4 bajty: INT, TIMESTAMP,FLOAT itd.

Łańcuchy tekstowe zajmują zawsze tyle bajtów ile przechowują liter (chyba, że używasz wielobajtowego kodowania znaków - unicode) + 1 bajt na tzw. terminator. Przy polach CHAR sprawa jest prosta - zajmują tyle pamięci ile wpisałeś w definicji pola. Przy VARCHAR trzeba użyć SELECT LENGTH (pole); aby sprawdzić ile liter jest w danym rekordzie.

To prosta droga go napisania sobie odpowiednich funkcji do zliczania ilości danych w tabeli, wg. jakiegoś klucza.
kurtz
Cytat
Łańcuchy tekstowe zajmują zawsze tyle bajtów ile przechowują liter (chyba, że używasz wielobajtowego kodowania znaków - unicode) + 1 bajt na tzw. terminator
nie do konca - przy na prawde dlugich polach typu TEXT mysql rezerwuje sobie dodatkowo od 1 do 4 bajtow na zapisanie dlugosci. pytanie tylko czy ma sens az tak dokladne sprawdzanie - jesli zalozyc ze uzytkownik ma dostpe do jednego pola typu text (65 k) ograniczajac je maksymalnym jego rozmairem to problemy znikaja ;)


pozdrawiam
HaRy
hmm ... zreszta mysql to pliki ... nie wiem czy jest to technicznie mozliwe, ale mysle, ze mozna zbadac wielkosc plikow, w ktorych sa dane tabele konfigurowane i gdzie znajduja sie dane ... i na podstawie wielkosci tych plikow ustalac "wielkosc bazy" userka
kurtz
Cytat
hmm ... zreszta mysql to pliki ... nie wiem czy jest to technicznie mozliwe, ale mysle, ze mozna zbadac wielkosc plikow, w ktorych sa dane tabele konfigurowane i gdzie znajduja sie dane ... i na podstawie wielkosci tych plikow ustalac "wielkosc bazy" userka
wielkosc pliku mozna jak njabardziej ustalic jesli ma sie do tego upraweniania. tylko czy rozmiar tabelki przeklada sie na rozmiar rekordu? raczej nie - bo ze stefan + jozek razem zajmuja 1000 kb nie oznacza ze dziela sie miejscem po rowno ;)


pozdrawiam
DeyV
przy czym w np. MySQL każda baza to osobny folder. A wtedy sprawdzenie jej wielkości to już nie problem (o ile się ma do tego prawa)
Oczywiście można by te dane przechowywać w ramach jednego konta, ale nie mnie pytajcie, jak to skonfigurować winksmiley.jpg
members_of_mayday
policzyć ile liter ma dany rekord w tabeli.
potem przeliczyć na bajty . a potem wstawić prostą funkcje ...

a co do procent to mam taki pomysl ( moze matematyki troszke )
dzialanie procentowosci wyglądało tak jak dobrze pamętam ..

lile procent * z ilu / 100 hehe chyba tak ?

bo jeżeli tak, to umiemy dzielić i mnorzyć ..
ale nie jestem pewny czy to w prawidloy sposób zapisałem( to działanie matematyczne.)

tylko bez krytyki smile.gif
a potrzebuje to
do dwóch rzeczy ..

1 . jest kurs ( lista pytać użytkownik na 20 odpowie na więcej niż 75 % to jest o tym informowany na emial i w czasie rzeczywistym echo () przy czym musi mieć informacje ile procen testu wykonal prawidłowo ?

2. poczta taka jak na php.pl na forum tylko ze sama poczta . na jednego usera chce przeznacyć powiedzmy 15 kb .i chce zeby w kazdej chwili uzytkownik wiedzial ile mu zostało ?

pozdrawiam

p.s sorka za ortografię
members_of_mayday
zamiast

jest kurs ( lista pytać użytkownik na 20 odpowie na więcej niż 75 % to jest o tym informowany na emial i w czasie rzeczywistym echo () przy czym musi mieć informacje ile procen testu wykonal prawidłowo ?


to :
jest kurs ( lista pytać użytkownik ma 20 , odpowie na więcej niż 75 % to jest o tym informowany na emial i w czasie rzeczywistym echo () przy czym musi mieć informacje ile procen testu wykonal prawidłowo ? licba pytań może być rużna
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.