[RESOLU] Variable dans requete SQL

Eléphanteau du PHP | 14 Messages

12 nov. 2010, 18:27

Hello,

Je commence par le début. Je crée un tableau en HTML dans lequel je met le résultat de ma requéte, chaque ligne du tableau comporte une case à cocher permetant la suppression d'une ligne de la table. Voici le code :
$r_account_inventory_items = mysql_query("SELECT * from `account_inventory_items` ORDER BY id_item ASC");
while ($val_account_inventory_items = mysql_fetch_assoc($r_account_inventory_items)){
		echo '
			<tr>
				<td>
					<input type="checkbox" name="checkB[]" value=" '.$val_account_inventory_items['id_item'].' "> 
				</td>
				<td>
					<p>'.date("d\/m\/Y", $val_account_inventory_items['date_buy']).'</p>
				</td>
				<td>
					<p>'.$val_account_inventory_items['quantity'].'</p>
				</td>
				<td>
					<p>'.$val_account_inventory_items['id_mark'].'</p>
				</td>
				<td>
					<p>'.$val_account_inventory_items['id_category'].'</p>
				</td>
				<td>
					<p>'.$val_account_inventory_items['name_item'].'</p>
				</td>


			</tr>';
	}
Jusque la pas de souci mon tableau s'affiche avec ses données et les cases à cocher.
Ensuite lorsque je clique sur le submit ca éxecute le code ci dessous :
$modif=$_POST["checkB"];

for ($i=0; $i <count($modif); $i++)
{
	mysql_query ('DELETE from account_inventory_items WHERE id_item = \' "$modif[$i]" \' ') or die('Pas bon');
	echo "$modif[$i]";
}
Par le post je récupère le tableau de la chekbox puis via mon for je le parcour et apparait l' ID pour les lignes dont la case est cochée (jusque la pas de souci)
Maintenant je voudrais récupérer cette ID pour pouvoir supprimer une ligne dans ma table grace a mon mysql_query. Le souci est que si je met disons id_item = 145 pas de souci ça fonctionne par contre si je met id_item = \' "$modif[$i]" \' il ne m'affiche pas d'erreur mais aucune ligne de la table n'est supprimée!

Quelqu'un aurait il une solution?? Vu qu'il accepte id_item = 145 il s'agirait d'une erreur de syntaxe ou ??

J'espére avoir été clair

Merci :)

ViPHP
ViPHP | 5462 Messages

12 nov. 2010, 18:30

oui t'as oublié les . dans ta requete
mysql_query ('DELETE from account_inventory_items WHERE id_item = \' "$modif[$i]" \' ') or die('Pas bon');
mysql_query ('DELETE from account_inventory_items WHERE id_item =' . $modif[$i]) or die('Pas bon');

Eléphanteau du PHP | 14 Messages

12 nov. 2010, 18:39

Un grand merci et bonne soirée :)