2017-05-29 121 views
0

我已经调用了来自SQL的数据,并通过编号 选择,然后我想使用“mysqli_fetch_array”行[1]中的数据做一些计算。缺少来自SQL的可变数据

但以某种方式在第14行$ row [1]无法获得计算的日期。

的index.php

<?php 
$con = mysqli_connect('localhost','root','','test2'); 
$query = mysqli_query($con,"SELECT * FROM count") or 
die(mysqli_error($con)); 


while($row = mysqli_fetch_array($query)) 
    echo "$row[id]. $row[quantity] <a href='edit.php?edit=$row[id]'>Draw 
Patrs<br />"; 
?> 

edit.php

<?php 

if(isset($_GET['edit'])) 
{ 
    $id = $_GET['edit']; 
    $con = mysqli_connect('localhost','root','','test2'); 
    $query = mysqli_query($con,"SELECT * FROM count WHERE id='$id'"); 
    $row = mysqli_fetch_array($query); 
} 

if(isset($_POST['drawquantity'])) 
{ 
    $drawquantity = $_POST['drawquantity']; 
    $newquantity = $row[1]-$drawquantity; 
    $id  = $_POST['id']; 
    $sql  = "UPDATE count SET quantity='$newquantity' WHERE id='$id'"; 
    $con = mysqli_connect('localhost','root','','test2'); 
    $res  = mysqli_query($con,$sql) 
           or die("Could not update".mysql_error()); 
    echo "<meta http-equiv='refresh' content='0;url=index.php'>"; 

} 

?> 
<form action="edit.php" method="POST"> 
How mant you will take away: <input type="text" name="drawquantity" value="" 
placeholder="<?php echo $row[1]; ?>"><br /> 

<input type="hidden" name="id" value="<?php echo $row[0]; ?>"> 
<input type="submit" value=" Update "/> 
</form> 
+0

最有可能当你提交'edit.php',该ID是不在那里,因此所选的行也不存在,我的猜测是你应该在你的表单中保留相同的url – Ghost

+0

你的代码容易受到SQL注射。请学习使用[预先准备的语句](https://www.youtube.com/watch?v=nLinqtCfhKY)。 –

回答

0
<?php 

if(isset($_GET['edit'])) 
{ 
    $id = $_GET['edit']; 
    $con = mysqli_connect('localhost','root','','test2'); 
    $query = mysqli_query($con,"SELECT * FROM count WHERE id='$id'"); 
    $row = mysqli_fetch_array($query); 
} 

if(isset($_POST['drawquantity'])) 
{ 
    $drawquantity = $_POST['drawquantity']; 
    $newquantity = $row[1]-$drawquantity; 
    $id  = $_POST['id']; 
    $sql  = "UPDATE count SET quantity='$newquantity' WHERE id='$id'"; 
    $con = mysqli_connect('localhost','root','','test2'); 
    $res  = mysqli_query($con,$sql) 
          or die("Could not update".mysql_error()); 
    echo "<meta http-equiv='refresh' content='0;url=index.php'>"; 

} 

?> 
<form action="edit.php?edit=<?=$_GET['edit']?>" method="POST"> 
How mant you will take away: <input type="text" name="drawquantity" value="" 
placeholder="<?php echo $row[1]; ?>"><br /> 

<input type="hidden" name="id" value="<?php echo $row[0]; ?>"> 
<input type="submit" value=" Update "/> 
</form> 

变化是行动

+0

谢谢Jinesh Suthar,你的代码正在工作,非常感谢你 – NDSAC

+0

也谢谢。点击向上箭头,使其指示其有用。 –