2017-05-14 7 views
0

Ich möchte eine Validierungsnachricht nach dem Ausführen einer MySQL-Update-Abfrage in einer for-Schleife anzeigen. Ich habe den Quellcode geschrieben, aber die Bestätigungsmeldung wird nicht angezeigt. Ich weiß nicht, was los ist.PHP-Code funktioniert genau, aber Validierungsnachricht wird nicht angezeigt

Hier ist meine PHP-Code

<?php 
    // Update All rows start 
    for ($i=0; $i<$setTotalRows ; $i++) 
    { 
     $GetChecked = isset($_POST['txtChecked'.$i]); 
     $GetTransCode = $_POST['txttransCode'.$i]; 
     $GetTransType = $_POST['txttransSetType'.$i]; 
     $GetTransMethod = $_POST['txtPaymentMethod'.$i]; 
     $SetEncodedDate = date("Y-m-d H:i:s"); 
     if (empty($GetChecked)) { //Start Else 
      continue; 
     } else if (!empty($GetChecked) && $GetTransType == "ErrorType") { 
      continue; 
     } else { 
      if($GetTransType == "Debit") { //Check For Cashin Cashout Start 
       $SetTableName = "tblbank_cashin"; 
      } else { 
       $SetTableName = "tblbank_cashout"; 
      } //Check For Cashin Cashout End 

      //Method Start 
      switch ($GetTransMethod) { 
       case "1": 
        $SetPayMode = "Cash Deposit"; 
        break; 
       case "2": 
        $SetPayMode = "Online Transfer"; 
        break; 
       case "3": 
        $SetPayMode = "Cheque Transfer"; 
        break; 
       case "4": 
        $SetPayMode = "Cash Withdrawal"; 
        break; 
       case "5": 
        $SetPayMode = "Cheque Withdrawal"; 
        break; 
       default: 
        $SetPayMode = "Cash Deposit"; 
      } 
// Method End 

      $sql_update = "UPDATE ". $SetTableName. " SET "; 
      $sql_update .= "transRecon='1'"; 
      $sql_update .= ", transReconDate='$SetEncodedDate'"; 
      $sql_update .= ", transType='$SetPayMode'"; 
      $sql_update .= " WHERE transCode='$GetTransCode'"; 
      $result_reconcile = mysqli_query($conn,$sql_update); 
      if(!$result_reconcile){ 
       die("SQL Error: " . mysqli_error($conn)); 
      //echo $result_reconcile; 
      } 
     } //End Else 

    } //End For i loop 

    if(isset($result_reconcile)){ 
     $sucess = "<div class='alert alert-success'><strong><i class='fa fa-check' aria-hidden='true'></i> Perfect!</strong> payment(s) has been reconciled</div>"; 
     header('Refresh: 3;url=banks?P=All&E='.$view_bankid); 
    } else { 
     $error_display = "<div class='alert alert-warning'><strong>ERROR!</strong> An error occured. Please Try Again Here</div>"; 
    } 
//Update All rows End 
?> 
+0

Das ist nicht, wie Sie eine Umleitung mit 'Header machen()' –

+0

Und bitte lernen zu verwenden [vorbereiteten Anweisungen] (https://www.youtube.com/watch?v=nLinqtCfhKY). –

+0

Wo ist die Validierungsnachricht? –

Antwort

0

PHP-Header gesendet werden muss, bevor eine Ausgabe angezeigt wird, werden Sie auch nie $success angezeigt wird, wie Sie nur die Variable gesetzt, hallte es nie.

Wenn Sie in der Lage sind, Javascript zu verwenden, dann Echo Ihre $success in der PHP selbst, dann würde ich empfehlen, mit jQuery für die folgenden, echo'd out nach der php $success Nachricht.

<script>$(document).ready(function(){ 
    setTimeout(function(){ 
    window.location.replace("some webpage here"); 
    }, 3000); 
});</script> 
+0

Auf der Hauptseite, die ich bereits $ Erfolgsnachricht angezeigt und es funktioniert auf andere Formen, aber in diesem Code es wird nicht angezeigt – Rtra

+0

Es wird nicht angezeigt, weil Sie es nie echo, und wenn Sie, dann würde Ihre header() nicht funktionieren ... –

+0

OK Ich kommentiert header() Aussage, aber immer noch nicht angezeigt – Rtra

Verwandte Themen