Reszta kodu wygląda następująco :
Klasa kontakt person ( zawiera porstawowe metody ) :
<?php
class KontaktPersonalny{
private $text;
private $varName;
private $tableId;
private $class;
private $values;
public function __construct($text, $varName, $tableId, $_class = ''){
$this->text = $text;
$this->varName = $varName;
$this->tableId = $tableId;
$this->class = $_class;
}
public function show(){
if (!isset($this->values[0
])){ $this->getValues($post);
}
echo "<table id=\"".$this->tableId."\" class=\"".$this->class."\"> <thead><tr><td>$this->text</td></tr></thead>
<tbody>
<tr><td>
<table>
<tr>
<td>Osoba Kontaktowa: </td>
<td><input type=\"text\" name=\"".$this->varName."Osoba1\" id=\"".$this->varName."Osoba1\" value=\"".$this->values[0]['osoba']."\"></td>
</tr><tr>
<td>Stanowisko: </td>
<td><input type=\"text\" name=\"".$this->varName."Stanowisko1\" id=\"".$this->varName."Stanowisko1\" value=\"".$this->values[0]['stanowisko']."\"></td>
</tr><tr>
<td>Telefon: </td>
<td><input type=\"text\" name=\"".$this->varName."Tel11\" id=\"".$this->varName."Tel11\" value=\"".$this->values[0]['tel1']."\"></td>
</tr><tr>
<td>Komorka: </td>
<td><input type=\"text\" name=\"".$this->varName."Tel21\" id=\"".$this->varName."Tel21\" value=\"".$this->values[0]['tel2']."\"></td>
</tr><tr>
<td>E-Mail: </td>
<td><input type=\"text\" name=\"".$this->varName."Mail1\" id=\"".$this->varName."Mail1\" value=\"".$this->values[0]['mail']."\" onblur=\"sprAddrow(this, 'mail')\"></td>
</tr><tr>
<td><input type=\"button\" id=\"dbutton1\" value=\"+\" onclick=\"addRowPerson('".$this->tableId."', '".$this->varName."')\"></td>
</tr>
</table></td>
<td><textarea name=\"".$this->varName."Not1\" id=\"".$this->varName."Not1\" cols=\"8\" rows=\"8\">".$this->values[0]['notatki']."</textarea></td>
</tr>";
if (isset($this->values[1
])){ $i=1;
while(isset($this->values[$i])){ <table>
<tr>
<td>Osoba Kontaktowa ".($i+1).": </td>
<td><input type=\"text\" name=\"".$this->varName."Osoba\"".($i+1)." id=\"".$this->varName."Osoba\"".($i+1)." value=\"".$this->values[$i]['osoba']."\"></td>
</tr><tr>
<td>Stanowisko: </td>
<td><input type=\"text\" name=\"".$this->varName."Stanowisko\"".($i+1)." id=\"".$this->varName."Stanowisko\"".($i+1)." value=\"".$this->values[$i]['stanowisko']."\"></td>
</tr><tr>
<td>Telefon: </td>
<td><input type=\"text\" name=\"".$this->varName."Tel1\"".($i+1)." id=\"".$this->varName."Tel1\"".($i+1)." value=\"".$this->values[$i]['tel1']."\"></td>
</tr><tr>
<td>Komorka: </td>
<td><input type=\"text\" name=\"".$this->varName."Tel2\"".($i+1)." id=\"".$this->varName."Tel2\"".($i+1)." value=\"".$this->values[$i]['tel2']."\"></td>
</tr><tr>
<td>E-Mail: </td>
<td><input type=\"text\" name=\"".$this->varName."Mail\"".($i+1)." id=\"".$this->varName."Mail\"".($i+1)." value=\"".$this->values[$i]['mail']."\" onblur=\"sprAddrow(this, 'mail')\"></td>
</tr><tr>
<td><input type=\"button\" id=\"dbutton\"".($i+1)." value=\"+\" onclick=\"addRowPerson('".$this->tableId."', '".$this->varName."')\">
<input type=\"button\" id=\"rbutton\"".($i+1)." value=\"-\" onclick=\"delRow('".$this->tableId."')\"></td>
</tr>
</table></td>
<td><textarea name=\"".$this->varName."Not\"".($i+1)." id=\"".$this->varName."Not\"".($i+1)." cols=\"8\" rows=\"8\">".$this->values[$i]['notatki']."</textarea></td>
</tr>";
$i++;
}
}
</table>";
}
public function getValues
(Array $post){ $i = 1;
while (isset($post[$this->varName."Osoba".$i])){
if (!empty($post[$this->varName."Osoba".$i])) $temp['osoba'] = $post[$this->varName."Osoba".$i]; else $temp['osoba'] = '';
if (!empty($post[$this->varName."Stanowisko".$i])) $temp['stanowisko'] = $post[$this->varName."Stanowisko".$i]; else $temp['stanowisko'] = '';
if (!empty($post[$this->varName."Tel1".$i])) $temp['tel1'] = $post[$this->varName."Tel1".$i]; else $temp['tel1'] = '';
if (!empty($post[$this->varName."Tel2".$i])) $temp['tel2'] = $post[$this->varName."Tel2".$i]; else $temp['tel2'] = '';
if (!empty($post[$this->varName."Mail".$i])) $temp['mail'] = $post[$this->varName."Mail".$i]; else $temp['mail'] = '';
if (!empty($post[$this->varName."Not".$i])) $temp['notatki'] = $post[$this->varName."Not".$i]; else $temp['notatki'] = '';
$this->values[$i-1] = $temp;
$i++;
}
return $this->values;
}
public function display(){
$i=0;
while (isset($this->values[$i]['osoba']) && !empty($this->values[$i]['osoba'])){ echo "<b>Osoba Kontaktowa </b>".($i+1).": ".$this->values[$i]['osoba']."<br>"; echo "<b>Stanowisko: </b>".$this->values[$i]['stanowisko']."<br>"; echo "<b>Telefon: </b>".$this->values[$i]['tel1']."<br>"; echo "<b>Komórka: </b>".$this->values[$i]['tel2']."<br>"; echo "<b>E-Mail: </b>".$this->values[$i]['mail']."<br>"; $i++;
}
}
public function addToDB($id){
$i = 0;
$mysqli = connect();
while (isset($this->values[$i]['osoba']) && !empty($this->values[$i]['osoba'])){ $mysqli->query("INSERT INTO `kontakt_person` (id_firmy, osoba, stanowisko, tel1, tel2, mail, notatki) VALUES ('$id', '{$this->values[$i]['osoba']}' , '{$this->values[$i]['stanowisko']}', '{$this->values[$i]['tel1']}', '{$this->values[$i]['tel2']}', '{$this->values[$i]['mail']}', '{$this->values[$i]['notatki']}')");
$i++;
}
$mysqli->close();
}
public function getFromDB($id){
$mysqli = connect();
$result = $mysqli->query("SELECT * FROM `kontakt_person` WHERE `id_firmy` = '$id'");
$i = 0;
if($result->num_rows > 0){
if(isset($this->values) && !empty($this->values[0
])){ }
}
while ($row = $result->fetch_assoc()){
$this->values[$i]['osoba'] = $row['osoba'];
$this->values[$i]['stanowisko'] = $row['stanowisko'];
$this->values[$i]['tel1'] = $row['tel1'];
$this->values[$i]['tel2'] = $row['tel2'];
$this->values[$i]['mail'] = $row['mail'];
$this->values[$i]['notatki'] = $row['notatki'];
$i++;
}
$mysqli->close();
}
////// testujemy
public function delFromKonPerson($id) {
$mysqli = connect();
$mysqli->query("DELETE FROM `kontakt_person` WHERE `id_firmy` = '$id'");
$mysqli->close();
}
public function addToDB2($id){
$i = 0;
$mysqli = connect();
while (isset($this->values[$i]['osoba']) && !empty($this->values[$i]['osoba'])){ $mysqli->query("INSERT INTO `kontakt_person` (id_firmy, osoba, stanowisko, tel1, tel2, mail, notatki) VALUES ('$id', '{$this->values[$i]['osoba']}' , '{$this->values[$i]['stanowisko']}', '{$this->values[$i]['tel1']}', '{$this->values[$i]['tel2']}', '{$this->values[$i]['mail']}', '{$this->values[$i]['notatki']}')");
$i++;
}
$mysqli->close();
}
}
?>
I fragment "kontenera" czyli klasy Firma zbierającej wszystko w całość. To jej metody używam w wywołaniu w końcowym kodzie do edycji :
<?php
include_once ('./class/danefirmy.php');
include_once ('./class/kontakt.php');
include_once ('./class/kontaktperson.php');
include_once ('./class/dzialalnosc.php');
class Firma{
private $danefirmy;
private $kontakt;
private $kontaktperson;
private $profil;
private $idFirmy;
public function __construct(){
$this->danefirmy = new DaneFirmy();
$this->kontakt = new Kontakt();
$this->kontaktperson = new KontaktPersonalny("Kontakt Personalny", "person", "kontaktpersonalny");
$this->profil = new ProfilDzialalnosci("Profil Dzialalnosci", "profil", "profildzialalnosci");
}
public function show(){
$this->danefirmy->show();
$this->profil->show();
$this->kontakt->show();
$this->kontaktperson->show();
}
public function getValues($post){
$this->danefirmy->getValues($post);
$this->kontakt->getValues($post);
$this->kontaktperson->getValues($post);
$this->profil->getValues($post);
}
/**
* Funkcja ustawia pod zmienną klasy $idFirmy wartość $id
* która jest pobierana np. z $_GET -> patrz edycja.php
* @param $id
*/
public function setIdFirmy($id) {
$this->idFirmy = $id;
}
///////////////////////////////////////// testujemy
public function delFromDB($id) {
$this->kontaktperson->delFromKonPerson($id);
}
public function getValKonPer($post) {
$this->kontaktperson->getValues($post);
}
public function add($id) {
$this->kontaktperson->addToDB2($id);
}
public function displayKonPer() {
$this->kontaktperson->display();
}
/////////////////////////////////////////////////////////////////////
}
?>