![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 13.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam skrypt z którego wrzucam do z jednej głownej tabeli dane z parametrami urzadzenia. kazde urzadzenie ma swoj niepowtarzalny numer. potrzebuje stworzyc tabele historyczna dla kazdego nr urzadzenia. Parametry do tabeli historycznej musza byc zapisywane: Jelsi nowe urzadznie ---> dodaj do TAbeli głownej i historycznej Jesli update danych urzadzenia --> uaktualnij wpis w TABELI głownej oraz dopisz rekord do historycznej(dobrze by bylo gdyby tabela sie zapetlala dla kazdego nr do 10 wpisow max) Co wiem! - musze zaimplementoac TRIGGER'a nawet go juz napisalem ale mam problem z odpowiednim umieszczeniu w skrypcie. Prosze bardzo o POMOC! oto skypt: <? $nhost = "localhost"; $nbaza = "nazwa_bazy"; $nuser = "root"; $npassword = ""; $skasuj = trim($_GET["skasuj"]); $popraw = trim($_GET["popraw"]); $id = trim($_GET["id"]); $moc = trim($_GET["moc"]); $typ = trim($_GET["typ"]); $obroty = trim($_GET["obroty"]); $urzadzenie = trim($_GET["urzadzenie"]); $obiekt = trim($_GET["obiekt"]); $status = trim($_GET["status"]); $notatki = trim($_GET["notatki"]); $data = trim($_GET["data"]); if ((($skasuj<>"")or($popraw<>""))and($id=="")) { // ### pobranie rekordu z tabeli oraz kasowanie if ($popraw<>"") $nr=$popraw; else $nr=$skasuj; $baza = mysql_connect($nhost, $nuser, $npassword); if ($baza) { $wynik = mysql_select_db($nbaza,$baza); if ($wynik) { $wynik = mysql_query("SELECT * FROM silniki WHERE id=$nr"); if (($wynik)and(mysql_num_rows($wynik)>0)) { if ($skasuj<>"") { mysql_query("DELETE FROM silniki WHERE id=$skasuj"); echo "<b>Rekord skasowany:</b>"; } $pole=mysql_fetch_array($wynik); $id = $pole["id"]; $moc = $pole["moc"]; $typ = $pole["typ"]; $obroty = $pole["obroty"]; $urzadzenie = $pole["urzadzenie"]; $obiekt = $pole["obiekt"]; $status = $pole["status"]; $notatki = $pole["notatki"]; $data = $pole["data"]; } } mysql_close($baza); } } else if ($id<>"") { //---- dopisanie lub uaktualnienie tabeli if (!eregi("^[0-9]+$",$id)) echo "<br /><b>błąd w polu ID-NUMER:</b>"; else if (!eregi("^[0-9]+$",$moc)) echo "<br /><b>błąd w polu MOC</b>"; else if (!eregi("^[0-9]+$",$obroty)) echo "<br /><b>błąd w polu OBROTY</b>"; else if (!eregi( "^(19|20)[0-9][0-9]-([0][1-9]|[1][0-2])-([0-2][1-9]|10|20|30|31)$", $data)) echo "<br /><b>błąd w polu DATA</b>"; else { $baza = mysql_connect($nhost, $nuser, $npassword); if ($baza) { $wynik = mysql_select_db($nbaza); if ($wynik) { if ($popraw=="") { $wynik = mysql_query(" INSERT INTO silniki VALUES($id,'$moc','$typ','$obroty','$urzadzenie', '$obiekt', '$status', '$data', '$notatki') "); tutaj jest zapis do drugiej tabeli ale mi to nie chce działac--- >$hist = mysql_query("INSERT INTO historia(id_silnik,moc,typ,obroty,urzadzenie,obiekt,status,data,notatki) VALUE('$id','$moc', '$typ','$obroty','$urzadzenie','$obiekt','$status','$data','$notatki')"); if ($wynik and $hist) { echo "<br /><b>Rekord został dodany</b>"; $id=""; $moc=""; $typ=""; $obroty=""; $urzadzenie=""; $obiekt=""; $status=""; $data=""; $notatki=""; } } else { $wynik = mysql_query(" UPDATE silniki SET id=$id, moc='$moc', typ='$typ', obroty='$obroty', urzadzenie='$urzadzenie', obiekt='$obiekt', status='$status', dataur='$data', notatki='$notatki' where id=$popraw "); /* co z tym $hist = mysql_query(" CREATE TRIGGER kopia AFTER UPDATE ON silniki FOR EACH ROW BEGIN INSERT INTO historia SET moc=OLD.moc, typ=OLD.typ, obroty=OLD.obroty, urzadzenie=OLD.urzadzenie, obiekt=OLD.obiekt, status=OLD.status, dataz=NOW(), notatki=OLD.notatki;");*/ if ($wynik) { echo "<br /><b>Rekord został uaktualniony</b>"; $popraw=""; $id=""; $moc=""; $typ=""; $obroty=""; $urzadzenie=""; $obiekt=""; $status=""; $data=""; $notatki=""; } } } mysql_close($baza); } } } // ----- napis na guziku w formularzu if ($popraw<>"") $guzik="Uaktualnij"; else if ($skasuj<>"") $guzik="Przywróć"; else { $guzik="Dodaj"; }; ?> dziekuje za wszelka pomoc -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:58 |