Я застрял, потому что не понимаю, что не так с моим запросом, может ли кто-нибудь изучить его?
Обычно я использую ajax для отправки моего массива на php, и затем используя php, чтобы отправить мои данные в мою таблицу, но он ничего не отправляет
Здесь мой javascript
// ENVOI DE LA GRILLE VERS LE SERVEUR
var col_tab = document.getElementById('grille').rows[0].cells;
var type_tab = document.getElementById('grille').rows[1].cells;
var nb_cols = document.getElementById('grille').rows[0].cells.length;
var titre_col=[];
var type_col;
var lignes_tab = document.getElementById('grille').rows;
var nb_lignes = document.getElementById('grille').rows.length;
var contenu_cell=[];
var nb_options;
var options;
for (var ind=1; ind<nb_cols; ind++)
{
titre_col[ind-1] = col_tab[ind].children[4].value;
type_col = type_tab[ind].children[0].type;
options = "";
if (type_col == "text")
{
for (var indlg=1; indlg<nb_lignes; indlg++)
{
contenu_cell[ind-1] = lignes_tab[indlg].cells[ind].children[0].value;
}
}
else if (type_col == "number")
{
for (var indlg=1; indlg<nb_lignes; indlg++)
{
contenu_cell[ind-1] = "Min=" + lignes_tab[indlg].cells[ind].children[0].attributes["min"].value + " Max=" + lignes_tab[indlg].cells[ind].children[0].attributes["max"].value;
}
}
else
{
for (var indlg=1; indlg<nb_lignes; indlg++)
{
nb_options = lignes_tab[indlg].cells[ind].children[0].children.length;
for (var indop = 0; indop<nb_options; indop++)
{
options += lignes_tab[indlg].cells[ind].children[0].children[indop].text + "|";
}
contenu_cell[ind-1] = options;
}
}
$.post('ajout.php',{titre_col:titre_col,contenu_cell:contenu_cell,ind:ind});
}
Здесь мой php
<?php
$connect = new PDO("mysql:host=localhost;dbname=innovatech", "root", "12345");
if(isset($_POST["titre_col"]))
{
$titre_col = $_POST['titre_col'];
$contenu_cell = $_POST['contenu_cell'];
$ind = $_POST['ind'];
sleep(5);
$query = "
INSERT INTO colonne_grille
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) VALUES
(:titre_col[0], :titre_col[1], :titre_col[2], :titre_col[3], :titre_col[4], :titre_col[5], :titre_col[6], :titre_col[7], :titre_col[8], :titre_col[9],)
";
$user_data = array(
':titre_col' => $_POST["titre_col"],
);
$statement = $connect->prepare($query);
$statement->execute($user_data);
$query = "
INSERT INTO ligne_grille
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, num_ligne) VALUES
(:contenu_cell[0], :contenu_cell[1], :contenu_cell[2], :contenu_cell[3], :contenu_cell[4], :contenu_cell[5], :contenu_cell[6], :contenu_cell[7], :contenu_cell[8], :contenu_cell[9], :ind)
";
$user_data = array(
':contenu_cell' => $_POST["contenu_cell"],
':ind' => $_POST["ind"],
);
$statement = $connect->prepare($query);
$statement->execute($user_data);
}
?>
Здесь изображение моих таблиц изображение таблиц
Здесь изображение примера того, что находится в моих массивах пример переменных
Как вы можете видеть в моем javascript, я создаю 2 массива (titre_col[]
и contenu_cell[]
). И затем я отправляю эти 2 массива в свой php с ajax ($.post('ajout.php',{titre_col:titre_col,contenu_cell:contenu_cell,ind:ind};
). И, наконец, я получаю эти массивы ($titre_col = $_POST['titre_col'];
$contenu_cell = $_POST['contenu_cell'];
) и отправляю их в свои таблицы
Может ли кто-нибудь помочь мне исправить эту проблему?
Спасибо, ребята, будьте осторожны! :)