Javascript 按钮上的执行请求

Javascript 按钮上的执行请求,javascript,Javascript,我有一个小问题的requete mysql我解释说,我想把一天的列“状态”通过一个复选框点击一个加号按钮,然后我点击按钮什么都没有发生。 我想知道我的代码是否正确 Requette.php <?php /* Database connection start */ $servername = "localhost"; $username = "root"; $password = "Mm101010"; $dbname = "smartphone"; $conn = mysqli_con

我有一个小问题的requete mysql我解释说,我想把一天的列“状态”通过一个复选框点击一个加号按钮,然后我点击按钮什么都没有发生。 我想知道我的代码是否正确 Requette.php

<?php
/* Database connection start */
$servername = "localhost";
$username = "root";
$password = "Mm101010";
$dbname = "smartphone";

$conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error());

/* Database connection end */


$data_ids = $_REQUEST['data_ids'];
$data_id_array = explode(",", $data_ids);
if(!empty($data_id_array)) {
    foreach($data_id_array as $Or_Affectation) {
        $sql = "UPDATE abonnements SET Statut = 'Non Affecté' ";
        $sql.=" WHERE Or_Affectation = '".$Or_Affectation."'";
        $query=mysqli_query($conn, $sql) or die("supr_Affect.php: Suprimer Affectation");
    }
}
?>

我认为您传递了有关所需ID的错误信息(您使用的是
ids.push($(this.val());
,如果复选框的值不包含所需的ID,您将无法获得任何信息)

编辑: 更改第行复选框的类别:

$nestedData[] = "<input type='checkbox' class='deleteRow' value='".$row['Or_Affectation']."'  /> N°".$i ;
$nestedData[]=“N°”$i;

$nestedData[]=“N°”$i;
当然可以

<?php
$servername = "localhost";
$username = "root";
$password = "Mm101010";
$dbname = "smartphone";

$conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error());

$requestData = $_REQUEST;


$columns = array( 
    0 => 'USER_ID', 
    1 => 'Nom',
    2 => 'Prenom',
    3 => 'Num_SIM', 
    4 => 'PIN_Terminal',
    5 => 'PIN_SIM', 
    6 => 'Num_IMEI',
    7 => 'Date_Debut', 
    8 => 'Date_Fin',
    9 => 'Vitre', 
   11 => 'Coque',
   12 => 'Support_Vehicule', 
   13 => 'Actif',
   14 => 'Statut'

);


$sql = "SELECT Or_Affectation ";
$sql.=" FROM vu_affect_empl";
$query=mysqli_query($conn, $sql) or die("Affectation.php: get employees");
$totalData = mysqli_num_rows($query);
$totalFiltered = $totalData;

$sql = "SELECT Or_Affectation, USER_ID, Nom, Prenom, Num_SIM, PIN_Terminal, PIN_SIM, Num_IMEI, Date_Debut, Date_Fin, Vitre, Coque, Support_Vehicule, Actif,  Statut ";
$sql.=" FROM vu_affect_empl WHERE 1=1";

if( !empty($requestData['search']['value']) ) {  
    $sql.=" AND ( USER_ID LIKE '".$requestData['search']['value']."%' ";    
    $sql.=" OR Num_SIM LIKE '".$requestData['search']['value']."%' ";

    $sql.=" OR Nom LIKE '".$requestData['search']['value']."%' )";
}
$query=mysqli_query($conn, $sql) or die("Affectation.php: get employees");
$totalFiltered = mysqli_num_rows($query);
$sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]."   ".$requestData['order'][0]['dir']."  LIMIT ".$requestData['start']." ,".$requestData['length']."   ";

$query=mysqli_query($conn, $sql) or die("Affectation.php: get employees");

$data = array();
$i=1+$requestData['start'];
while( $row=mysqli_fetch_array($query) ) {  
    $nestedData=array(); 

$nestedData[] = "<input type='checkbox' class='updateRow' value='".$row['Or_Affectation']."'  /> N°".$i ;
    $nestedData[] = $row["USER_ID"];
    $nestedData[] = $row["Nom"];
    $nestedData[] = $row["Prenom"];
    $nestedData[] = $row["Num_SIM"];
    $nestedData[] = $row["PIN_Terminal"];
    $nestedData[] = $row["PIN_SIM"];
    $nestedData[] = $row["Num_IMEI"];
    $nestedData[] = $row["Date_Debut"];
    $nestedData[] = $row["Date_Fin"];
    $nestedData[] = $row["Vitre"];
    $nestedData[] = $row["Coque"];
    $nestedData[] = $row["Support_Vehicule"];
    $nestedData[] = $row["Actif"];
    $nestedData[] = $row["Statut"];

    $data[] = $nestedData;
    $i++;
}



$json_data = array(
            "draw"            => intval( $requestData['draw'] ),
            "recordsTotal"    => intval( $totalData ),  
            "recordsFiltered" => intval( $totalFiltered ), 
            "data"            => $data   
            );

echo json_encode($json_data);  

?>

首先进行一些基本调试:检查控制台中的JavaScript错误,在devtools的网络选项卡中检查请求及其响应。。。你不能只是粘贴你的代码,然后问“检查我的代码是否正确”,你能把它删掉吗?有大量代码与问题无关,因此很难准确理解失败的原因很可能是您想要获取特定ID并将其填充到数组(ID)中。但是,据我所见,您正在向该数组传递combobox的值。。你应该添加一个数据id或类似的东西,然后在每个组合框上尝试传递该数据id值。你可以给我一个示例,它仍然不起作用。我想知道它是否来自于查询,您能告诉我们您在哪里建立表行的代码吗?或者至少是您填写复选框的部分?
$nestedData[] = "<input type='checkbox' class='deleteRow' value='".$row['Or_Affectation']."'  /> N°".$i ;
$nestedData[] = "<input type='checkbox' class='updateRow' value='".$row['Or_Affectation']."'  /> N°".$i ;
<?php
$servername = "localhost";
$username = "root";
$password = "Mm101010";
$dbname = "smartphone";

$conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error());

$requestData = $_REQUEST;


$columns = array( 
    0 => 'USER_ID', 
    1 => 'Nom',
    2 => 'Prenom',
    3 => 'Num_SIM', 
    4 => 'PIN_Terminal',
    5 => 'PIN_SIM', 
    6 => 'Num_IMEI',
    7 => 'Date_Debut', 
    8 => 'Date_Fin',
    9 => 'Vitre', 
   11 => 'Coque',
   12 => 'Support_Vehicule', 
   13 => 'Actif',
   14 => 'Statut'

);


$sql = "SELECT Or_Affectation ";
$sql.=" FROM vu_affect_empl";
$query=mysqli_query($conn, $sql) or die("Affectation.php: get employees");
$totalData = mysqli_num_rows($query);
$totalFiltered = $totalData;

$sql = "SELECT Or_Affectation, USER_ID, Nom, Prenom, Num_SIM, PIN_Terminal, PIN_SIM, Num_IMEI, Date_Debut, Date_Fin, Vitre, Coque, Support_Vehicule, Actif,  Statut ";
$sql.=" FROM vu_affect_empl WHERE 1=1";

if( !empty($requestData['search']['value']) ) {  
    $sql.=" AND ( USER_ID LIKE '".$requestData['search']['value']."%' ";    
    $sql.=" OR Num_SIM LIKE '".$requestData['search']['value']."%' ";

    $sql.=" OR Nom LIKE '".$requestData['search']['value']."%' )";
}
$query=mysqli_query($conn, $sql) or die("Affectation.php: get employees");
$totalFiltered = mysqli_num_rows($query);
$sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]."   ".$requestData['order'][0]['dir']."  LIMIT ".$requestData['start']." ,".$requestData['length']."   ";

$query=mysqli_query($conn, $sql) or die("Affectation.php: get employees");

$data = array();
$i=1+$requestData['start'];
while( $row=mysqli_fetch_array($query) ) {  
    $nestedData=array(); 

$nestedData[] = "<input type='checkbox' class='updateRow' value='".$row['Or_Affectation']."'  /> N°".$i ;
    $nestedData[] = $row["USER_ID"];
    $nestedData[] = $row["Nom"];
    $nestedData[] = $row["Prenom"];
    $nestedData[] = $row["Num_SIM"];
    $nestedData[] = $row["PIN_Terminal"];
    $nestedData[] = $row["PIN_SIM"];
    $nestedData[] = $row["Num_IMEI"];
    $nestedData[] = $row["Date_Debut"];
    $nestedData[] = $row["Date_Fin"];
    $nestedData[] = $row["Vitre"];
    $nestedData[] = $row["Coque"];
    $nestedData[] = $row["Support_Vehicule"];
    $nestedData[] = $row["Actif"];
    $nestedData[] = $row["Statut"];

    $data[] = $nestedData;
    $i++;
}



$json_data = array(
            "draw"            => intval( $requestData['draw'] ),
            "recordsTotal"    => intval( $totalData ),  
            "recordsFiltered" => intval( $totalFiltered ), 
            "data"            => $data   
            );

echo json_encode($json_data);  

?>