Recherches fonctionnent en ajout, modif et suppression

This commit is contained in:
nox 2019-11-03 20:33:51 +01:00
parent c11f038540
commit 873a353243
7 changed files with 131 additions and 88 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
config/config.php config/config.php
config/conf.php
.idea .idea
/public/uploads /public/uploads
/tmp /tmp

View File

@ -1,17 +1,31 @@
<?php <?php
if(isset($_POST['produit_r']) && isset($_POST['vendeur_r']) && isset($_POST['cle_pub_r'])) if(isset($_POST['produit']) && isset($_POST['acheteur']) && isset($_POST['quantite']) )
{ {
// include Database connection file // Connexion à la base de données
include("db_connection.php"); include '../../config/conf.php';
$bdd = new \PDO("mysql:host=$host;dbname=$database_name", $username, $password);
// get values // Récupération des informations du formulaire
$produit_r = $_POST['produit_r']; $params = array();
$vendeur_r = $_POST['vendeur_r']; $params['name'] = $params['slug'] = $_POST['produit'];
$cle_pub_r = $_POST['cle_pub_r']; $params['image'] = $_POST['image'];
$prix_r = $_POST['prix_r']; $params['user_id'] = $_POST['id_user'];
//$params['cle_pub'] = $_POST['cle_pub'];
$params['quantite'] = $_POST['quantite'];
$params['prix'] = $_POST['prix'];
//$params['created_at'] = date('d-m-Y');
$params['antenne_id'] = $_POST['antenne_id'];
$params['content'] = '';
$query = "INSERT INTO souhaits(produit, vendeur, cle_pub, prix) VALUES('$produit_r', '$vendeur_r', '$cle_pub_r', $prix_r)"; // Insertion dans la base
$fields = array_keys($params);
$values = join(', ', array_map(function ($field) {
return ':' . $field;
}, $fields));
$fields = join(', ', $fields);
$query = $bdd->prepare("INSERT INTO souhaits ($fields) VALUES ($values)");
$query->execute($params);
} }
?> ?>

View File

@ -1,17 +1,22 @@
<?php <?php
// check request include '../../config/conf.php';
if(isset($_POST['id_r']) && isset($_POST['id_r']) != "")
if($_POST['id_r'] !== null)
{ {
// include Database connection file // Connexion à la base de données
include("db_connection.php"); $bdd = new \PDO("mysql:host=$host;dbname=$database_name", $username, $password);
// get user id $params['souhait_id'] = $_POST['id_r'];
$id_r = $_POST['id_r']; $filename = $_POST['nom_image'];
$nom_antenne = $_POST['antenne_slug'];
// delete User // Suppression du bien/service
$query = "DELETE FROM recherches WHERE id = '$id_r'"; $requete = "DELETE FROM souhaits WHERE id = :souhait_id";
if (!$result = mysqli_query($db,$query)) { $stmt = $bdd->prepare($requete);
exit(mysqli_connect_error()); $stmt->execute($params);
// Suppression de la photo du produit si elle existe
$nom_fichier = '../uploads/recherches/'.$nom_antenne.'/'.$filename;
if (file_exists($nom_fichier)) {
unlink($nom_fichier);
} }
} }
?> ?>

View File

@ -6,14 +6,14 @@ $bdd = new \PDO("mysql:host=$host;dbname=$database_name", $username, $password);
if(isset($_POST)) if(isset($_POST))
{ {
$params["id"] = $_POST['id_r']; $params["id"] = $_POST['id'];
$name = $_POST['produit_r']; $name = $_POST['produit'];
$vendeur = $_POST['vendeur_r']; $quantite = $_POST['quantite'];
$cle_pub = $_POST['cle_pub_r']; $prix = $_POST['prix'];
$prix = $_POST['prix_r']; $image = $_POST['image'];
// Update table Souhaits // Mise à jour de la table Souhaits
$requete = "UPDATE souhaits SET name = '$name', vendeur = '$vendeur', cle_pub = '$cle_pub', prix = $prix WHERE id = :id"; $requete = "UPDATE souhaits SET name = '$name', quantite = '$quantite', prix = $prix, image = '$image' WHERE id = :id";
$query = $bdd->prepare($requete); $query = $bdd->prepare($requete);
$query->execute($params); $query->execute($params);
} }

View File

@ -5,9 +5,8 @@ $filename = $_FILES['image']['name'] ?? $_FILES['add_image']['name'];
// Emplacement // Emplacement
$path = str_replace('\\', '/', dirname(realpath(__DIR__))); $path = str_replace('\\', '/', dirname(realpath(__DIR__)));
//$location = $path.'/uploads/products/'.$filename; $source = $_POST['source'];
$location = $path.'/uploads/products/'; $location = $path.'/uploads/'.$source.'/';
//$location2 = '/uploads/products/'.$filename;
// Extension du fichier // Extension du fichier
$file_extension = pathinfo($filename, PATHINFO_EXTENSION); $file_extension = pathinfo($filename, PATHINFO_EXTENSION);
@ -24,7 +23,7 @@ if(in_array($file_extension,$image_ext)){
mkdir($directory, 0777, true); mkdir($directory, 0777, true);
} }
$nom_fichier = $nom_antenne.'-'.$nom_user.'-'.uniqid("",true).'.'.$file_extension; $nom_fichier = $nom_antenne.'-'.$nom_user.'-'.uniqid("",true).'.'.$file_extension;
$location2 = '/uploads/products/'.$nom_antenne.'/'.$nom_fichier; $location2 = '/uploads/'.$source.'/'.$nom_antenne.'/'.$nom_fichier;
// Upload du fichier // Upload du fichier
if(move_uploaded_file($_FILES['image']['tmp_name'] if(move_uploaded_file($_FILES['image']['tmp_name']
?? $_FILES['add_image']['tmp_name'],$directory.'/'.$nom_fichier)){ ?? $_FILES['add_image']['tmp_name'],$directory.'/'.$nom_fichier)){

View File

@ -36,33 +36,39 @@ function addRecord(antenne_slug, antenne_id, nom_connecte, id_user) {
} }
function addRecord2() { function addRecord2(antenne_slug, antenne_id, nom_connecte, id_user) {
// get values
var produit_r = $("#produit_r").val(); var produit = $("#produit").val();
var image_r = $("#image_r").val(); var image = $("#hidden_image_name_r").val();
var vendeur_r = $("#vendeur_r").val(); var nom_image = image.substring(image.lastIndexOf("/")+1);
var cle_pub_r = $("#cle_pub_r").val(); var acheteur = $("#acheteur").val();
var prix_r = $("#prix_r").val(); var cle_pub = $("#cle_pub").val();
var quantite = $("#quantite").val();
var prix = $("#prix").val();
// Add record // Add record
$.post("ajax/addRecord2.php", { $.post("/ajax/addRecord2.php", {
produit_r: produit_r, produit: produit,
image_r: image_r, image: nom_image,
vendeur_r: vendeur_r, acheteur: acheteur,
cle_pub_r: cle_pub_r, cle_pub: cle_pub,
prix_r: prix_r quantite: quantite,
prix: prix,
antenne_id: antenne_id,
id_user: id_user
}, function (data, status) { }, function (data, status) {
// close the popup // close the popup
$("#add_new_record_modal").modal("hide"); $("#add_new_record_modal").modal("hide");
// read records again // On relit les enregistrements
readRecords2(); readRecords2(antenne_slug, nom_connecte);
// clear fields from the popup // On efface les champs du popup
$("#produit_r").val(""); $("#produit").val("");
$("#image_r").val(""); $("#add_image").val("");
$("#vendeur_r").val(""); $("#acheteur").val("");
$("#cle_pub_r").val(""); $("#cle_pub").val("");
$("#prix_r").val(""); $("#quantite").val("");
$("#prix").val("");
}); });
} }
@ -101,17 +107,20 @@ function DeleteProduits(id, antenne_slug, nom_image) {
readRecords(antenne_slug, nom_connecte); readRecords(antenne_slug, nom_connecte);
} }
); );
} }
} }
function DeleteRecherches(id) { function DeleteRecherches(id, antenne_slug, nom_image) {
$("#hidden_antenne_slug_r").val(antenne_slug);
var conf = confirm("Etes-vous sûr(e) de vouloir supprimer ce bien ou service ?"); var conf = confirm("Etes-vous sûr(e) de vouloir supprimer ce bien ou service ?");
if (conf == true) { if (conf == true) {
$.post("/ajax/deleteRecherches.php", { $.post("/ajax/deleteRecherches.php", {
id_r: id id_r: id,
antenne_slug: antenne_slug,
nom_image: nom_image
}, },
function (data, status) { function (data, status) {
// reload Recherches by using readRecords2(); var nom_connecte = $("#nom_connecte").text();
// Rechargement Recherches avec readRecords2()
readRecords2(antenne_slug, nom_connecte); readRecords2(antenne_slug, nom_connecte);
} }
); );
@ -138,20 +147,23 @@ function GetProduitsDetails(id, antenne_slug, nom_image) {
// Ouverture de la fenêtre modale // Ouverture de la fenêtre modale
$("#update_user_modal").modal("show"); $("#update_user_modal").modal("show");
} }
function GetRecherchesDetails(id) { function GetRecherchesDetails(id, antenne_slug, nom_image) {
// Champ caché de l'id // Champ caché de l'id
$("#hidden_user_id_r").val(id); $("#hidden_user_id_r").val(id);
$("#hidden_antenne_slug_r").val(antenne_slug);
$("#hidden_image_name_r").val(nom_image);
$.post("/ajax/readRecherchesDetails.php", { $.post("/ajax/readRecherchesDetails.php", {
id_r: id id_r: id
}, },
function (data, status) { function (data, status) {
var produit = JSON.parse(data); var rech = JSON.parse(data);
// Assignation des variables aux champs du formulaire // Assignation des variables aux champs du formulaire
$("#update_produit_r").val(produit.produit); $("#update_produit").val(rech.name);
$("#update_vendeur_r").val(produit.vendeur); $("#preview").html('<img src="/uploads/recherches/'+antenne_slug+'/'+rech.image+'" />');
$("#update_cle_pub_r").val(produit.cle_pub); $("#update_acheteur").val(rech.username);
$("#update_prix_r").val(produit.prix); $("#update_quantite").val(rech.quantite);
$("#update_prix").val(rech.prix);
} }
); );
// Ouverture de la fenêtre modale // Ouverture de la fenêtre modale
@ -162,7 +174,6 @@ function UpdateProduitsDetails(nom_connecte) {
var produit = $("#update_produit").val(); var produit = $("#update_produit").val();
var image = $("#hidden_image_name").val(); var image = $("#hidden_image_name").val();
var nom_image = image.substring(image.lastIndexOf("/")+1); var nom_image = image.substring(image.lastIndexOf("/")+1);
//alert('nom_image='+nom_image);
var quantite = $("#update_quantite").val(); var quantite = $("#update_quantite").val();
var prix = $("#update_prix").val(); var prix = $("#update_prix").val();
// Champs cachés // Champs cachés
@ -183,24 +194,23 @@ function UpdateProduitsDetails(nom_connecte) {
} }
); );
} }
function UpdateRecherchesDetails() { function UpdateRecherchesDetails(nom_connecte) {
// get values
var produit = $("#update_produit_r").val();
var image = $("#update_image_r").val();
var vendeur = $("#update_vendeur_r").val();
var cle_pub = $("#update_cle_pub_r").val();
var prix = $("#update_prix_r").val();
// get hidden field value
var id = $("#hidden_user_id_r").val();
var produit = $("#update_produit").val();
var image = $("#hidden_image_name_r").val();
var nom_image = image.substring(image.lastIndexOf("/")+1);
var quantite = $("#update_quantite").val();
var prix = $("#update_prix").val();
// Récupération des valeurs des champs cachés
var id = $("#hidden_user_id_r").val();
var antenne_slug = $("#hidden_antenne_slug_r").val();
// Update the details by requesting to the server using ajax // Update the details by requesting to the server using ajax
$.post("/ajax/updateRecherchesDetails.php", { $.post("/ajax/updateRecherchesDetails.php", {
id_r: id, id: id,
produit_r: produit, produit: produit,
image_r: image, image: nom_image,
vendeur_r: vendeur, quantite: quantite,
cle_pub_r: cle_pub, prix: prix
prix_r: prix
}, },
function (data, status) { function (data, status) {
// hide modal popup // hide modal popup
@ -216,22 +226,26 @@ $(document).ready(function () {
var url = document.location.href; var url = document.location.href;
var antenne_slug = url.split('/')[5]; var antenne_slug = url.split('/')[5];
var affichage_slug = url.split('/')[6]; var affichage_slug = url.split('/')[6];
var nom_connecte = $("#nom_connecte").text(); var nom_connecte = $("#nom_connecte").text();
$("#hidden_antenne_slug").val(antenne_slug);
// READ records on page load // READ records on page load
if (affichage_slug == 'produits') { if (affichage_slug == 'produits') {
$("#hidden_antenne_slug").val(antenne_slug);
readRecords(antenne_slug, nom_connecte); readRecords(antenne_slug, nom_connecte);
var source = 'products';
} else { } else {
$("#hidden_antenne_slug_r").val(antenne_slug);
readRecords2(antenne_slug, nom_connecte); readRecords2(antenne_slug, nom_connecte);
var source = 'recherches';
} }
$('#add_image').change(function(){ $('#add_image').change(function(){
alert("ça passe le add change");
var fd_add = new FormData(); var fd_add = new FormData();
var files = $('#add_image')[0].files[0]; var files = $('#add_image')[0].files[0];
fd_add.append('add_image',files); fd_add.append('add_image',files);
fd_add.append('nom_user',nom_connecte); fd_add.append('nom_user',nom_connecte);
fd_add.append('nom_antenne',antenne_slug); fd_add.append('nom_antenne',antenne_slug);
fd_add.append('source',source);
// requête AJAX pour copier la photo et l'afficher // requête AJAX pour copier la photo et l'afficher
$.ajax({ $.ajax({
@ -246,7 +260,11 @@ $(document).ready(function () {
$('#add_preview').html(''); $('#add_preview').html('');
$('#add_preview').append("<img src='"+response+"' width='160' height='160' style='display: inline-block;'>"); $('#add_preview').append("<img src='"+response+"' width='160' height='160' style='display: inline-block;'>");
// get hidden field value // get hidden field value
$("#hidden_image_name").val(response); if (affichage_slug == 'produits') {
$("#hidden_image_name").val(response);
} else {
$("#hidden_image_name_r").val(response);
}
} else { } else {
alert('L\'image n\'a pu être uploadée'); alert('L\'image n\'a pu être uploadée');
} }
@ -254,12 +272,14 @@ $(document).ready(function () {
}); });
}); });
$('#image').change(function(){ $('#image').change(function(){
alert('ça passe le modif image');
var fd = new FormData(); var fd = new FormData();
var files = $('#image')[0].files[0]; var files = $('#image')[0].files[0];
//var source = 'recherches';
fd.append('image',files); fd.append('image',files);
fd.append('nom_user',nom_connecte); fd.append('nom_user',nom_connecte);
fd.append('nom_antenne',antenne_slug); fd.append('nom_antenne',antenne_slug);
fd.append('source',source);
// requête AJAX pour copier la photo et l'afficher // requête AJAX pour copier la photo et l'afficher
$.ajax({ $.ajax({
url: '/ajax/upload.php', url: '/ajax/upload.php',
@ -273,7 +293,11 @@ $(document).ready(function () {
$('#preview').html(''); $('#preview').html('');
$('#preview').append("<img src='"+response+"' width='160' height='160' style='display: inline-block;'>"); $('#preview').append("<img src='"+response+"' width='160' height='160' style='display: inline-block;'>");
// get hidden field value // get hidden field value
$("#hidden_image_name").val(response); if (affichage_slug == 'produits') {
$("#hidden_image_name").val(response);
} else {
$("#hidden_image_name_r").val(response);
}
} else { } else {
alert('L\'image n\'a pu être uploadée'); alert('L\'image n\'a pu être uploadée');
} }

View File

@ -203,7 +203,7 @@
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button> <button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
onclick="addRecord('{{ antenne_slug }}','{{ antenne_id }}','{{ current_user().username }}','{{ current_user().id }}')">Ajouter</button> onclick="addRecord2('{{ antenne_slug }}','{{ antenne_id }}','{{ current_user().username }}','{{ current_user().id }}')">Ajouter</button>
</div> </div>
</div> </div>
</div> </div>
@ -247,9 +247,9 @@
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button> <button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-primary" onclick="UpdateRecherchesDetails('{{ current_user().username }}')" >Sauvegarder</button> <button type="button" class="btn btn-primary" onclick="UpdateRecherchesDetails('{{ current_user().username }}')" >Sauvegarder</button>
<input type="hidden" id="hidden_user_id"> <input type="hidden" id="hidden_user_id_r">
<input type="hidden" id="hidden_antenne_slug"> <input type="hidden" id="hidden_antenne_slug_r">
<input type="hidden" id="hidden_image_name"> <input type="hidden" id="hidden_image_name_r">
</div> </div>
</div> </div>
</div> </div>