Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:ztb:2010:projekty:ipoints:start [2010/06/16 22:49] ztb2010 |
pl:dydaktyka:ztb:2010:projekty:ipoints:start [2019/06/27 15:50] (aktualna) |
| |
Tabela została zdenormalizowana w celu wygodniejszej pracy na zawartych w niej danych. Anomalie, które przez to mogą się pojawić zabezpieczone są przez interfejs umożliwiający dodawanie pewnych danych (np nowych pojedynków pomiędzy graczami) tylko w pewnych określonych warunkach tak by uniknąć wystąpienia anomalii. | Tabela została zdenormalizowana w celu wygodniejszej pracy na zawartych w niej danych. Anomalie, które przez to mogą się pojawić zabezpieczone są przez interfejs umożliwiający dodawanie pewnych danych (np nowych pojedynków pomiędzy graczami) tylko w pewnych określonych warunkach tak by uniknąć wystąpienia anomalii. |
| |
| ==== Projektowanie operacji na danych ==== |
| |
| Do komunikacji z bazą aplikacja używa skryptów php znajdujących sie na serwerze, te po wywołaniu generują odpowiedź w postaci danych w formacie XML lub przy pomocy statusu protokołu http |
| |
| przykłady kwarend: |
| <code sql> |
| $query = 'SELECT * FROM (SELECT playerName, avatarURL FROM ip_users WHERE playerID IN (SELECT player2ID FROM ip_friends WHERE player1ID = "'. $udid .'" AND type = 2) |
| UNION |
| SELECT playerName, avatarURL FROM ip_users WHERE playerID IN (SELECT player1ID FROM ip_friends WHERE player2ID = "'. $udid .'" AND type = 2)) as friends ORDER BY playerName'; |
| |
| $query = 'INSERT INTO ip_users (playerID, playerName, createdAt) |
| VALUES ("'. $udid.'","'.$name . '",now())'; |
| |
| $my_friends = 'SELECT * FROM (SELECT playerName FROM ip_users WHERE playerID IN (SELECT player2ID FROM ip_friends WHERE player1ID = "'. $udid .'" AND type = 2) |
| UNION |
| SELECT playerName FROM ip_users WHERE playerID IN (SELECT player1ID FROM ip_friends WHERE player2ID = "'. $udid .'" AND type = 2)) as friends ORDER BY playerName'; |
| |
| $invit_recived = 'SELECT playerName FROM ip_users WHERE playerID IN (SELECT player1ID FROM ip_friends WHERE player2ID = "'. $udid .'" AND (type = 1 OR type =3)) ORDER BY playerName'; |
| |
| $invit_sent = 'SELECT playerName FROM ip_users WHERE playerID IN (SELECT player2ID FROM ip_friends WHERE player1ID = "'. $udid .'" AND type = 1) ORDER BY playerName'; |
| |
| $query = 'UPDATE ip_friends SET type = 3 WHERE player1ID = (SELECT playerID FROM ip_users WHERE playerName = "'. $name .'") AND player2ID = "'. $udid .'" AND type = 1'; |
| |
| </code> |
| ==== Interfejs użytkownika ==== |
| |
| Zrzuty ekranu symulatora (natywna aplikacja iPoints) |
| |
| {{:pl:dydaktyka:ztb:2010:projekty:ipoints:screen_shot_2010-06-16_at_11.13.48_pm.png|}}{{:pl:dydaktyka:ztb:2010:projekty:ipoints:screen_shot_2010-06-16_at_11.14.28_pm.png}}|{{:pl:dydaktyka:ztb:2010:projekty:ipoints:screen_shot_2010-06-16_at_11.14.37_pm.png}}|{{:pl:dydaktyka:ztb:2010:projekty:ipoints:screen_shot_2010-06-16_at_11.14.45_pm.png|}} |
| |