2017-08-31 113 views
0

我有一個表單,我想在表單輸入標記中顯示invoice_id。發票ID是從一個PHP腳本計算出來的,然後再通過一個變量傳遞給java腳本來獲取輸入值與傳遞變量的值。但我不知道我在哪裏犯錯,我得到的價值是在PHP代碼中定義的其他條件,不知道爲什麼PHP代碼循環不會執行。另外我的桌子已經有2排。 PHP代碼是:PHP腳本中的循環未執行

<?php 
$conn = new mysqli("localhost","root","","tssolutions"); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sqlinvoice = "SELECT `invoiceid` FROM `transactiona` ORDER by `invoiceid` DESC LIMIT 1"; 
$resultinvoice = $conn->query($sqlinvoice); 
    echo "<br><br><br><br><br><br><br><br><br><br><br><br>"; 
if ($resultinvoice->num_rows != 0) { 
    // output data of each row 
    while($row = $resultinvoice->fetch_assoc()) { 
     echo $row['invoiceid']; 
    $row['invoiceid'] +=1; 
echo $row['invoiceid']; 

     echo "  <script>  var invoid = ".$row['invoiceid']."  </script>"; 
    } 
} 
else { 
echo "  <script>  var invoid = '1';  </script>"; 
} 
$conn->close(); 
?> 

HTML代碼:

<form action="./manipulate/invoice.php" method="post" accept-charset="UTF-8"> 
<div style="width:15%;float:left"> 
Invoice # 
<br> 
<input style="width:98%;margin-left:1%;margin:right:1%" type="text" placeholder="Invoice ID" id="lmn"> 
</div> 
</form> 
<script> 
    $(document).ready(function() { 
     $("#lmn").val(invoid); 
}); 
</script> 
+0

控制檯中是否有任何錯誤?如果你打開控制檯並鍵入'invoid',然後按回車,你會看到一個發票ID或未定義?你確定數據庫正在返回任何有效的值嗎?沒有更多信息,我們無法爲您解決這個問題,我們無法調試我們無法運行的代碼。 –

+0

從我可以告訴,它看起來像你的HTML表單發佈到PHP腳本,這意味着PHP代碼不會執行,直到您提交表單。如果你想在頁面加載時運行一些PHP,你需要以不同的方式組織你的代碼。 – macguru2000

+0

我剛剛檢查控制檯有一個錯誤「invoid沒有定義ReferenceError:invoid沒有定義在HTMLDocument 。」 –

回答

0

mysql_fetch_object()返回一個對象,而不是對象的陣列。所以我所要做的就是添加$ row = array();在此,感謝所有幫助我達成解決方案的人。

if ($resultinvoice->num_rows > 0) { 
    // output data of each row 
    $row = array(); 
    while($row = $resultinvoice->fetch_assoc()) { 
    $row['invoiceid'] +=1; 

     echo "  <script>  var invoid = ".$row['invoiceid']."  </script>"; 
    } 
} 
else { 
echo "  <script>  var invoid = '1';  </script>"; 
}