Mise à jour entrée BDD fonction UPDATE
Bonjour,
Je cherche à effectuer les fonctions suivantes;
- Nouvelle photo --> Création d'une entrée + copie de la photo dans le dossier
- Photo existante --> Mise à jour de title dans la BDD + Renommer la photo
- Supprimer l'entrée de la BDD + Supprimer la photo
1 et 3 fonctionnent bien.
PROBLEME: 2 n'effectue que le renommage du fichier photo. L'entrée dans la BDD n'est pas changé.
Voici mon code :
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
| if (isset($_POST['submit'])) {
$link = mysql_connect($hostname, $username, $password);
mysql_select_db($database, $link);
$titles = isset($_POST['title']) ? $_POST['title'] : array();
$delFlags = isset($_POST['delFlag']) ? $_POST['delFlag'] : array();
$imageNames = isset($_POST['imageName']) ? $_POST['imageName'] : array();
$order = 1;
for ($i = 0; $i < count($titles); $i++) {
// local variables
$title = addslashes($titles[$i]);
$delFlag = $delFlags[$i];
$imageName = $imageNames[$i];
$imageName = @explode(',', $imageName);
$status = $imageName[1];
$imageName = $imageName[0];
$imgid = substr($imageName, 0, strlen($imageName) - 4);
$imgid = substr($imgid, 6);
// check the status and do accordingly
if ($status == 'new' && $delFlag == '1') {
$query = "INSERT INTO images(`order`, `title`) VALUES ($order, '$title')";
mysql_query($query);
// nouvelle entrere bdd OK
$imgid = mysql_insert_id();
$new_image_name = $title .'.jpg';
// Copie l'image dans le dossier photos OK
copy('photos/temp/' . $imageName, 'photos/' . $new_image_name);
// Vire le fichier temporaire OK
unlink('photos/temp/' . $imageName);
// image suivante OK
$order++;
}
else if ($status == 'old' && $delFlag == '1') {
$new_image_name = $title .'.jpg';
//Mise à jour de title dans BDD PAS OK
$query = "UPDATE images SET `order` = '$order', `title` = '$new_image_name' WHERE `title` = '$imageName'";
mysql_query($query);
// renomme l'image dans le dossier photos OK
rename('photos/' . $imageName, 'photos/' . $new_image_name); |
Auriez vous une idée?
J'ai l'impression que le problème vient de :
Code:
1 2 3 4
| else if ($status == 'old' && $delFlag == '1') {
$new_image_name = $title .'.jpg';
$query = "UPDATE images SET `order` = '$order', `title` = '$new_image_name' WHERE `title` = '$imageName'";
mysql_query($query); |
Mais je ne parvient pas à trouver mon erreur.