Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> prawidłowosc wzorca mvc
pdfpl
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 29.03.2011

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


oto skrypt wyswietlajacy tabele mysql
zo zrobic aby byl on prowidlowy pod wzgledm wzorca mvc?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">

<?php

class Model {//obsluguje polaczenie

private $zm_polaczenie;
private $db;

public function __construct($zm_polaczenie, $db) //konstruktor
{
$this->zm_polaczenie = $zm_polaczenie;
$this->db = $db;
$this->polacz();
}

private function polacz() //funkcja polacz
{
if ($zm_polaczenie == null){
$zm_polaczenie = @mysql_connect('xxx', 'xxx', 'xxx');//server user passwd
$db = @mysql_select_db('xxx', $zm_polaczenie);//database
}
return $zm_polaczenie;
}
}

class Widok {//wyswietla dane, moze byc wiele widokow

private $row;
private $result;

public function __construct($row, $result) //konstruktor
{
$this->row = $row;
$this->result = $result;
$this->uruchomPolaczenie();
$this->pokaz();
}

private function uruchomPolaczenie()//konstruktora z klasy Model
{
$this->Model = new Model();
}

private function pokaz() //funkcja pokaz
{
$result = mysql_query('SELECT * FROM program ORDER BY data');

echo "<table border='1'>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<tr>";
echo "<td>".$row['data']."</td>";
echo "<td>".$row['punkt_programu']."</td>";
echo "<td>".$row['dokument']."</td>";
echo "</tr>";
}
echo "</table>";
}
}

class Kontroler {//sprawdza dane z geta i decyduje co uruchomic

private $co;

public function __construct() //konstruktor
{
$this->co = $co;
$this->co_uruchomic();
}

private function co_uruchomic() //kontroler
{
$co=$_GET["co"];
if ($co==""){
echo "NIE wybrano widoku.<br><br>";
echo "DOSTĘPNE WIDOKI:.<br>";
echo "* <a href='mvc2.php?co=widok1'>Widok 1</a>";
}
if ($co=="widok1"){
new Widok();//konstruktor klasy Widok
}
}
}

new Kontroler();//uruchamia wzorzec mvc
?>

Ten post edytował pdfpl 16.01.2012, 14:57:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pdfpl
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 29.03.2011

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


nie do konca rozumien mozesz w kodzie ktory wklejam czyli widok tabeli mysql z polaczeniem zmienic i wskazac elementy mvc ?

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3.  
  4. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  5.  
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  8. </head>
  9.  
  10. <body>
  11.  
  12. <?php
  13.  
  14. class Model {//obsluguje polaczenie
  15.  
  16. private $zm_polaczenie;
  17. private $db;
  18.  
  19. public function __construct($zm_polaczenie, $db) //konstruktor
  20. {
  21. $this->zm_polaczenie = $zm_polaczenie;
  22. $this->db = $db;
  23. $this->polacz();
  24. }
  25.  
  26. private function polacz() //funkcja polacz
  27. {
  28. if ($zm_polaczenie == null){
  29. $zm_polaczenie = @mysql_connect('serw', 'user', 'pass');//server user passwd
  30. $db = @mysql_select_db('db', $zm_polaczenie);//database
  31. }
  32. return $zm_polaczenie;
  33. }
  34. }
  35.  
  36. class Widok {//wyswietla dane, moze byc wiele widokow
  37.  
  38. private $row;
  39. private $result;
  40.  
  41. public function __construct($row, $result) //konstruktor
  42. {
  43. $this->row = $row;
  44. $this->result = $result;
  45. $this->uruchomPolaczenie();
  46. $this->pokaz();
  47. }
  48.  
  49. private function uruchomPolaczenie()//konstruktora z klasy Model
  50. {
  51. $this->Model = new Model();
  52. }
  53.  
  54. private function pokaz() //funkcja pokaz
  55. {
  56. $result = mysql_query('SELECT * FROM program ORDER BY data');
  57.  
  58. echo "<table border='1'>";
  59. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  60. echo "<tr>";
  61. echo "<td>".$row['data']."</td>";
  62. echo "<td>".$row['punkt_programu']."</td>";
  63. echo "<td>".$row['dokument']."</td>";
  64. echo "</tr>";
  65. }
  66. echo "</table>";
  67. }
  68. }
  69.  
  70. class Kontroler {//sprawdza dane z geta i decyduje co uruchomic
  71.  
  72. private $co;
  73.  
  74. public function __construct() //konstruktor
  75. {
  76. $this->co = $co;
  77. $this->co_uruchomic();
  78. }
  79.  
  80. private function co_uruchomic() //kontroler
  81. {
  82. $co=$_GET["co"];
  83. if ($co==""){
  84. echo "NIE wybrano widoku.<br><br>";
  85. echo "DOSTĘPNE WIDOKI:.<br>";
  86. echo "* <a href='mvc2.php?co=widok1'>Widok 1</a>";
  87. }
  88. if ($co=="widok1"){
  89. new Widok();//konstruktor klasy Widok
  90. }
  91. }
  92. }
  93.  
  94. new Kontroler();//uruchamia wzorzec mvc
  95. ?>
  96.  
  97. </body>
  98. </html>


Ten post edytował pdfpl 16.01.2012, 15:20:18
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 02:58