使用javascript和php从ajax

时间:2016-12-17 23:14:03

标签: javascript php jquery mysql ajax

我是PHP和Javascript的初学者我使用了一个实时可编辑的表格,我正在尝试编辑它们,然后将它们保存到另一个页面中的mysql我喜欢这样,但我不知道如何检索编辑的位置在id的mysql中,有人可以帮忙!我的请求错了吗?它不会像在页面中的表一样在数据库中更改。我发送了这样的数据:

function postedit()
    {
        var _type = $('#typeid').val();
        var _pression = $('#pressionid').val();   
        var _code = $('input[name="code"]').val();
        var _designiation = $('input[name="designiation"]').val();
        var _diametre = $('input[name="diametre"]').val();
        var _epaisseur = $('input[name="epaisseur"]').val();
        var _prix = $('input[name="prix"]').val();
        var _etat = $('input[name="etat"]').val();

        $.post('update.php', {
            posttype: _type,
            postpression: _pression,
            postcode: _code,
            postdesigniation: _designiation,
            postdiametre: _diametre,
            postepaisseur: _epaisseur,
            postprix:_prix,
            postetat:_etat
        },
        function(data){
            $('tbody').append(data);
        });
    }

var _trEdit = null;

$(document).on('click', '.btn-edit',function(){
    _trEdit = $(this).closest('tr');
    var _code = $(_trEdit).find('td:eq(0)').text();
    var _designiation = $(_trEdit).find('td:eq(1)').text();
    var _diametre = $(_trEdit).find('td:eq(2)').text();
    var _epaisseur = $(_trEdit).find('td:eq(3)').text();
    var _prix = $(_trEdit).find('td:eq(4)').text();
    var _etat = $(_trEdit).find('td:eq(5)').text();

    $('input[name="code"]').val(_code);
    $('input[name="designiation"]').val(_designiation);
    $('input[name="diametre"]').val(_diametre);
    $('input[name="epaisseur"]').val(_epaisseur);
    $('input[name="prix"]').val(_prix);
    $('input[name="etat"]').val(_etat);
});

$('#btn-update').click(function(){
    if(_trEdit){
        var _code = $('input[name="code"]').val();
        var _designiation = $('input[name="designiation"]').val();
        var _diametre = $('input[name="diametre"]').val();
        var _epaisseur = $('input[name="epaisseur"]').val();
        var _prix = $('input[name="prix"]').val();
        var _etat = $('input[name="etat"]').val();

        $(_trEdit).find('td:eq(0)').text(_code);
        $(_trEdit).find('td:eq(1)').text(_designiation);
        $(_trEdit).find('td:eq(2)').text(_diametre);
        $(_trEdit).find('td:eq(3)').text(_epaisseur);
        $(_trEdit).find('td:eq(4)').text(_prix);
        $(_trEdit).find('td:eq(5)').text(_etat);

        alert("Ligne Modifier avec succée !");
        _trEdit = null;
    }
});

我在这样的文件update.php中的sql请求我认为如果我从数据库中获取id并从中搜索,它似乎很愚蠢,但我绝望了:

$type_utilisation = $_POST['posttype'];
$pression_tube = $_POST['postpression'];
$code_tube = $_POST['postcode'];
$designiation_tube = $_POST['postdesigniation'];
$diametre_tube = $_POST['postdiametre'];
$epaisseur_tube = $_POST['postepaisseur'];                       
$prix_tube = $_POST['postprix'];
$etat_tube = $_POST['postetat'];
$id_req = ("select id from $pression_tube where      typepehd='".$type_utilisation."' && code='".$code_tube."'");
$id_tube=$id_req;
echo"$id_tube";

if(isset($pression_tube)){
    if($pression_tube=="pn4"){
        if($type_utilisation=="pehdtelecom" && $pression_tube=="pn4" ){
            echo "verifier le type du Tube S.v.p";
        } else {
            $sql="UPDATE  pn4 SET    typepehd='".$type_utilisation."',code='".$code_tube."',designiation='".$designiation_tube."',diametre='".$diametre_tube."',epaisseur='".$epaisseur_tube."',prix='".$prix_tube."',etat='".$etat_tube."' where id='".$id_tube."'";      

            $result = mysqli_query($link, $sql);

            if($result){
            } else {
                echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

谢谢,我确实通过使用id来解决它,因为它的唯一

 $id_tube = $_POST['postid']; 

通过在隐藏类型中添加输入        并通过

使列不可见
 style="display;none";