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/conf.php
.idea
/public/uploads
/tmp

View File

@ -1,17 +1,31 @@
<?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
include("db_connection.php");
// Connexion à la base de données
include '../../config/conf.php';
$bdd = new \PDO("mysql:host=$host;dbname=$database_name", $username, $password);
// get values
$produit_r = $_POST['produit_r'];
$vendeur_r = $_POST['vendeur_r'];
$cle_pub_r = $_POST['cle_pub_r'];
$prix_r = $_POST['prix_r'];
// Récupération des informations du formulaire
$params = array();
$params['name'] = $params['slug'] = $_POST['produit'];
$params['image'] = $_POST['image'];
$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
// check request
if(isset($_POST['id_r']) && isset($_POST['id_r']) != "")
include '../../config/conf.php';
if($_POST['id_r'] !== null)
{
// include Database connection file
include("db_connection.php");
// Connexion à la base de données
$bdd = new \PDO("mysql:host=$host;dbname=$database_name", $username, $password);
// get user id
$id_r = $_POST['id_r'];
// delete User
$query = "DELETE FROM recherches WHERE id = '$id_r'";
if (!$result = mysqli_query($db,$query)) {
exit(mysqli_connect_error());
$params['souhait_id'] = $_POST['id_r'];
$filename = $_POST['nom_image'];
$nom_antenne = $_POST['antenne_slug'];
// Suppression du bien/service
$requete = "DELETE FROM souhaits WHERE id = :souhait_id";
$stmt = $bdd->prepare($requete);
$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))
{
$params["id"] = $_POST['id_r'];
$name = $_POST['produit_r'];
$vendeur = $_POST['vendeur_r'];
$cle_pub = $_POST['cle_pub_r'];
$prix = $_POST['prix_r'];
$params["id"] = $_POST['id'];
$name = $_POST['produit'];
$quantite = $_POST['quantite'];
$prix = $_POST['prix'];
$image = $_POST['image'];
// Update table Souhaits
$requete = "UPDATE souhaits SET name = '$name', vendeur = '$vendeur', cle_pub = '$cle_pub', prix = $prix WHERE id = :id";
// Mise à jour de la table Souhaits
$requete = "UPDATE souhaits SET name = '$name', quantite = '$quantite', prix = $prix, image = '$image' WHERE id = :id";
$query = $bdd->prepare($requete);
$query->execute($params);
}

View File

@ -5,9 +5,8 @@ $filename = $_FILES['image']['name'] ?? $_FILES['add_image']['name'];
// Emplacement
$path = str_replace('\\', '/', dirname(realpath(__DIR__)));
//$location = $path.'/uploads/products/'.$filename;
$location = $path.'/uploads/products/';
//$location2 = '/uploads/products/'.$filename;
$source = $_POST['source'];
$location = $path.'/uploads/'.$source.'/';
// Extension du fichier
$file_extension = pathinfo($filename, PATHINFO_EXTENSION);
@ -24,7 +23,7 @@ if(in_array($file_extension,$image_ext)){
mkdir($directory, 0777, true);
}
$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
if(move_uploaded_file($_FILES['image']['tmp_name']
?? $_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() {
// get values
var produit_r = $("#produit_r").val();
var image_r = $("#image_r").val();
var vendeur_r = $("#vendeur_r").val();
var cle_pub_r = $("#cle_pub_r").val();
var prix_r = $("#prix_r").val();
function addRecord2(antenne_slug, antenne_id, nom_connecte, id_user) {
var produit = $("#produit").val();
var image = $("#hidden_image_name_r").val();
var nom_image = image.substring(image.lastIndexOf("/")+1);
var acheteur = $("#acheteur").val();
var cle_pub = $("#cle_pub").val();
var quantite = $("#quantite").val();
var prix = $("#prix").val();
// Add record
$.post("ajax/addRecord2.php", {
produit_r: produit_r,
image_r: image_r,
vendeur_r: vendeur_r,
cle_pub_r: cle_pub_r,
prix_r: prix_r
$.post("/ajax/addRecord2.php", {
produit: produit,
image: nom_image,
acheteur: acheteur,
cle_pub: cle_pub,
quantite: quantite,
prix: prix,
antenne_id: antenne_id,
id_user: id_user
}, function (data, status) {
// close the popup
$("#add_new_record_modal").modal("hide");
// read records again
readRecords2();
// On relit les enregistrements
readRecords2(antenne_slug, nom_connecte);
// clear fields from the popup
$("#produit_r").val("");
$("#image_r").val("");
$("#vendeur_r").val("");
$("#cle_pub_r").val("");
$("#prix_r").val("");
// On efface les champs du popup
$("#produit").val("");
$("#add_image").val("");
$("#acheteur").val("");
$("#cle_pub").val("");
$("#quantite").val("");
$("#prix").val("");
});
}
@ -101,17 +107,20 @@ function DeleteProduits(id, antenne_slug, nom_image) {
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 ?");
if (conf == true) {
$.post("/ajax/deleteRecherches.php", {
id_r: id
id_r: id,
antenne_slug: antenne_slug,
nom_image: nom_image
},
function (data, status) {
// reload Recherches by using readRecords2();
var nom_connecte = $("#nom_connecte").text();
// Rechargement Recherches avec readRecords2()
readRecords2(antenne_slug, nom_connecte);
}
);
@ -138,20 +147,23 @@ function GetProduitsDetails(id, antenne_slug, nom_image) {
// Ouverture de la fenêtre modale
$("#update_user_modal").modal("show");
}
function GetRecherchesDetails(id) {
function GetRecherchesDetails(id, antenne_slug, nom_image) {
// Champ caché de l'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", {
id_r: id
},
function (data, status) {
var produit = JSON.parse(data);
var rech = JSON.parse(data);
// Assignation des variables aux champs du formulaire
$("#update_produit_r").val(produit.produit);
$("#update_vendeur_r").val(produit.vendeur);
$("#update_cle_pub_r").val(produit.cle_pub);
$("#update_prix_r").val(produit.prix);
$("#update_produit").val(rech.name);
$("#preview").html('<img src="/uploads/recherches/'+antenne_slug+'/'+rech.image+'" />');
$("#update_acheteur").val(rech.username);
$("#update_quantite").val(rech.quantite);
$("#update_prix").val(rech.prix);
}
);
// Ouverture de la fenêtre modale
@ -162,7 +174,6 @@ function UpdateProduitsDetails(nom_connecte) {
var produit = $("#update_produit").val();
var image = $("#hidden_image_name").val();
var nom_image = image.substring(image.lastIndexOf("/")+1);
//alert('nom_image='+nom_image);
var quantite = $("#update_quantite").val();
var prix = $("#update_prix").val();
// Champs cachés
@ -183,24 +194,23 @@ function UpdateProduitsDetails(nom_connecte) {
}
);
}
function UpdateRecherchesDetails() {
// 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();
function UpdateRecherchesDetails(nom_connecte) {
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
$.post("/ajax/updateRecherchesDetails.php", {
id_r: id,
produit_r: produit,
image_r: image,
vendeur_r: vendeur,
cle_pub_r: cle_pub,
prix_r: prix
id: id,
produit: produit,
image: nom_image,
quantite: quantite,
prix: prix
},
function (data, status) {
// hide modal popup
@ -216,22 +226,26 @@ $(document).ready(function () {
var url = document.location.href;
var antenne_slug = url.split('/')[5];
var affichage_slug = url.split('/')[6];
var nom_connecte = $("#nom_connecte").text();
$("#hidden_antenne_slug").val(antenne_slug);
// READ records on page load
if (affichage_slug == 'produits') {
$("#hidden_antenne_slug").val(antenne_slug);
readRecords(antenne_slug, nom_connecte);
var source = 'products';
} else {
$("#hidden_antenne_slug_r").val(antenne_slug);
readRecords2(antenne_slug, nom_connecte);
var source = 'recherches';
}
$('#add_image').change(function(){
alert("ça passe le add change");
var fd_add = new FormData();
var files = $('#add_image')[0].files[0];
fd_add.append('add_image',files);
fd_add.append('nom_user',nom_connecte);
fd_add.append('nom_antenne',antenne_slug);
fd_add.append('source',source);
// requête AJAX pour copier la photo et l'afficher
$.ajax({
@ -246,7 +260,11 @@ $(document).ready(function () {
$('#add_preview').html('');
$('#add_preview').append("<img src='"+response+"' width='160' height='160' style='display: inline-block;'>");
// 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 {
alert('L\'image n\'a pu être uploadée');
}
@ -254,12 +272,14 @@ $(document).ready(function () {
});
});
$('#image').change(function(){
alert('ça passe le modif image');
var fd = new FormData();
var files = $('#image')[0].files[0];
//var source = 'recherches';
fd.append('image',files);
fd.append('nom_user',nom_connecte);
fd.append('nom_antenne',antenne_slug);
fd.append('source',source);
// requête AJAX pour copier la photo et l'afficher
$.ajax({
url: '/ajax/upload.php',
@ -273,7 +293,11 @@ $(document).ready(function () {
$('#preview').html('');
$('#preview').append("<img src='"+response+"' width='160' height='160' style='display: inline-block;'>");
// 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 {
alert('L\'image n\'a pu être uploadée');
}

View File

@ -203,7 +203,7 @@
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
<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>
@ -247,9 +247,9 @@
<div class="modal-footer">
<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>
<input type="hidden" id="hidden_user_id">
<input type="hidden" id="hidden_antenne_slug">
<input type="hidden" id="hidden_image_name">
<input type="hidden" id="hidden_user_id_r">
<input type="hidden" id="hidden_antenne_slug_r">
<input type="hidden" id="hidden_image_name_r">
</div>
</div>
</div>