devconproductions
Grünschnabel
Hallo,
ich habe hier ein dynamisches Formular zur Rechnungserstellung, das beliebig mittels PHP in der Anzahl der Felder erweitert werden kann. Ich habe zum einen ein feld menge und die Leistung und darunter dann positionen, z.B. Autoreparatur ist die Leistung und die Unterpositionen sind "Austausch Stoßdämpfer" und "Scheinwerfer", die Unterpositionen werden dann übermittelt wenn man auch die Checkboxen davor aktiviert hat, dies wird durch ein Javascript hochgezählt und dadurch errechnen sich die Schleifendurchläufr für die Datenbankanfrage. Mein Problem ist das die Hauptpositionen übertragen werden die Unterpositionen aber nicht. Ich kann nicht erkennen wieso, hat hier jemand einen Tip oder sieht sofort den Fehler. Hier der Quellcode(Die Klasse beeinhaltet nur die DB Anbindung)
ich habe hier ein dynamisches Formular zur Rechnungserstellung, das beliebig mittels PHP in der Anzahl der Felder erweitert werden kann. Ich habe zum einen ein feld menge und die Leistung und darunter dann positionen, z.B. Autoreparatur ist die Leistung und die Unterpositionen sind "Austausch Stoßdämpfer" und "Scheinwerfer", die Unterpositionen werden dann übermittelt wenn man auch die Checkboxen davor aktiviert hat, dies wird durch ein Javascript hochgezählt und dadurch errechnen sich die Schleifendurchläufr für die Datenbankanfrage. Mein Problem ist das die Hauptpositionen übertragen werden die Unterpositionen aber nicht. Ich kann nicht erkennen wieso, hat hier jemand einen Tip oder sieht sofort den Fehler. Hier der Quellcode(Die Klasse beeinhaltet nur die DB Anbindung)
Code:
<?
require("../../class/milleguv.class.php");
$selectrnr=$Connection->query("SELECT * FROM payout"); if (mysql_num_rows($selectrnr)==0) $rnr=110; //Wenn DB leer dann Generierung Rechnungsnummer
if (mysql_num_rows($selectrnr)!==0) while($row = mysql_fetch_object($selectrnr)){$rnr=$row->rnr+1;} //Wenn RNR vorhanden dann hochzählen
if (isset($submit))
{
// if($kdb=='') echo "Es muss einen Rechnungsempfänger geben";
$select=$Connection->query("INSERT INTO payout(kdb,rnr,rday,rmonth,ryear,netto7,netto16,mwst7,mwst16,paypercent,summe,paytarget,status)
VALUES('$kdb','$rnr','$r_day','$r_month','$r_year','$netto7','$netto16','$mwst7','$mwst16','$paypercent','$summe','$paytarget','$status')");
for ($x=0;$x<$posfor;$x++)
{
$selectpos=$Connection->query("INSERT INTO positions(menge,leistung,preis,gesamt,rnr)
VALUES('$menge','".$_POST["leistung$x"]."','$preis','$gesamtpreis','$rnr')");
}
for ($i=0;$i<$cposfor;$i++)
{
$selectchildpos=$Connection->query("INSERT INTO childpositions(crelpositions,cposten,cleistung) VALUES('".$_POST["leistung$i"]."','".$_POST["cposten$i"]."','".$_POST["cleistung$i"]."')");
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript">
<!--
function addpos()
{
var ausgabe=0;
for (i=0;i<5;i++)
{
if (document.payform.positions[i].checked)
{
ausgabe += parseFloat(document.payform.positions[i].value);
}
}
document.payform.posfor.value=ausgabe;
}
function addcpos()
{
var causgabe=0;
var i=0;
for (i=0;i<25;i++)
{
if (document.payform.cpositions[i].checked)
{
causgabe += parseFloat(document.payform.cpositions[i].value);
}
}
document.payform.cposfor.value=causgabe;
}
//-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
<title>Unbenanntes Dokument</title>
<link href="../../config/css/css.css" rel="stylesheet" type="text/css" >
</head>
<body >
<form id="payform" name="payform" method="post" action="http://milleguv.millepondo.de/site/guv/testdynform.php">
<? for ($z=0;$z<5;$z++) { ?>
<table width="950" style="display:block">
<tr>
<td colspan="5" bgcolor="#3E414F"> </td>
</tr>
<tr>
<td width="27"> </td>
<td width="125">Menge</td>
<td width="400">Leistung</td>
<td width="98">Preis/Stück</td>
<td width="276">Gesamtpreis</td>
</tr>
<tr>
<td><input name="positions" type="checkbox" id="positions" value="1" onclick="addpos()"></td>
<td><input name="menge<? echo $z ?>" type="text" value="2" size="10" /></td>
<td><input name="leistung<? echo $z ?>" type="text" id="leistung" value="Webhosting" size="60" ></td>
<td><input type="text" name="preis<? echo $z ?>" onblur="addiere(document.payform.menge<? echo $z; ?>.value,document.payform.preis<? echo $z; ?>.value)"></td>
<td><input type="text" name="gesamtpreis<? echo $z ?>" ></td>
</tr>
<? for ($i=0;$i<5;$i++) { ?>
<tr>
<td><input name="cpositions" type="checkbox" id="cpositions" value="1" onclick="addcpos()" ></td>
<td><input name="cposten<? echo $i ?>" type="text" id="cposten" ></td>
<td><input name="cleistung<? echo $i ?>" type="text" id="cleistung" size="100"></td>
<td> </td>
<td> </td>
</tr>
<? } ?>
<? } ?>
</table>
<p> </p>
<p>
<input name="posfor" type="text" id="posfor" > <!-- Liefert den Werte für die Abbruchbedingung der Schleife für Positions-->
<input name="cposfor" type="text" id="cposfor" > <!-- Liefert den Werte für die Abbruchbedingung der Schleife für Child Positions-->
</p>
<input type="submit" value="Rechnung speichern und drucken" name="submit">
</form>
</body>
</html>