<?php //widok_dane_klienta.php require('funkcje_sklep_gl.php'); tworz_naglowek_html("Widok Dane Klienta"); if (sprawdz_uzyt_admin()) { wyswietl_form_szukanie_klienta(); require_once("./tmp/index.php"); } else // jeżeli zalogowany jako administrator, pokaż łącza { wyswietl_przycisk('admin.php', 'menu-admin', 'Menu Administratora'); } tworz_stopke_html(); ?>
Plik index.php wyświetla dane wszystkich klientów chyba że się poda po przez formularz nazwisko, wtedy wyświetla wszystkich o danym nazwisku. Dodatkowo dla każdego klienta zrobiony został link do edycji jego danych.
-index.php
<?php require_once "database.php"; require_once "tools.php"; require_once "fields.php"; require_once "config.php"; $colCount = RECORDNUM; $page = $_GET["page"]; } else { $page = 1; } $nazwisko = $HTTP_POST_VARS["nazwisko"]; } $nazwisko = $_GET["nazwisko"]; } $db = getDatabase("MySQL", DB_HOST, DB_USER, DB_PASSWORD, DB_DBNAME); $rowTMP = CutSection($html, "<!--[ROW_BEGIN]-->", "<!--[ROW_END]-->", false); $colsTMP = CutSection($html, "<!--[COL_BEGIN]-->", "<!--[COL_END]-->", false); $menuRowTMP = CutSection($html, "<!--[MENU_ROW_BEGIN]-->", "<!--[MENU_ROW_END]-->", false); $menuColTMP = CutSection($html, "<!--[MENU_COL_BEGIN]-->", "<!--[MENU_COL_END]-->", false); $offset = ($page-1)*$colCount; $sql="SELECT k.id_klienta, k.imie, k.nazwisko, k.nr_tel_dom, k.nr_tel_kom, z.id_zamowienia, z.data_zamowienia, z.data_finalizacji, z.stan, z.zlecenie, z.do
datkowe_info, z.os_odbierajaca_zlecenie, z.os_modyfik_zlecenie, r.id_reklamacji, r.data_reklamacji, r.data_zwrotu, r.stan, r.opis_usterki, r.dod
atkowe_info, r.os_przyj, r.os_modyf FROM klient k left join zamowienia z on z.id_klienta=k.id_klienta left join reklamacja r on r.id_klienta=k.id_klienta "; $sql.= "WHERE k.nazwisko='".$nazwisko."' "; } $res = $db->getRecordset($sql); $allRecords = $res->numRows(); $pageTMP = CutSection($html, "<!--[PAGE_LIST_BEGIN]-->", "<!--[PAGE_LIST_END]-->", false); $pages = ""; for ($i=0; $i<$pagesCount; $i++) { } if ($offset >= $allRecords) { $offset = 0; $page = 1; } $sql.="ORDER BY nazwisko, imie LIMIT $offset,$colCount"; $res = $db->getRecordset($sql); if ($res->numRows()<$colCount) { $colCount = $res->numRows(); } $columns = ""; $menu = "<TD></TD>"; for ($i=0; $i<$colCount+1; $i++) { $columns .= $colsTMP; if ($i != $colCount) { $menu .= $menuColTMP; } } $colsTMP = CutSection($html, "<!--[COL_BEGIN]-->", "<!--[COL_END]-->", true); $rows = ""; $fields = $res->fields(); for ($i=0; $i<$cnt+1; $i++) { } for ($i=1; $i<=$cnt; $i++) { } for ($i=1; $i<=$colCount; $i++) { } $i = 1; while ($arr = $res->nextRow()) { for ($j=1; $j<=$cnt; $j++) { } $i++; } ?>
wynik jest wyświetlany poprzez html z pliku index.html:
<BODY> <TABLE> <!--[MENU_ROW_BEGIN]--> <!--[MENU_COL_BEGIN]--> <TD> </TD> <!--[MENU_COL_END]--> <!--[MENU_ROW_END]--> <!--[ROW_BEGIN]--> <TR> <!--[COL_BEGIN]--> <TD> <!--[VALUE.#row#.#col#]--> </TD> <!--[COL_END]--> </TR> <!--[ROW_END]--> </TABLE> <!--[PAGE_LIST_BEGIN]--> <!--[PAGE_LIST_END]--> </BODY>
Następnie zrobiłem sobie taki oto formularz, który umieściłem w pliku z funkcjami wyświetl. a który jest wyświetlany przez plik edycja_klient_form.php
<?php //widok_dane_klienta.php require('funkcje_sklep_gl.php'); tworz_naglowek_html("Widok Dane Klienta"); if (sprawdz_uzyt_admin()) { wyswietl_form_edycja_klienta(); } else // jeżeli zalogowany jako administrator, pokaż łącza { wyswietl_przycisk('admin.php', 'menu-admin', 'Menu Administratora'); } tworz_stopke_html(); ?>
wygląd formularza:
<FORM action='edycja_klient_wynik.php' method='POST' > <table style="text-align: left; width: 91%;" border="0" frame="hsides" cellpadding="3" cellspacing="3"> <tbody> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> <tr align="right"> <tr/> </tr> <tr> <TR align="right"> <tr/> </tr> <tr> </tr> </tr> <tr> <TR align="right"> <tr/> </tr> <tr> <tr align="right"> <tr/> </tr> <tr> </tr> <tr> </tr> </tbody> </table> <input type="submit" value="aktualizuj" onclick="confirm('Na pewno ?')"> <input type="reset"> <BR/> </FORM>
I teraz wkońcu sedno sprawy: jak zrobić update poszczególnych wybranych pól(nie koniecznie zawsze muszą być wszystkie wypełnione), tak aby pola, które nie zostały wypełnione nie zmieniały swojej wartości. Dodam że ma to być dla danego klienta(id_klienta z tabeli klient, id_reklamacji z tabeli reklamacja oraz id_zamowienia z tabeli zamowienia) wybranego z pliku index.php przy założeniu że jeżeli zmieniamy dane o reklamacji/zamówieniu musi być wpisana osoba modyfikująca wpis.
Prosze o pomoc
