2016-06-13 7 views
-1

Könnte mir jemand helfen mit einem solchen Problem (ich bin ganz neu in php, so kleine Hilfe erforderlich) ...PHP mehrere Eingabetasten mit gleichen TextArea-

Ich habe einen Textbereich, wo kann ich eingeben eine oder mehrere Projekt-Nr., und ich möchte zwei Tasten haben, die auf der Basis einer SQL-Abfrage funktionieren: die erste wird Ergebnisse auf einer Seite anzeigen, die zweite exportiert die Daten in Excel.

Der Teil, wo Daten direkt auf einer Webseite angezeigt werden, funktioniert bereits für mich. Aber wie kann ich das so machen, dass basierend auf der zweiten Eingabeknopf (Export nach Excel) wird es verschiedene Teile des Codes auslösen, aber die gleichen Werte aus dem Textbereich verwenden?

Momentan ist mein Problem, dass wenn ich die zweite Taste drücke, es auch einen Teil des Codes auslöst, wo ich Daten auf einer Webseite zeige, und das muss ich beim Export nach Excel ignorieren.

Derzeit Teil meiner HTML wie folgt aussieht:

<div> 
    <form action="main" method="post"> 
     <textarea name="project1" cols="30" rows="5" type="submit" placeholder="Enter Project Number('s)"/></textarea> 
     <input value=" Submit " type="submit"/> <!-- Shows on web page --> 
     <input name="excel" type="submit" value=" Export to Excel " /> <!-- Exports to Excel --> 
    </form> 
</div> 
+0

Verwendung isset() und einen Namen für beide Taste geben und überprüfen Bedingung Schaltfläche Namen. Ist es dir klar? –

+0

Textarea hat noch keinen typ noch einen einreichen –

Antwort

2

Wie Fred -ii hat bereits darauf hingewiesen, TextArea- keinen Typ hat, sollte es sein

<textarea name="project1" cols="30" rows="5" placeholder="Enter Project Number('s)"/></textarea> 

Methode 1
Wenn Sie mehr wollen als eine Taste in der Form einreichen, Sie ea geben ch von ihnen ein eindeutiger Name.
Sobald Sie sie eindeutig benannt haben, können Sie überprüfen, welcher Parameter eingestellt ist, um verschiedene Funktionen im Post to Script auszuführen.

PHP

<?php 
    if(isset($_POST['displayPage'])){ 
     echo $_POST['project1'] . "<br />\n"; 
    } 
    if(isset($_POST['excel'])) { 
     //put your excel export script here" 
    } 
?> 

HTML

<input name="displayPage" type="submit" value="Submit" /> 
<input name="excel" type="submit" value="Export to Excel" /> 


Methode 2
Alternativ können Sie das gleichen Namen verwenden für ALL die Tasten und führen Sie die Funktion basierend auf dem Wert des Knopfes.

PHP

<?php 
if(isset($_POST['submit']) && $_POST['submit']=="Submit"){ 
    echo $_POST['project1'] . "<br />\n"; 
} 
if(isset($_POST['submit']) && $_POST['submit']=="Export to Excel"){ 
    //put your excel export script here 
} 
?> 

HTML

<input type="submit" name="submit" value="Submit" /> 
<input type="submit" name="submit" value="Export to Excel" /> 
+0

Hi, danke, erste Methode klappt sehr gut! Nur zusätzliche Frage: Wie kann ich einen anderen Teil von PHP-Code auf der zweiten wenn? zum Beispiel, wenn ich auf die

action = "output.php" einstellen, gilt es für beide Tasten, aber wenn ich benutze include ('output.php'); im Teil von IF - es exportiert mich den ganzen Inhalt der Seite, mit meinem CSS und anderen Daten ... –

+0

Sie müssen uns Ihr PHP-Skript zeigen. Eigentlich wäre das eine ganz andere Frage, vielleicht wäre es besser, wenn Sie einen neuen Beitrag eröffnen. Mit 1) Ihrem PHP-Skript 2) Beispieldaten von Ihnen bekommen (machen Sie einen Screenshot oder etwas) 3) Ihr gewünschtes Ergebnis – SML

0

I Onclick-Ereignis auf der zweiten Taste statt type = "submit" verwenden würde.

<input name="excel" onclick="export()" value=" Export to Excel " /> <!-- Exports to Excel --> 

Und ein Javascript-Code mit diesem Code unten in Ihrem Körper-Tag hinzu:

<script> 
    function export(){ 
    //your code to export Excel or your call to php 
    } 
</script> 
Verwandte Themen