我试图通过PHP代码更新记录。但我的代码有问题

时间:2014-06-16 10:40:30

标签: javascript php html mysql

我正在尝试通过php代码更新记录。但我的代码有问题。

代码在不使用函数的情况下运行(get40(),show())但我想使用按钮来调用这些函数。 代码如下:

这是主要代码文件:

    <?php
$data;

    $count=0;
    $host='localhost';
    $uname='root';
    $pass="";
    $dbname="testing";
    $db=new mysqli($host,$uname,$pass,$dbname);
    $result;
    $query;


    if (mysqli_connect_errno()) {
    echo 'Error: Could not connect to database. Please try again later.';
    exit;
    }

    function get40($off='0', $rcd='2')
    {
        global $db,$result,$query;
        $query="SELECT sword, tword, reviewed from TempDictionary LIMIT $off,$rcd";
        $result = $db->query($query)or trigger_error($db->error);
    }

    function show()
    {
        global $db,$result,$query;
        echo "<form action='testSave.php' method='POST'>";
        echo "<table border=1 >";
        while($row = mysqli_fetch_array($result)) 
        {
            global $count;
            $count+=1;
            echo "<tr>";
            echo "<td><input type='text' name='s[]' value=" . $row['sword'] . "></td>";
            echo "<td><input type='text' name='t[]' value=" . $row['tword'] . "></td>";
            echo "<td><input type='text' name='r[]' size='1' value=" .$row['reviewed'] . "></td>";
            echo "</tr>";
        }
        echo "</table>";
        echo "<input type='text' name='no' size='2' value=" .$count. ">";
        echo "<input type='submit' value='Save'>";
        echo "</form>";
}
//get40(1,2);
//show();
mysqli_close($db);
?>
<script type="text/javascript"> 
function get()
{
 <?php 
    get40(0,3);
    show();
 ?>
 }
</script>

<form action="" method="POST">
<input type=button name=btnGet value=Get onclick="get()">
</form>

和savetest.php文件是:

    <?php

$no=$_POST['no'];
$i=0;
$s=$_POST['s']; 
$t=$_POST['t'];
$r=$_POST['r'];

    $host='localhost';
    $uname='root';
    $pass="";
    $dbname="testing";
    $db=new mysqli($host,$uname,$pass,$dbname);

    if (mysqli_connect_errno()) {
    echo 'Error: Could not connect to database. Please try again later.';
    exit;
    }

    // display
    foreach ($s as $key=>$value) 
    {
        print "$key = $value $t[$key] $r[$key]";
        echo '<br>';
    }

    // save to DB
    foreach ($s as $key=>$value) 
    {
    //  $query="UPDATE TempDictionary set sword=".$value.",tword=".$t[$key].",reviewed=".$r[$key]."
    //          WHERE sword=".$value;
        $query="UPDATE TempDictionary set sword='$value',tword='$t[$key]',reviewed='$r[$key]'
                WHERE sword='$value'";              

    $result = $db->query($query)or trigger_error($db->error);

    }

mysqli_close($db);  
?>

问题是当我点击按钮时它不起作用。

1 个答案:

答案 0 :(得分:1)

AFAIK您正尝试使用Javascript代码运行PHP代码。 使用Jquery / Ajax解决您的问题。你可以谷歌那样或者看看stackoverflow。

步骤1:了解点击按钮如何运行PHP Run php function inside jQuery click

第2步:了解如何使用数据库中的数据并使用它填充表单: ajax call to populate form fields from database query when select value changes

这是解决问题的第一步。 (对不起,没有复制/粘贴解决方案,只是指向正确的方向)