PHP - 无法插入正确的时间格式


PHP - Can't insert into a correct time format

我正在尝试做一个调度程序,我想用Ajax插入我的数据库中的小时数。

如果我自己插入它(硬编码),一切都很好。但是当我需要使用我的数组时,看起来 json 正在更改它,我的第一个位置不再是正确的位置,如果我插入 11:00,它只会在我的数据库中放置 00:00:01。

这是我的JQuery/Ajax

<script type='text/javascript'>
        $("#btnExporter").click(function(){
        //It create an array of vals from my input (if i do an alert, it works )
            var listeElement= $("input[type='text'].inputTableau")
                     .map(function(){return $(this).val();}).get();
            $.ajax({                                                // préparation et appel AJAX
                url: "/ajax/Exporter.php",
                type: "POST",
                data: ({nomModele: $('#txtNomExporter').val(), arrayExportation: listeElement, departement : $('#listeDepartement').val()}),        //On envoie le contenu des inputs
                dataType: "json",
                async:false,
                success: 
                function(){                                     //  SUCCES: On avertie que la sauvegarde a fonctionne
                alert('Exportation réussi');                            
                },
                error: function(xhr, ajaxOptions, thrownError) {                        // ERREUR AJAX, affiche le status et l'erreur
                            alert(' Erreur : ' + xhr.status + ''n' + thrownError);
                }
            });
        }); 
    </script>

这是我的PHP

<?php
session_start();
include_once("../includes/errorFct.inc");
include_once("../includes/identFct.inc");
include_once("../includes/fctPhpAdm.php");
$ListeChamps = $_POST['arrayExportation'];
//Name of the schedule
$nomModele = $_POST['nomModele'];
//Departement id
$departementid = $_POST['departement'];
//The array that contains the hours
$ListeChamps = $_POST['arrayExportation'];
// Faire la connexion et en cas d'erreur en avertir l'utilisateur
    global $dbhost, $dbuser, $dbpass, $db;
    $dbc = mysql_connect($dbhost, $dbuser, $dbpass)
        or die('La base de donn�e semble down.');
    if ($db!='' and !@mysql_select_db($db))
        die('La base de donn�e est inaccessible.');   
   //This is working well   
   //$sql = mysql_query("INSERT INTO MODEL_HORAIRE(idDepartement, Nom, HeureDebutLundi) VALUES (3,'Allo', '11:00');");
   $sql = mysql_query("INSERT INTO MODEL_HORAIRE(idDepartement, Nom, HeureDebutLundi) VALUES ($departementid,'$nomModele', '$ListeChamps[0]');");
    $dbc->query($sql)
?>

非常感谢您的帮助!

编辑 :我忘了问我想要什么哈哈,我想知道是否有可能保持我的数组,以及我如何保持我的小时就像它们在我的输入中一样( 11:00 而不是 00:01 )。

再次感谢!

我找到了原因 3 小时后,我会为其他可能需要与我相同的东西的人提供我的解决方案。JSON 在 AJAX 中推送数组时存在一些问题。你只需要用 JSON.stringify() 推送数组并在 PHP 中分解它,这就是它现在的样子 ->

Jquery :

var listeElement= $("input[type='text'].inputTableau")
                     .map(function(){return $(this).val();}).get();
                var jsonText = JSON.stringify(listeElement);
             $.ajax({                                               // préparation et appel AJAX
                url: "/ajax/Inscrire.php",
                type: "POST",
                data: ({action : "set_Inscription", arrayExportation : jsonText, departement : $('#listeDepartement').val(), employe : $('#listeEmployes').val(), 
                dateHoraire : $('#jour').val(), projet : $('#listeProjet').val(), note : $('#txtNote').val()}),     
                dataType: "json",
                async:false,
                success: 
                function(data)
                {
                    alert(data);                                        //  SUCCES: On avertie que la sauvegarde a fonctionne                           
                },
                error: function(xhr, ajaxOptions, thrownError) {                        // ERREUR AJAX, affiche le status et l'erreur
                            alert(' Erreur : ' + xhr.status + ''n' + thrownError);
                }
            });

.PHP

$ListeChamps = $_POST['arrayExportation'];
    $ListeChamps = str_replace(''"',"",$ListeChamps);
    $ListeChamps = str_replace('[',"",$ListeChamps);
    $ListeChamps = str_replace(']',"",$ListeChamps);
    $ValeurTerminale =  explode(',', $ListeChamps);
    for($i=0;$i<count($ValeurTerminale);$i++)
    {
        $ValeurTerminale[i] = mysql_real_escape_string($ValeurTerminale[i]);
    }

现在我们有一个PHP数组!以前,它是一个字符串,所以我得到了字符串的第一个字符。这就是为什么它是

00:00:01而不是11:00:00。