Insertion avec Ajax et Php
Bonjour je travaille sur un site d’informations sport sujet de mémoire. Mais j’ai des difficultés avec mes traitements et j’aurais besoin d’aides.
J’ai 2 pages php dont une classe php nommée « Sports_Class.php » qui gére les insertions, modifications et suppressions de sport. Et une page php « Sports.php » qui liste les sports et permet d’ajouter un nouveau sport. Dans « Sports.php » j’ai une fenêtre modale qui gére les insersions. Mais chaque fois que je fais une nouvelle insertion rien ne se passe.
Merci de bien vouloir m’aider.
Sports_Class.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
| <?php
include_once 'connexionBD.php';
class Sports {
private $nomsSports;
private $codesSports;
private $ordresSports;
private $class;
private $activer;
private $bdd;
public function __construct($nomsSports, $codesSports, $ordresSports, $class, $activer) {
$nomsSports = $nomsSports;
$codesSports = $codesSports;
$ordresSports = $ordresSports;
$class = $class;
$activer = $activer;
$this->nomsSports = $nomsSports;
$this->codesSports = $codesSports;
$this->ordresSports = $ordresSports;
$this->class = $class;
$this->activer = $activer;
$this->bdd = bdd();
}
//---------------- Vérification avant Inscription --------------
public function verif() {
$req = $this->bdd->prepare('SELECT * FROM sports WHERE nomsSports=:nomsSports OR codesSports=:codesSports OR ordresSports=:ordresSports OR class=:class');
$req->execute(array('nomsSports' => $this->nomsSports, 'codesSports' => $this->codesSports, 'ordresSports' => $this->ordresSports, 'class' => $this->class));
$rep = $req->fetch();
if ($rep['nomsSports'] == $_POST['nomsSports']) {
$erreur = 'Nom du Sport déja utilisé !';
return $erreur;
} else if ($rep['codesSports'] == $_POST['codesSports']) {
$erreur = 'Code du Sport déja utilisé !';
return $erreur;
} else if ($rep['ordresSports'] == $_POST['ordresSports']) {
$erreur = 'Numero d\'Ordre du Sport déja utilisé !';
return $erreur;
} else if ($rep['class'] == $_POST['class']) {
$erreur = 'Classe CSS du Sport déja utilisé !';
return $erreur;
} else {
return 'ok';
}
}
//----------------- FONCTION AJOUTER UN NOUVEAU CLUB -----------------------------------------------------------------
public function ajouterSports() {
$req = $this->bdd->prepare('INSERT INTO sports (nomsSports, codesSports, ordresSports, class, activer VALUES(:nomsSports,:codesSports,:ordresSports,:class,:activer)');
$req->execute(array('nomsSports' => $this->nomsSports, 'codesSports' => $this->codesSports, 'ordresSports' => $this->ordresSports, 'class' => $this->class, 'activer' => $this->activer));
return 1;
}
} |
Sports.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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
| <?php
session_start();
include_once 'fonctions/connexionBD.php';
include_once 'fonctions/Sports_class.php';
$bdd = bdd();
if (isset($_POST['enregistrer'])) {
$sports = new Sports($_POST['nomsSports'], $_POST['codesSports'], $_POST['ordresSports'], $_POST['class'], $_POST['activer']);
$verif = $sports->verif();
if ($verif == 'ok') {
if ($sports->ajouterSports()) {
$success = ' Sport : "' . $_POST['nomsSports'] . '" ajouté avec succès ';
} else {
$erreur = 'Une erreur est survenue';
}
} else {
$erreur = $verif;
}
if (isset($_POST['ajax'])) {
if ($success) {
return $success;
} else {
return $erreur;
}
}
}
?>
<div class="">
<div>
<!-- Button trigger modal -->
<a href="#" class="btn btn-primary" data-toggle="modal" data-target="#modalAjouterSport" title="Ajouter">
Ajouter
</a>
</div>
<table class="table table-bordered table-responsive table-hover" >
<thead>
<tr>
<th>#</th>
<th>Sports</th>
<th>Codes</th>
<th>Ordres</th>
<th>Classes</th>
<th>Etats</th>
<th colspan="3">Actions</th>
</tr>
</thead>
<tbody>
<?php
$repListeSports = $bdd->query('SELECT * FROM sports order by ordresSports');
while ($donListeSports = $repListeSports->fetch()) {
?>
<tr>
<td id="idSports"><?php echo $donListeSports['idSports']; ?></td>
<td><?php echo $donListeSports['nomsSports']; ?></td>
<td><?php echo $donListeSports['codesSports']; ?></td>
<td><?php echo $donListeSports['ordresSports']; ?></td>
<td><?php echo $donListeSports['class']; ?></td>
<td><?php echo $donListeSports['activer']; ?></td>
</tr>
<?php
}
$repListeSports->closeCursor(); // Termine le traitement de la requête
?>
</tbody>
</table>
</div>
<!-- MODAL AJOUTER SPORT -->
<div class="modal fade" id="modalAjouterSport" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form class="form-horizontal" name="" action="Sports.php" method="POST">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button>
<h4 class="modal-title" id="myModalLabel">
Ajouter un nouveau Sport
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="form-group col-lg-12">
<div class="form-group">
<label for="nomsport" class="col-sm-3 control-label">Nom du Sport</label>
<div class="col-sm-9">
<input type="text" placeholder="Nom Sport" name="nomsSports" class="form-control" id="nomsport">
</div>
</div>
<div class="form-group">
<label for="codesport" class="col-sm-3 control-label">Code du Sport</label>
<div class="col-sm-9">
<input type="text" placeholder="Code Sport" name="codesSports" class="form-control" id="codesport">
</div>
</div>
<div class="form-group">
<label for="nomsport" class="col-sm-3 control-label">Numero Ordre</label>
<div class="col-sm-9">
<input type="text" placeholder="Ordre Sport" name="ordresSports" class="form-control" id="nomsport">
</div>
</div>
<div class="form-group">
<label for="codesport" class="col-sm-3 control-label">Classe CSS</label>
<div class="col-sm-9">
<input type="text" placeholder="Classe CSS" name="class" class="form-control" id="codesport">
</div>
</div>
<div class="form-group">
<label for="etat" class="col-sm-3 control-label">Etat</label>
<div class="col-sm-9">
<select class="form-control" name="activer" id="etat">
<option>Etat du Sport</option>
<option value="0">Desactiver</option>
<option value="1">Activer</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<?php
if (isset($success)) {
?>
<div class="alert alert-success"><i class="icon-ok icon-white"></i>
<?php echo $success; ?>
</div>
<?php
} else if (isset($erreur)) {
?>
<div class="alert alert-danger"><i class="icon-ok icon-white"></i>
<?php echo $erreur; ?>
</div>
<?php
}
?>
<div id="result"></div>
<button type="button" class="btn btn-primary" >
<img src="images/Icones/btnEnregistrer.png" />
Enregistrer</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Fermer</button>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
$(function () { $('#modalAjouterSport').modal('hide'); });
$(function () {
$('#modalAjouterSport').on('submit', function(e) {
e.preventDefault();
$.post($(this).attr( "action" ), $(this).serialize() + '&ajax=1').done(function (data) {
$('#result').html(data);
});
});
});
</script> |