CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
24.02.2007, 20:39:33
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 5
|
|
Neue Tabellenreihe erzeugen
Hallo,
ich habe folgendes Problem, ich versuche ein Rechnungsformular zu erstellen.
In diesem Rechnungsformular gibt es Textfelder welche für Posten, Menge, Bezeichnung
ect. zustädnig sind.
Nun möchte ich, mittels eines Buttons, eine neue Zeile hinzufügen. Den Button
habe ich "Artikel hinzufügen" genannt, wenn dieser geklickt wird sollte
eben eine neue Reihe unter der bestehenden entstehen.
Wie kann ich dieses bewerkstelligen?
Dieser Codeausschnitt zeigt meine Reihe die ich eben immer nach einem Klick
anfügen möchte.
echo " <tr>";
echo " <td width=\"38\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"pos\" value=\"$pos[$i]\" size=\"4\"></td>";
echo " <td width=\"65\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"menge\" value=\"$menge[$i]\" size=\"8\"></td>";
echo " <td width=\"332\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"bezeichnung\" value=\"$bezeichnung[$i]\" size=\"46\"></td>";
echo " <td width=\"60\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"einzel\" value=\"$einzel[$i]\" size=\"7\"></td>";
echo " <td width=\"13\" valign=\"top\" height=\"27\">€</td>";
echo " <td width=\"60\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"gesamt\" value=\"$gesamt[$i]\" size=\"7\"></td>";
echo " <td width=\"127\" valign=\"top\" height=\"27\">€</td>";
echo " </tr>";
Besten Dank für Hilfestellungen..
MfG
Thomas König
Geändert von thkmcs (24.02.2007 um 20:39:52 Uhr)
|
24.02.2007, 21:11:27
|
Junior Member
|
|
Registriert seit: Feb 2007
Ort: Safnern, CH
Alter: 32
Beiträge: 255
|
|
AW: Neue Tabellenreihe erzeugen
Hallo
Das ist einfach zu bewerkstelligen.
Du gibst dem Button einen Namen. Dafür musst du den Button in ein Formular einbinden.
Im Programm überprüfst du nun, ob die $_POST Variabel von dem Button existiert.
Das sieht dann etwa so aus:
PHP-Code:
<form action="" method="post">
<input type="button" name="gesendet" value="Artikel hinzufügen">
</form>
...
<?php
if(isset($_POST["gesendet"]))//Da wird überprüft, ob der Button gedrückt wurde
{
echo " <tr>";//Wenn ja, dann wird die Zeile hinzugefügt
echo " <td width=\"38\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"pos\" value=\"$pos[$i]\" size=\"4\"></td>";
echo " <td width=\"65\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"menge\" value=\"$menge[$i]\" size=\"8\"></td>";
echo " <td width=\"332\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"bezeichnung\" value=\"$bezeichnung[$i]\" size=\"46\"></td>";
echo " <td width=\"60\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"einzel\" value=\"$einzel[$i]\" size=\"7\"></td>";
echo " <td width=\"13\" valign=\"top\" height=\"27\">€</td>";
echo " <td width=\"60\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"gesamt\" value=\"$gesamt[$i]\" size=\"7\"></td>";
echo " <td width=\"127\" valign=\"top\" height=\"27\">€</td>";
echo " </tr>";//das war die Zeile, die hinzugefügt wurde oder werden wird
}
...
?>
Gruss Lukas
|
25.02.2007, 01:29:08
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 5
|
|
AW: Neue Tabellenreihe erzeugen
Hallo Lukas,
erst einmal Danke für deine Antwort.
Das Prinzip, so denke ich, habe ich wohl verstanden aber es klappt irgendwie leider
nicht... oder ich habe noch einen Denkfehler ...
Kann aber auch daran liegen weil ich html innerhalb von PHP nutze.
Folgendes:
Ich habe mehrere Tabellen untereinander, 1 für den Header, der Contentbereich sollte
meine Artikel bzw. für die Posten sein, dann kämen später darunter die Berechnungen
mit MwSt und Gesamtpreis ect. und dann eben der Footer.
Hier mal der Auszug des Contenbereiches.. vielleicht entdeckst du, oder jemand anders, meinen Fehler, ich komme da leider nicht hinter:
echo " <table border=\"0\" width=\"741\" height=\"58\">";
echo " <tr>";
echo " <td width=\"38\" valign=\"top\" height=\"19\"><b><u>POS</u></b></td>";
echo " <td width=\"65\" valign=\"top\" height=\"19\"><b><u>Menge</u></b></td>";
echo " <td width=\"332\" valign=\"top\" height=\"19\"><b><u>Artikel / Bezeichnung</u></b></td>";
echo " <td width=\"60\" valign=\"top\" height=\"19\"><b><u>Einzel</u></b></td>";
echo " <td width=\"13\" valign=\"top\" height=\"19\"> </td>";
echo " <td width=\"60\" valign=\"top\" height=\"19\"><b><u>Gesamt</u></b></td>";
echo " <td width=\"127\" valign=\"top\" height=\"19\"> </td>";
echo " </tr>";
echo " <form action=\"\" method=\"POST\">";
echo " <td width=\"695\" valign=\"top\" height=\"27\" colspan=\"7\"><input type=\"button\" value=\"Artikel hinzufügen\" name=\"gesendet\"></td>";
echo " </form>";
if(isset($_POST["gesendet"]))
{
echo " <tr>";
echo " <td width=\"38\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"pos\" value=\"$pos[$i]\" size=\"4\"></td>";
echo " <td width=\"65\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"menge\" value=\"$menge[$i]\" size=\"8\"></td>";
echo " <td width=\"332\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"bezeichnung\" value=\"$bezeichnung[$i]\" size=\"46\"></td>";
echo " <td width=\"60\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"einzel\" value=\"$einzel[$i]\" size=\"7\"></td>";
echo " <td width=\"13\" valign=\"top\" height=\"27\">€</td>";
echo " <td width=\"60\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"gesamt\" value=\"$gesamt[$i]\" size=\"7\"></td>";
echo " <td width=\"127\" valign=\"top\" height=\"27\">€</td>";
echo " </tr>";
}
echo " </table>";
Ich wüßte mom. nicht wie ich das regulieren solle, da ich auf solch eine Sache noch nicht gestoßen bin ..
Nochmals besten Dank für die Hilfe.
MfG
Thomas König
|
25.02.2007, 11:22:53
|
Junior Member
|
|
Registriert seit: Feb 2007
Ort: Safnern, CH
Alter: 32
Beiträge: 255
|
|
AW: Neue Tabellenreihe erzeugen
Hallo Thomas,
Ich habe den Fehler gesehen:
Ich habe es dir falsch geschrieben.
Nimm anstatt den Button, den <imput type="submit">
das sieht dann folgendermassen aus: (ich schreibe nur die betroffene Zeile)
PHP-Code:
<input type="button" name="gesendet" value="Artikel hinzufügen"> //alte Zeil die du durch die folgene ersetzen musst:
<input type="submit" name="gesendet" value="Artikel hinzufügen"> //neue Zeile, die funktioniert
Ich habe es schnell ausprobiert und bei mir ist es gegangen.
Gruss Lukas
|
25.02.2007, 17:48:25
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 5
|
|
AW: Neue Tabellenreihe erzeugen
Danke für die Hilfen.
Ich habe alles probiert, hilft mir abernicht weiter.
Wie das mit den Submit ect. ist mir bekannt, habe ich in meinen anderen
formen auch am laufen, z.B. zum Speichern von Datensätzen.
Das Phänomen ist, wenn ich den SubmitButton klicke,"Artikel hinzufügen", wird
mir ja eine Postenreihe erstellt.. ist ja auch richtig so, aber wenn ich dann den
Button klicke, möchte ich das er eine 2. 3. 4. 5. Reihe darunter legt und das
klappt nicht. Ich gehe mal davon aus, das es daran liegt das die Seite
refresht wird oder so in der Art.
Ich habe das Formular folgendermaßen aufgebaut:
1. Eine Tabelle für den Header
2. Tabelle für den Mittelteil (Postenliste ect.)
3. Eine Tabelle für den Footer
Im Mitteilteil habe ich dann ein Formular, halt für die Posten, hier der CodeSnap:
echo "<table border=\"0\" align=\"center\" valign=\"top\" width=\"695\">";
echo " <tr>";
echo " <td width=\"38\" valign=\"top\" height=\"19\"><b><u>POS</u></b></td>";
echo " <td width=\"65\" valign=\"top\" height=\"19\"><b><u>Menge</u></b></td>";
echo " <td width=\"332\" valign=\"top\" height=\"19\"><b><u>Artikel / Bezeichnung</u></b></td>";
echo " <td width=\"60\" valign=\"top\" height=\"19\"><b><u>Einzel</u></b></td>";
echo " <td width=\"13\" valign=\"top\" height=\"19\"> </td>";
echo " <td width=\"60\" valign=\"top\" height=\"19\"><b><u>Gesamt</u></b></td>";
echo " <td width=\"127\" valign=\"top\" height=\"19\"> </td>";
echo " </tr>";
echo " <form action=\"\" method=\"POST\">";
echo " <td width=\"695\" valign=\"top\" height=\"27\" colspan=\"7\"><input type=\"submit\" value=\"Artikel hinzufügen\" name=\"gesendet\"></td>";
echo " </form>";
if(isset($_POST["gesendet"]))
{
echo " <tr>";
echo " <td width=\"38\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"pos\" value=\"$pos[$i]\" size=\"4\"></td>";
echo " <td width=\"65\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"menge\" value=\"$menge[$i]\" size=\"8\"></td>";
echo " <td width=\"332\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"bezeichnung\" value=\"$bezeichnung[$i]\" size=\"46\"></td>";
echo " <td width=\"60\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"einzel\" value=\"$einzel[$i]\" size=\"7\"></td>";
echo " <td width=\"13\" valign=\"top\" height=\"27\">€</td>";
echo " <td width=\"60\" valign=\"top\" height=\"27\"><input type=\"text\" name=\"gesamt\" value=\"$gesamt[$i]\" size=\"7\"></td>";
echo " <td width=\"127\" valign=\"top\" height=\"27\">€</td>";
echo " </tr>";
}
Der Abschnitt unter if(isset($_POST["gesendet"]))
soll sich immer wieder unter den vorhandenen Posten legen.
Beispiel:
POS Menge Beschreibung Einzel Gesamt
1 1 xxxxxxx 0,00 € 0,00 €
2 2 xxxxxxx 0,00 € 0,00 €
ect.
Und das klappt irgendwie bei mir nicht.. leider ;(
MfG
Thomas König
|
25.02.2007, 17:56:42
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 5
|
|
AW: Neue Tabellenreihe erzeugen
Hallo,
was mir noch aufgefallen ist, was wohl daran liegt das dass wohl immer
wieder Refresht wird, ist, dass meine Daten, oberhalb des Buttons,
also Rechnungsnr ect. auch wieder weg ist.. und das darf ja nicht sein.
Ich möchte ja ein Rechnungsformular entfwerfen wo man halt die
Rechnungsdaten eingibt, dann eben die einzelnen Artkikel hinzufügt
und später dann eben speichern und drucken kann.
MfG
Thomas König
|
25.02.2007, 18:20:43
|
Junior Member
|
|
Registriert seit: Feb 2007
Ort: Safnern, CH
Alter: 32
Beiträge: 255
|
|
AW: Neue Tabellenreihe erzeugen
Zum das realisieren musst du mit javascript oder ajax arbeiten. mit php aleine ist das nicht möglich (so viel ich weiss). Damit sich in einem PHP Programm etwas ändert, muss man es refreshen.
Gruss Lukas
|
26.02.2007, 00:19:44
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 5
|
|
AW: Neue Tabellenreihe erzeugen
Besten Dank für deine Hilfe.
Aja, ok, dann verstehe ich das, dass die Daten immer weg sind.
Ich werde das wohl mit einer temporären Tabelle lösen, heisst,
ich werde mir eine Artikeltabelle erstellen, dort die Artikel erst mal
alle aufnehmen und dann später auf das Endformular übertragen und
die TempTabelle löschen. Anders wüßte ich jetzt nicht wie ich das
Lösen sollte.
Noch mals besten Dank für die Unterschützung.
MfG
Thomas König
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:38:00 Uhr.
|