Forum Centralne

Wspólne forum Księstwa Sarmacji i jego prowincji

Przejdź do zawartości

W przypadku problemów z zalogowaniem usuń ciasteczka.

Publiczny dostęp do danych z DSG - integracja

To tutaj dyskutujemy o polityce, gospodarce, sprawach naszego państwa oraz całego mikroświata

Publiczny dostęp do danych z DSG - integracja

Postprzez Kwazi 16 wrz 2015, o 10:00

Wczoraj Naczelna Izba Architektury - zgodnie z moją propozycją - uruchomiła powszechny dostęp do bazy danych DSG (a tak na prawdę do bazy pośredniej, zawierającej tzw. widoki tabel z bazy DSG). W związku z powyższym MST zachęca administratorów stron internetowych wszystkich samorządów do korzystania z dobrodziejstw tego dostępu. Poniżej przedstawiam przykładowy skrypt PHP pobierający z bazy danych listę mieszkańców i wyświetlający ją jako tabelę HTML.

(—) Krzysztof diuk Kwazi,
Minister Samorządu Terytorialnego.

Kod źródłowy przykładowego skryptu:
Kod: Zaznacz cały
<!DOCTYPE html>
<html lang="pl">
<?php
try { /* inicjalizacja połączenia z bazą danych Sarmacji */
   $db = new PDO('mysql:host=mysql2.mydevil.net;dbname=m14005_com_vews',
            'm14005_common', 'xUbLyZNKzmrq9su0XUz1');
}
catch (PDOException $e) {
    die('Błąd połączenia z bazą danych: ' . $e->getMessage());
}
$db->query('SET NAMES utf8');
?>

<body>
   <h2>Mieszkańcy Grodziska</h2>
   <table border="1"><tbody>
   <tr><th>Imię i nazwisko</th><th>Czas przeprowadzki</th><th>Status</th></tr>
<?php
   /* Zapytanie do bazy danych o listę mieszkańców Grodziska */
   $q = $db->query('SELECT paszport,nick,FROM_UNIXTIME(dataPrzeprowadzki) as czas,status
            FROM `dsg_users` WHERE idMiastaZamieszkania="M00001" AND status>0',
            PDO::FETCH_OBJ);

   const Status = array('', 'mieszkaniec', 'obywatel', 'były obywatel');
   foreach ($q as $row) {
      echo '<tr><td><a href="http://www.sarmacja.org/mieszkaniec/profil/'
         .$row->paszport.'">'.$row->nick.'</a></td><td>'
         .$row->czas.'</td><td>'.Status[$row->status].'</td></tr>';
   }
?>
   </tbody></table>
</body>
</html>

Efekt działania skryptu:
http://varea.one.pl/mieszkancy.php

Podgląd bazy danych przez panel PhpMyAdmin:
https://pma.mydevil.net/index.php?db=&s ... 005_common
hasło: xUbLyZNKzmrq9su0XUz1

MST w razie potrzeby udzieli wszelkiej pomocy technicznej.
Kristof Stanislau Mihael Kvazi (T0005)
NIE Jaśnie Oświecony
Avatar użytkownika
 

Re: Publiczny dostęp do danych z DSG - integracja

Postprzez igor 16 wrz 2015, o 16:41

Nieładnie tak mieszać widok i logikę ;) Poza tym +1.
Igor Żdanow
Nikt jeszcze nie polubił tej wypowiedzi
Avatar użytkownika
 

Re: Publiczny dostęp do danych z DSG - integracja

Postprzez Kwazi 16 wrz 2015, o 16:55

igor napisał(a):Nieładnie tak mieszać widok i logikę ;) Poza tym +1.

To jest tylko przykładowy skrypt, który ma uświadomić dostępność danych o mieszkańcach.

Gdybym miał pokazać poprawne modelowo rozwiązanie, to musiałbym zrobić o wiele obszerniejszy przykład, składający się z dwóch skryptów: wyciągania danych z bazy i budowania wizualizacji HTML (być może z użyciem jakiegoś frameworka). Tylko wówczas nie miałbym pewności, że nie-programiści zrozumieją to, co przede wszystkim chciałem w tym przykładzie pokazać.
Kristof Stanislau Mihael Kvazi (T0005)
NIE Jaśnie Oświecony
Nikt jeszcze nie polubił tej wypowiedzi
Avatar użytkownika
 

Re: Publiczny dostęp do danych z DSG - integracja

Postprzez igor 16 wrz 2015, o 17:05

Mniej poważności ;)
Igor Żdanow
Nikt jeszcze nie polubił tej wypowiedzi
Avatar użytkownika
 

Re: Publiczny dostęp do danych z DSG - integracja

Postprzez Kwazi 16 wrz 2015, o 17:14

igor napisał(a):Mniej poważności ;)

A właśnie, że nie!

Z pełną powagą, godną diuka-weterana i księcia Teutończyków, zrobię modelowo poprawny przykład z użyciem XSLT, albo coś jeszcze bardziej przerażającego. Żadnej litości nie będzie!

Niech programiści też mają coś dla siebie.
Kristof Stanislau Mihael Kvazi (T0005)
NIE Jaśnie Oświecony
Avatar użytkownika
 

Re: Publiczny dostęp do danych z DSG - integracja

Postprzez PornoBotka 16 wrz 2015, o 17:20

i zamodeluj to wszystko w springu
(-) Jaśnie Oświecony Diuk-Wojewoda ProfesorAvril von Levengothon,
Pierwszy Architekt Narodu (PAN) i Perła Monarchizmu Sarmackiego
Avatar użytkownika
Naczelna Izba Architektury
Kościół Diuczej Wiary
 

Re: Publiczny dostęp do danych z DSG - integracja

Postprzez Kwazi 23 wrz 2015, o 12:17

Drodzy Sarmaci!

Dzisiaj prawdopodobnie jest ostatni dzień mojego urzędowania jako MST.

Postanowiłem więc przygotować ulepszony przykład wykorzystania dostępu do bazy danych DSG, który w podstawowym stopniu spełnia postulat rozdzielenia kodu PHP+HTML odpowiedzialnego za prezentację danych, od kodu PHP, który te dane pozyskuje z bazy i przetwarza. Dlatego poniższy przykład wyświetlania mieszkańców Grodziska składa się z dwóch plików:

Pobieranie danych:
Kod: Zaznacz cały
<?php
define('DB_USER', 'm14005_common');
define('DB_PASS', 'xUbLyZNKzmrq9su0XUz1');

try {
   $db = new PDO('mysql:host=mysql2.mydevil.net;dbname=m14005_com_vews', DB_USER, DB_PASS);
   $db->query('SET NAMES utf8');
}
catch (PDOException $e) {
    die('Błąd połączenia z bazą danych: ' . $e->getMessage());
}

return $db->query('SELECT paszport,nick,FROM_UNIXTIME(dataPrzeprowadzki) as czas,status FROM `dsg_users` WHERE idMiastaZamieszkania="M00001" AND status>0',
               PDO::FETCH_OBJ);
 

Prezendatcja danych (szablon HTML+PHP):
Kod: Zaznacz cały
<?php
header('Content-Type: text/html; charset=UTF-8');
$mieszkancy = include 'mieszkancy_dane.php';
const Status = array('', 'mieszkaniec', 'obywatel', 'były obywatel');
?>
<!DOCTYPE html>
<html lang="pl">
<head>
   <title>Mieszkańcy Grodziska</title>
</head>
<body>
   <h2>Mieszkańcy Grodziska</h2>
   <table border="1"><tbody>
   <tr><th>Imię i nazwisko</th><th>Czas przeprowadzki</th><th>Status</th></tr>
<?php foreach ($dane as $m) { ?>
      <tr><td><a href="http://www.sarmacja.org/mieszkaniec/profil/<?=$m->paszport?>"><?=$m->nick?></a></td>
         <td><?=$m->czas?></td><td><?=Status[$m->status]?></td></tr>
<?php } ?>
   </tbody></table>
</body>
</html>
 

Efekt:
http://varea.one.pl/mieszkancy_tpl.php

Zrobiłem to, aby nie promować zanadto złych wzorców w programowaniu webowym.
Kristof Stanislau Mihael Kvazi (T0005)
NIE Jaśnie Oświecony
Avatar użytkownika
 


Powrót do Państwo i świat

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości

cron