SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 24.02.2007, 20:39:33
thkmcs thkmcs ist offline
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)
Mit Zitat antworten
  #2  
Alt 24.02.2007, 21:11:27
lukgestach lukgestach ist offline
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
Mit Zitat antworten
  #3  
Alt 25.02.2007, 01:29:08
thkmcs thkmcs ist offline
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\">&nbsp;</td>";
echo " <td width=\"60\" valign=\"top\" height=\"19\"><b><u>Gesamt</u></b></td>";
echo " <td width=\"127\" valign=\"top\" height=\"19\">&nbsp;</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
Mit Zitat antworten
  #4  
Alt 25.02.2007, 09:46:29
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Neue Tabellenreihe erzeugen

man braucht einen button zum absenden des formulars. wie der definiert wird, steht hier:

http://de.selfhtml.org/html/formular...larbuttons.htm
Mit Zitat antworten
  #5  
Alt 25.02.2007, 11:22:53
lukgestach lukgestach ist offline
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
Mit Zitat antworten
  #6  
Alt 25.02.2007, 17:48:25
thkmcs thkmcs ist offline
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\">&nbsp;</td>";
echo " <td width=\"60\" valign=\"top\" height=\"19\"><b><u>Gesamt</u></b></td>";
echo " <td width=\"127\" valign=\"top\" height=\"19\">&nbsp;</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
Mit Zitat antworten
  #7  
Alt 25.02.2007, 17:56:42
thkmcs thkmcs ist offline
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
Mit Zitat antworten
  #8  
Alt 25.02.2007, 18:20:43
lukgestach lukgestach ist offline
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
Mit Zitat antworten
  #9  
Alt 26.02.2007, 00:19:44
thkmcs thkmcs ist offline
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
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Über neue private Nachricht informieren koerschgen2001 PHP für Fortgeschrittene und Experten 12 17.03.2006 00:33:08
aus php-seite neue outlook email erzeugen Candyman PHP für Fortgeschrittene und Experten 10 30.05.2005 11:08:55
SessionID "destroyen" und neue SessionID erzeugen mare26 PHP Grundlagen 5 08.12.2004 23:37:30
alle 2 bilder eine neue tabellenreihe RedPartisan PHP für Fortgeschrittene und Experten 4 21.11.2003 07:34:56
Neue / Keine neuen - Beiträge Morph PHP Entwicklung und Softwaredesign 3 18.11.2003 11:26:38


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:27:03 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt