2017-08-31 81 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>"; 
}