Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 17.01.2010 Ostrzeżenie: (0%)
|
Dzień dobry wieczór.
Mam tabelę w bazie mySQL która zawiera pola: id, nick, data, godzina. Chciałbym móc wprowadać maksyalnie x rekordów dla danych nick i data. Czyli dla x=3, nick=michal i data=2010-01-16 Kod id | nick | data | godzina ----------------------------------- 1 | michal | 2010-01-16 | 16:30 2 | michal | 2010-01-16 | 17:00 3 | xxxxxx | 2010-01-16 | 17:30 4 | michal | 2010-01-16 | 18:00 5 | aaaaa | 2010-01-16 | 19:00 6 | xxxxxx | 2010-01-16 | 20:30 Kombinacja nick=michal i data=2010-01-16 występuje tu 3 razy i chciałbym aby więcej juz takich rekordów być nie mogło. Pomyślałem, że mógłbym mieć jeszcze jedną kolumnę np: "ilosc" która mogłaby zawierać wartość od 1 do x dla danej kombinacji (nick, data), czyli coś takiego. Kod id | nick | data | godzina | ilosc ------------------------------------------- 1 | michal | 2010-01-16 | 16:30 | 1 2 | michal | 2010-01-16 | 17:00 | 2 3 | xxxxxx | 2010-01-16 | 17:30 | 1 4 | michal | 2010-01-16 | 18:00 | 3 5 | aaaaa | 2010-01-16 | 19:00 | 1 6 | xxxxxx | 2010-01-16 | 20:30 | 2 I w tym momencie wystarczyło by zadbać o to aby kombinacja pól (nick, data, ilosc) była unikatowa. Ale jak wywołać taką inkrementację w bazie danych i dodatkowo ograniczyć ją do x wystąpień? Czy to w ogóle możliwe? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%)
|
|
|
|
|
| -lukasamd- |
Post
#3
|
|
Goście |
A nie lepiej przez dodaniem do bazy najpierw pobrać poprzez COUNT (ew. SELECT id z warunkiem i potem mysql_num_rows) informację o tym, ile ich jest i podjąć w PHP odpowiednie działanie w zależności od wyniku?
IMO na coś takiego nie ma żadnego sensu liczyć i trzymać w osobnym polu. @neverever: faster (IMG:style_emoticons/default/smile.gif) Ten post edytował lukasamd 19.01.2010, 19:58:52 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 17.01.2010 Ostrzeżenie: (0%)
|
No jasne. Niepotrzebnie kombinowałem jak koń pod górę. Użyłem:
Kod SELECT * FROM db WHERE nick='michal' AND data='2010-01-16' i potem Kod mysql_affected_rows($con); No chyba, że da się to zrobić lepiej? I serdecznie dziękuję za pomoc, sam siedziałem nad tym problemem już kilka godzin a tu takie błyskawiczne rozwiązanie. Ten post edytował micsas 19.01.2010, 21:59:19 |
|
|
|
![]() ![]() |
|
Aktualny czas: 29.12.2025 - 23:25 |