wireless-dj
Mitglied
Hallo,
Als PHP-Einsteiger kenne ich mich mit JavaScript leider so gar nicht aus.
Ich stehe nun aber vor einem Problem, wo ich wohl ohne das nicht weiter komme.
Ich möchte mit PHP eine Rechnung schreiben, und diese dann in einer MariaDB speichern.
Die Kundenverwaltung, sowie die Artikelverwaltung funktionieren bereits, nun geht
es an das Erstellen der Rechnung.
Die Rechnung selbst ist eine html-Tabelle mit 8 Spalten, in die für jede Position der
Rechnung 3 Zeilen eingefügt werden sollen - entweder durch Klick auf einen Button,
oder durch die Auswahl des Artikels aus einem DropDown selbst.
Die Tabelle selbst sieht momentan so aus:

Wenn man eine neue Rechnung erstellt, sieht man also erstmal nur die Spaltenüberschriften, sowie die Fußzeile mit der <datalist> -Auswahl.
Jetzt onclick() oder "onAuswahl" muss ja aber etliches passieren:
1. der Ausgewählte Artikel muss mit seinen einzelnen Feldern in den richtigen Feldern erscheinen.
2. die noch leeren Felder [Pos], [Menge] und Gesamt müssen sich automatisch mit Werten füllen
3. die DropDown-Artikelauswahl rutscht - bereit für den nächsten Artikel - an das Ende der Tabelle.
4. evtl. wird die Rechnung an dieser Stelle dann schon das erste Mal in einer temp-Datenbank abgelegt?!
5. in der Spalte Optionen finden sich Icons, die die Position wieder löschen können.
6. Die Pos.1 wurde erstellt.
Und das muss beliebig oft wiederholbar sein, wobei Pos. dann automatisch hoch zählt.
Der Code ( experimentell ) sieht mometan so aus:
Da die ganze fertige Rechnung quasi ein "Affenformular" wird, steckt sie also komplett in einer <form>...</form>,
und wird am Ende beim Speichern in der Datenbank gespeichert. Es soll dann noch ein PDF daraus werden,
aber da bin ich noch lange nicht.
Kann mir hier bei der dynamisch wachsenden Tabelle Jemand helfen?
Danke & Gruß,
Volker
Als PHP-Einsteiger kenne ich mich mit JavaScript leider so gar nicht aus.
Ich stehe nun aber vor einem Problem, wo ich wohl ohne das nicht weiter komme.
Ich möchte mit PHP eine Rechnung schreiben, und diese dann in einer MariaDB speichern.
Die Kundenverwaltung, sowie die Artikelverwaltung funktionieren bereits, nun geht
es an das Erstellen der Rechnung.
Die Rechnung selbst ist eine html-Tabelle mit 8 Spalten, in die für jede Position der
Rechnung 3 Zeilen eingefügt werden sollen - entweder durch Klick auf einen Button,
oder durch die Auswahl des Artikels aus einem DropDown selbst.
Die Tabelle selbst sieht momentan so aus:

Wenn man eine neue Rechnung erstellt, sieht man also erstmal nur die Spaltenüberschriften, sowie die Fußzeile mit der <datalist> -Auswahl.
Jetzt onclick() oder "onAuswahl" muss ja aber etliches passieren:
1. der Ausgewählte Artikel muss mit seinen einzelnen Feldern in den richtigen Feldern erscheinen.
2. die noch leeren Felder [Pos], [Menge] und Gesamt müssen sich automatisch mit Werten füllen
3. die DropDown-Artikelauswahl rutscht - bereit für den nächsten Artikel - an das Ende der Tabelle.
4. evtl. wird die Rechnung an dieser Stelle dann schon das erste Mal in einer temp-Datenbank abgelegt?!
5. in der Spalte Optionen finden sich Icons, die die Position wieder löschen können.
6. Die Pos.1 wurde erstellt.
Und das muss beliebig oft wiederholbar sein, wobei Pos. dann automatisch hoch zählt.
Der Code ( experimentell ) sieht mometan so aus:
Code:
<?
include "core/header.php";
$select = $db->query("SELECT `id`, `firma`, `lastname`, `firstname`, `street`, `street_no`, `plz`, `ort` FROM `kunden` ORDER by `firma`, `lastname` ");
$kunden = $select->fetchAll(PDO::FETCH_BOTH);
$select = $db->query("SELECT `id`, `name`, `kurz`, `kategorie`, `ean`, `einheit`, `preis_netto`, `lang` FROM `artikel` ");
$artikels = $select->fetchAll(PDO::FETCH_BOTH);
$i=0;
?>
<br><br>
<table width="1000" border="1">
<tr>
<td>Pos:</td>
<td>Menge:</td>
<td>Einheit:</td>
<td>Artikel:</td>
<td>MwSt:</td>
<td>Netto:</td>
<td>Gesamt:</td>
<td>Optionen:</td>
</tr>
<tbody>
<tr>
<td><input type="text" size="10" id="ArtikelId" name="id" value=""></td>
<td><input type="text" size="10" id="ArtikelMenge" name="menge" value=""></td>
<td><input type="text" size="10" id="ArtikelEinheit" name="id" value=""></td>
<td><input type="text" size="50" id="ArtikelName" name="name" value=""></td>
<td><input type="text" size="10" id="ArtikelMwSt" name="mwst" value="19"></td>
<td><input type="text" size="20" id="ArtikelNetto" name="netto" value=""></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="3"> </td>
<td><input type="text" size="50" id="ArtikelKurz" name="kurz" value=""></td>
<td colspan="3"> </td>
<td> </td>
</tr>
<tr>
<td colspan="3"> </td>
<td><textarea cols="48" rows="6" id="ArtikelLang" name="lang"></textarea></td>
<td colspan="3"> </td>
<td> </td>
</tr>
</tbody>
<tr>
<td colspan="8">
<form action="#">
Artikel wählen:
<input type="search" list="Artikel" style="width: 350px;">
<datalist id="Artikel">
<?
foreach($artikels as $artikel) {
echo '<option value='.$artikel['id'].'>'.$artikel['name'].'';
}
?>
</datalist>
<input type="button" id="erstellen" value="Eintragen" onclick="add TableRow($i)">
</form>
</td>
</tr>
</table>
Da die ganze fertige Rechnung quasi ein "Affenformular" wird, steckt sie also komplett in einer <form>...</form>,
und wird am Ende beim Speichern in der Datenbank gespeichert. Es soll dann noch ein PDF daraus werden,
aber da bin ich noch lange nicht.
Kann mir hier bei der dynamisch wachsenden Tabelle Jemand helfen?
Danke & Gruß,
Volker