burmy
Goto Top

2 Buttons INSERT und UPDATE in einer if - Anweisung

2 Buttons INSERT und UPDATE für eine if - Anweisung

Hallo

Ich habe 2 Buttons erstellt ( Insert und update, und möchte nun eine IF Anweisung schreiben, wenn Button1 gedrückt wird wird ein isert erfolgen und wenn Button2 gedrückt wird wird ein update erfolgen, ich weiß nun nicht wie ich das anstellen soll.

Bestimmt eine Gute Idee für die Superschlauen hier im Forum., ich dachte so an diese Idee:

if(isset($_POST['Button1']) or ($_POST['Button2']))  {  

    if(isset($_POST['Button1'])) // DATEN in DB updaten  {  
	if($ID) {
        		$mysql_query = "update T_INDEX set NAME='$NAME', TYP_ID='$TYP_ID'   
		                           where ID=$ID";  
		$rs = mysql_query($mysql_query) or die ("keine gültige DB Abfrage(INSERT)");  
					
echo "<span class=\"success\">Ihr Update wurde korrekt ausgeführt und zur Datenbank übertragen.  
</span>";  
echo "<br/><a href=\"index.php?id=1\" class=\"lnk\">zurueck zur Eingabe<a/>";  
       } 
}

if(isset($_POST['Button2'])) // DATEN in DB eintragen  {  
	$mysql_query = "insert into T_INDEX (ID, NAME, TYP_ID) values   
			('','$NAME','$TYP_ID', )";  
	$ID=mysql_insert_id();
	$rs = mysql_query($mysql_query) or die ("keine gültige DB Abfrage (INSERT)");  
					
echo "<span class=\"success\">Der neue Datensatz wurde korrekt zur Datenbank übertragen.  
</span>";  
echo "<br/><a href=\"index.php?id=1\" class=\"lnk\">zurueck zur Eingabe<a/>";  
	}
}


Die Anführungszeichen werden durch ein \ dargestellt

Ich weiß nicht genau aber das ist wohl der falsche Ansatz, oder ?

Freue mich auf eine Idee ?

Gruß Martin

Content-ID: 44108

Url: https://administrator.de/contentid/44108

Ausgedruckt am: 23.11.2024 um 04:11 Uhr

Dani
Dani 09.11.2006 um 19:22:46 Uhr
Goto Top
Hi,
also so müsste es gehen:
if(isset($_POST['Button1']) or ($_POST['Button2']))   
 {
   if(isset($_POST['Button1'])) // DATEN in DB updaten   
    {
     if($ID)
      {
        msql_query = "update T_INDEX set NAME='".$NAME."', TYP_ID='".$TYP_ID."' where ID=".$ID."";  
        rs = mysql_query($mysql_query) or die ("keine gültige DB Abfrage(INSERT)");  

	echo "<span class=\"success\">Ihr Update wurde korrekt ausgeführt und zur Datenbank übertragen.</span>";  
	echo "<br/><a href=\"index.php?id=1\" class=\"lnk\">zurueck zur Eingabe<a/>";  
      } 
    }
  else if(isset($_POST['Button2'])) // DATEN in DB eintragen  
    {
	$mysql_query = "insert into T_INDEX (ID, NAME, TYP_ID) values ('','".$NAME."','".$TYP_ID."','')";  
	$ID=mysql_insert_id();
	$rs = mysql_query($mysql_query) or die ("keine gültige DB Abfrage (INSERT)");  
					
	echo "<span class=\"success\">Der neue Datensatz wurde korrekt zur Datenbank übertragen.</span>";  
	echo "<br/><a href=\"index.php?id=1\" class=\"lnk\">zurueck zur Eingabe<a/>";  
    }
}


Gruß
Dani
burmy
burmy 09.11.2006 um 19:40:36 Uhr
Goto Top
Hallo


Vielen Dank für die Antwort, die Syntax in den einzelnen Abfragen ist richtig meinerseits, ich dachte da an die Reihenfolge der IF Anweisungen und der Klammern, ob das richtig ist und überhaupt funktioniert ?

if(isset... ) or (isset...) { if....

Kann ich überhaupt die if(isset) Anweisungen so hintereinander schreiben und dann innerhalb der If Anweisung beide if (Button1) und if (Button2) Afragen?

Das war meine Frage ?

Gruß Burmy
Dani
Dani 09.11.2006 um 21:07:35 Uhr
Goto Top
Hi,
klar geht das!! Wieso auch nicht. Es kann bei meinem Beispiel nur eins wahr sein!


Gruß
Dani
Guenni
Guenni 09.11.2006 um 23:22:38 Uhr
Goto Top
@burmy

Hi,

der Ansatz ist nicht direkt falsch, nur die Ausführung.

Verkürzt heißt das,

if(button1 oder button2)
if(button1)

ist unnötig, wenn das Form gesendet wurde, dann wurde ja Button1 oder Button2
angeklickt, von daher entfällt schonmal if(button1 oder button2)

Vorausgesetzt, die Buttons wurden folg. definiert...

<input type=submit name=cmd value=Insert>
<input type=submit name=cmd value=Update>

... kannst du abfragen...

if($_POST['cmd']=='Insert'){
Datensatz einfügen
}

if($_POST['cmd']=='Update'){
Datensatz ändern
}

Grüße
Günni