Bonjour,

Je cherche à effectuer les fonctions suivantes;
  1. Nouvelle photo --> Création d'une entrée + copie de la photo dans le dossier
  2. Photo existante --> Mise à jour de title dans la BDD + Renommer la photo
  3. 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.