Insertion SQL dynamique + SPAN success
Bonjour,
Mon code me permet d'insérer plusieurs lignes dans ma bdd. J'ai voulu compléter mon code par du JS/Jquery pour faire passer mes variables:
- m'évitant le rechargement de page.
- affichant un span de succès ou d'echec sur mon insertion.
J'ai bien suivi la doc, mais ça ne s'insert plus dans ma base et le span ne s'affiche pas. Ci-dessous mon code.
1.php est le formulaire
2.php est l'insertion SQL
script.JS est le passage de variable dynamiques.
1.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| <?php include 'connection.php' ; ?>
<HTML>
<HEAD>
<meta charset="utf-8">
<title>Poster en ajax</title>
<link rel="stylesheet" href="ajax.css">
<script src="jquery.min.js"></script>
<script src="script.js"></script>
<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
<SCRIPT language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name="chkbox[]";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
cell2.innerHTML = "<input type='text' name='devis_ref[]' class='devis_ref[]' />";
var cell3 = row.insertCell(2);
cell3.innerHTML = "<input type='text' name='devis_contact[]' class='devis_contact[]' />";
//cell2.innerHTML = "<select name='item[]' id='facture_fournisseur' type='text' class='form-control'>< $list = $bdd->query('SELECT * FROM fournisseur');while ($data = $list->fetch()) { ?><option value='< echo $data['fournisseur_nom']; ?>'> < echo $data['fournisseur_nom']; ?></option>< } $list->closeCursor(); ?></select>";
var cell4 = row.insertCell(3);
cell4.innerHTML = "<input type='text' name='devis_refarticle[]' class='devis_refarticle[]' />";
var cell5 = row.insertCell(4);
cell5.innerHTML = "<input type='text' name='devis_designationarticle[]' class='devis_designationarticle[]' />";
var cell6 = row.insertCell(5);
cell6.innerHTML = "<input type='text' name='devis_pu[]' class='devis_pu[]' />";
var cell7 = row.insertCell(6);
cell7.innerHTML = "<input type='text' name='devis_unite[]' class='devis_unite[]' />";
var cell8 = row.insertCell(7);
cell8.innerHTML = "<input type='text' name='devis_quantite[]' class='devis_quantite[]' />";
var cell9 = row.insertCell(8);
cell9.innerHTML = "<input type='text' name='devis_prixnetunite[]' name='devis_prixnetunite[]' />";
}
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
</SCRIPT>
</HEAD>
<BODY>
<div class="msg"></div>
<form action="" method="post" name="f">
<INPUT type="button" class="btn btn-success" value="Ajouter un autre produit" onClick="addRow('dataTable')" />
<INPUT type="button" class="btn btn-danger" value="Supprimer le produit" onClick="deleteRow('dataTable')" />
<table class="table table-bordered table-striped table-condensed" width="1000" border="1">
<thead>
<tr>
<th width="40"></th>
<th width="40">ID</th>
<th width="40">Contact</th>
<th width="40">Référence Article</th>
<th width="40">Désignation Article</th>
<th width="40">Prix unitaire</th>
<th width="40">Unité</th>
<th width="40">Quantité</th>
<th width="40">Prix Net Unitaire</th>
</tr>
</thead>
<tbody id="dataTable">
</tbody>
</TABLE>
<INPUT type="submit" value="Insert" name="submit" />
</form>
</BODY> |
script.js
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
$(document).ready(function(){
$('.submit').click(function(){
$.post('2.php', {
devis_ref: $('devis_ref').val(),
devis_contact: $('devis_contact').val(),
devis_refarticle: $('devis_refarticle').val(),
devis_designationarticle: $('devis_designationarticle').val(),
devis_pu: $('devis_pu').val(),
devis_unite: $('devis_unite').val(),
devis_quantite: $('devis_quantite').val(),
devis_prixnetunite: $('devis_prixnetunite').val()
}, (resultDuScriptPHP) => {
if (resultDuScriptPHP === 'ok') {
$('.msg').append('<span>Vos données ont été envoyées</span>');
} else if (resultDuScriptPHP === 'formNotComplete') {
$('.msg').append('<span>Veuillez complétez tous les champs</span>');
}
}); |
2.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <?php try { $bdd = new PDO('mysql:host=localhost;dbname=contact', 'root', '', array (PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));}
catch (Exception $e) {
die('Erreur : ' . $e->getMessage()) ; }
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_POST['submit']))
{
foreach ($_POST['devis_ref'] as $key => $value)
{
$devis_ref = $_POST["devis_ref"][$key];
$devis_contact = $_POST["devis_contact"][$key];
$devis_refarticle = $_POST["devis_refarticle"][$key];
$devis_designationarticle = $_POST["devis_designationarticle"][$key];
$devis_pu = $_POST["devis_pu"][$key];
$devis_unite = $_POST["devis_unite"][$key];
$devis_quantite = $_POST["devis_quantite"][$key];
$devis_prixnetunite = $_POST["devis_prixnetunite"][$key];
$req = $bdd->prepare("INSERT INTO devis(devis_ref, devis_contact, devis_refarticle, devis_designationarticle, devis_pu, devis_unite, devis_quantite, devis_prixnetunite) VALUES(?,?,?,?,?,?,?,?)");
$req->execute(array($devis_ref,$devis_contact,$devis_refarticle,$devis_designationarticle,$devis_pu,$devis_unite,$devis_quantite,$devis_prixnetunite));
}
resultDuScriptPHP === 'ok';
}
else {
resultDuScriptPHP === 'formNotComplete';
}
?> |
merci!