Liebe PHP-Gemeinde,
als blutiger Anfänger bekomme ich folgendes Problem einfach nicht in den Griff:
Es handelt sich um PHPMyDatagrid, was ich auf meine Anforderung zugeschnitten habe. Nur schaffe ich es nicht, einen neuen Datensatz abzuspeichern, bei dem ich nur die Hälfte der Felder ausgefüllt habe. Das ist aber zwingend, da ich den Inhalt einiger Felder erst einige Tage später erfahre.
Hier die index.php
#################index.php############################################
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ORGANICS</title>
<?php
include ("phpmydatagrid.class.php");
$objGrid = new datagrid;
$objGrid -> friendlyHTML();
$objGrid -> pathtoimages("./images/");
$objGrid -> closeTags(true);
$objGrid -> form('employees', true);
$objGrid -> methodForm("post");
$objGrid -> total("ek,vk,margin,marginp");
$objGrid -> searchby("date1,date2,company,article,lotnr,supplier");
$objGrid -> linkparam("sess=".$_REQUEST["sess"]."&username=".$_REQUEST["username"]);
$objGrid -> decimalDigits(2);
$objGrid -> decimalPoint(",");
$objGrid -> conectadb("localhost", "xxxx", "xxxx", "xxxx");
$objGrid -> tabla("employees");
$objGrid -> buttons(true,true,true,true);
$objGrid -> keyfield("id");
$objGrid -> salt("Some Code4Stronger(Protection)");
$objGrid -> TituloGrid("ORGANICS");
$objGrid -> FooterGrid("<div style='float:center'>© 2007 xxxxxxxxxxxx</div>");
$objGrid -> datarows(20);
$objGrid -> paginationmode('mixed');
$objGrid -> orderby("id", "DESC");
$objGrid -> noorderarrows();
$objGrid -> FormatColumn("id", "ID", 6, 6, 2, "3", "left");
$objGrid -> FormatColumn("date1", "D.Request", 10, 10, 0, "50", "left", "date:dmy:-");
$objGrid -> FormatColumn("date2", "D.Offer", 10, 10, 0, "50", "left", "date:dmy:-");
$objGrid -> FormatColumn("timing", "Tmg", 2, 2, 0, "2", "left");
$objGrid -> FormatColumn("country", "Country", 50, 50, 0, "55", "left", "select:1_Germany:2_ARIAC:3_Armenia:4_Belarussia:5_Belgium:6_Bosnia:7_Bulgaria:8_Croatia:9_CZ-Rep:10_Denmark:11_Egypt:12_England:13_Estonia:14_Finland:15_Greece:16_Hungary:17_Iran:18_Italy:19_KS A:20_Latvia:21_Lithuania:22_Luxembourg:23_Marocco:24_Mauritanien:25_Moldavia:26_Norway:27_Pakistan:2 8_Poland:29_Portugal:30_Romania:31_Russia:32_SaudiArabia:33_Serbia:34_Singapor:35_SlovakRep:36_Slove nia:37_Spain:38_Suomi:39_Sweden:40_Syria:41_Netherlands:42_Tunisia:43_Turkey:44_UAE:45_Ukraina:46_US A");
$objGrid -> FormatColumn("company", "Company", 30, 30, 0, "70", "left");
$objGrid -> FormatColumn("article", "Article", 100, 100, 0, "200", "left");
$objGrid -> FormatColumn("lotnr", "ItemNr", 15, 15, 0, "50", "left");
$objGrid -> FormatColumn("amount", "Amount", 20, 20, 0, "40", "left");
$objGrid -> FormatColumn("ek", "EK", 14, 14, 0, "50", "left", "money:€");
$objGrid -> FormatColumn("vk", "VK", 14, 14, 0, "50", "left", "money:€");
$objGrid -> FormatColumn("margin", "Margin", 14, 14, 0, "40", "left", "money:€");
$objGrid -> FormatColumn("marginp", "Marg%", 10, 10, 3, "20", "left", "calc(margin*100)/(ek+1))"); // Division by Zero!!
$objGrid -> FormatColumn("zahl", "Order", 5, 5, 0, "20", "left", "select:1_YES:2_NO");
$objGrid -> FormatColumn("supplier", "Supplier", 40, 40, 0,"50", "left");
$objGrid -> FormatColumn("memo", "Memo", 100, 100, 0, "70", "left");
$objGrid -> setHeader();
?>
</head>
<body>
<?php
$objGrid -> grid();
$objGrid -> desconectar();
?>
<a href="javascriptG_resetSearch();">searchreset</a>
</body>
</html>
####################################################################
So sieht die MySQL-DB aus:
##############MySQL##################################################
--
-- Tabellenstruktur für Tabelle `employees`
--
CREATE TABLE `employees` (
`id` int(6) NOT NULL auto_increment,
`date1` date default NULL,
`date2` date default NULL,
`timing` varchar(3) character set utf8 collate utf8_unicode_ci default NULL,
`country` varchar(50) character set utf8 collate utf8_unicode_ci default NULL,
`company` varchar(100) character set utf8 collate utf8_unicode_ci default NULL,
`article` varchar(100) character set utf8 collate utf8_unicode_ci default NULL,
`lotnr` varchar(15) character set utf8 collate utf8_unicode_ci default NULL,
`amount` varchar(20) character set utf8 collate utf8_unicode_ci default NULL,
`ek` float default NULL,
`vk` float default NULL,
`margin` float default NULL,
`marginp` varchar(6) character set utf8 collate utf8_unicode_ci default NULL,
`zahl` varchar(5) character set utf8 collate utf8_unicode_ci default NULL,
`supplier` varchar(40) character set utf8 collate utf8_unicode_ci default NULL,
`memo` varchar(100) character set utf8 collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1315 ;
#####################################################################
Das "Progrämmle" umfasst noch eine phpmydatagrid.class.php, eine dgstyle.css, eine dgscript.js und images. Ich habe schon viel probiert, Einstellungen der MySQL-Tabelle geändert, in der index.php Änderungen vorgenommen, ohne Erfolg. Wenn ich bis auf supplier und memo alle Felder fülle, wird der Datensatz gespeichert. Sobald ich z.B. ein Datum auslasse, geht die Anwendung in Timeout.
Hoffentlich hat einer von Euch eine Idee, ich wäre sehr dankbar.
Vielen Dank im voraus.
Gruß Jens
als blutiger Anfänger bekomme ich folgendes Problem einfach nicht in den Griff:
Es handelt sich um PHPMyDatagrid, was ich auf meine Anforderung zugeschnitten habe. Nur schaffe ich es nicht, einen neuen Datensatz abzuspeichern, bei dem ich nur die Hälfte der Felder ausgefüllt habe. Das ist aber zwingend, da ich den Inhalt einiger Felder erst einige Tage später erfahre.
Hier die index.php
#################index.php############################################
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ORGANICS</title>
<?php
include ("phpmydatagrid.class.php");
$objGrid = new datagrid;
$objGrid -> friendlyHTML();
$objGrid -> pathtoimages("./images/");
$objGrid -> closeTags(true);
$objGrid -> form('employees', true);
$objGrid -> methodForm("post");
$objGrid -> total("ek,vk,margin,marginp");
$objGrid -> searchby("date1,date2,company,article,lotnr,supplier");
$objGrid -> linkparam("sess=".$_REQUEST["sess"]."&username=".$_REQUEST["username"]);
$objGrid -> decimalDigits(2);
$objGrid -> decimalPoint(",");
$objGrid -> conectadb("localhost", "xxxx", "xxxx", "xxxx");
$objGrid -> tabla("employees");
$objGrid -> buttons(true,true,true,true);
$objGrid -> keyfield("id");
$objGrid -> salt("Some Code4Stronger(Protection)");
$objGrid -> TituloGrid("ORGANICS");
$objGrid -> FooterGrid("<div style='float:center'>© 2007 xxxxxxxxxxxx</div>");
$objGrid -> datarows(20);
$objGrid -> paginationmode('mixed');
$objGrid -> orderby("id", "DESC");
$objGrid -> noorderarrows();
$objGrid -> FormatColumn("id", "ID", 6, 6, 2, "3", "left");
$objGrid -> FormatColumn("date1", "D.Request", 10, 10, 0, "50", "left", "date:dmy:-");
$objGrid -> FormatColumn("date2", "D.Offer", 10, 10, 0, "50", "left", "date:dmy:-");
$objGrid -> FormatColumn("timing", "Tmg", 2, 2, 0, "2", "left");
$objGrid -> FormatColumn("country", "Country", 50, 50, 0, "55", "left", "select:1_Germany:2_ARIAC:3_Armenia:4_Belarussia:5_Belgium:6_Bosnia:7_Bulgaria:8_Croatia:9_CZ-Rep:10_Denmark:11_Egypt:12_England:13_Estonia:14_Finland:15_Greece:16_Hungary:17_Iran:18_Italy:19_KS A:20_Latvia:21_Lithuania:22_Luxembourg:23_Marocco:24_Mauritanien:25_Moldavia:26_Norway:27_Pakistan:2 8_Poland:29_Portugal:30_Romania:31_Russia:32_SaudiArabia:33_Serbia:34_Singapor:35_SlovakRep:36_Slove nia:37_Spain:38_Suomi:39_Sweden:40_Syria:41_Netherlands:42_Tunisia:43_Turkey:44_UAE:45_Ukraina:46_US A");
$objGrid -> FormatColumn("company", "Company", 30, 30, 0, "70", "left");
$objGrid -> FormatColumn("article", "Article", 100, 100, 0, "200", "left");
$objGrid -> FormatColumn("lotnr", "ItemNr", 15, 15, 0, "50", "left");
$objGrid -> FormatColumn("amount", "Amount", 20, 20, 0, "40", "left");
$objGrid -> FormatColumn("ek", "EK", 14, 14, 0, "50", "left", "money:€");
$objGrid -> FormatColumn("vk", "VK", 14, 14, 0, "50", "left", "money:€");
$objGrid -> FormatColumn("margin", "Margin", 14, 14, 0, "40", "left", "money:€");
$objGrid -> FormatColumn("marginp", "Marg%", 10, 10, 3, "20", "left", "calc(margin*100)/(ek+1))"); // Division by Zero!!
$objGrid -> FormatColumn("zahl", "Order", 5, 5, 0, "20", "left", "select:1_YES:2_NO");
$objGrid -> FormatColumn("supplier", "Supplier", 40, 40, 0,"50", "left");
$objGrid -> FormatColumn("memo", "Memo", 100, 100, 0, "70", "left");
$objGrid -> setHeader();
?>
</head>
<body>
<?php
$objGrid -> grid();
$objGrid -> desconectar();
?>
<a href="javascriptG_resetSearch();">searchreset</a>
</body>
</html>
####################################################################
So sieht die MySQL-DB aus:
##############MySQL##################################################
--
-- Tabellenstruktur für Tabelle `employees`
--
CREATE TABLE `employees` (
`id` int(6) NOT NULL auto_increment,
`date1` date default NULL,
`date2` date default NULL,
`timing` varchar(3) character set utf8 collate utf8_unicode_ci default NULL,
`country` varchar(50) character set utf8 collate utf8_unicode_ci default NULL,
`company` varchar(100) character set utf8 collate utf8_unicode_ci default NULL,
`article` varchar(100) character set utf8 collate utf8_unicode_ci default NULL,
`lotnr` varchar(15) character set utf8 collate utf8_unicode_ci default NULL,
`amount` varchar(20) character set utf8 collate utf8_unicode_ci default NULL,
`ek` float default NULL,
`vk` float default NULL,
`margin` float default NULL,
`marginp` varchar(6) character set utf8 collate utf8_unicode_ci default NULL,
`zahl` varchar(5) character set utf8 collate utf8_unicode_ci default NULL,
`supplier` varchar(40) character set utf8 collate utf8_unicode_ci default NULL,
`memo` varchar(100) character set utf8 collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1315 ;
#####################################################################
Das "Progrämmle" umfasst noch eine phpmydatagrid.class.php, eine dgstyle.css, eine dgscript.js und images. Ich habe schon viel probiert, Einstellungen der MySQL-Tabelle geändert, in der index.php Änderungen vorgenommen, ohne Erfolg. Wenn ich bis auf supplier und memo alle Felder fülle, wird der Datensatz gespeichert. Sobald ich z.B. ein Datum auslasse, geht die Anwendung in Timeout.
Hoffentlich hat einer von Euch eine Idee, ich wäre sehr dankbar.
Vielen Dank im voraus.
Gruß Jens
Kommentar