Salut à tous,
j'ai un souci au niveau d'un update sur un menu 'sortable' cela fait un journée que je cherche mais je vois pas le truc
La bdd "test":
id | nom | position
1 | nom1 | 4
2 | nom2 | 3
3 | nom3 | 2
4 | nom4 | 1
le code :
donc quand je valide mon "form", les données sont bien envoyées puisque je les affiches avec le print_r mais la requête ne fonctionne pas cette dernière ne trouve pas les variable a insérer.
si j'echo ma requête cela me donne cela
UPDATE test SET nom='', position='' WHERE id=''
UPDATE test SET nom='', position='' WHERE id=''
UPDATE test SET nom='', position='' WHERE id=''
UPDATE test SET nom='', position='' WHERE id=''
alors que mon print_r($c) m affiche
Array ( [$id] => 4 [$nom] => Titre4 [$position] => 1 ) Array ( [$id] => 3 [$nom] => Titre3 [$position] => 2 ) Array ( [$id] => 2 [$nom] => Titre2 [$position] => 3 ) Array ( [$id] => 1 [$nom] => Titre1 [$position] => 4 )
si qql'un a une idée je suis preneur.
merci d'avance
Modifié par spawns (22 Jul 2014 - 11:37)
j'ai un souci au niveau d'un update sur un menu 'sortable' cela fait un journée que je cherche mais je vois pas le truc
La bdd "test":
id | nom | position
1 | nom1 | 4
2 | nom2 | 3
3 | nom3 | 2
4 | nom4 | 1
le code :
<?php
require("connect.php");
if(!empty($_POST))
{
$cate=$_POST['category'];
foreach($cate as $c){
extract($c);
print_r($c);
$sql1="UPDATE test SET nom='$nom', position=$position WHERE id=$id";
mysql_query($sql1) or die(mysql_error());
}
}
?>
<!doctype html>
<head>
<meta charset="utf-8">
<title>jQuery UI Sortable - Default functionality</title>
<link rel="stylesheet" href="js/jquery-ui.css">
<script src="js/jquery.js"></script>
<script src="js/jquery-ui.js"></script>
<script src="js/order.js"></script>
<style>
#sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
#sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }
#sortable li span { position: absolute; margin-left: -1.3em; }
ul#sortable li{border:1px solid #ff0000}
ul#sortable li.fantom{border:1px solid #000000}
</style>
</head>
<body>
<form method="post" action="admin.php">
<ul id="sortable">
<?php
$i=0;
$sql="SELECT nom,id,position FROM test ORDER BY position ASC";
$req = mysql_query($sql) or die(mysql_error());
while($d = mysql_fetch_assoc($req))
{
$i++;
?>
<li>
<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
<input type="hidden" name="category[<?php echo $i; ?>][$id]" value="<?php echo $d['id'];?>" />
<input type="text" name="category[<?php echo $i; ?>][$nom]" value="<?php echo $d['nom'];?>" />
<input type="text" class="positioninput" name="category[<?php echo $i; ?>][$position]" value="<?php echo $d['position'];?>" />
</li>
<?php
}
?>
</ul>
<input type="submit" value="Enregistrer"/>
</form>
</body>
</html>
donc quand je valide mon "form", les données sont bien envoyées puisque je les affiches avec le print_r mais la requête ne fonctionne pas cette dernière ne trouve pas les variable a insérer.
si j'echo ma requête cela me donne cela
UPDATE test SET nom='', position='' WHERE id=''
UPDATE test SET nom='', position='' WHERE id=''
UPDATE test SET nom='', position='' WHERE id=''
UPDATE test SET nom='', position='' WHERE id=''
alors que mon print_r($c) m affiche
Array ( [$id] => 4 [$nom] => Titre4 [$position] => 1 ) Array ( [$id] => 3 [$nom] => Titre3 [$position] => 2 ) Array ( [$id] => 2 [$nom] => Titre2 [$position] => 3 ) Array ( [$id] => 1 [$nom] => Titre1 [$position] => 4 )
si qql'un a une idée je suis preneur.
merci d'avance
Modifié par spawns (22 Jul 2014 - 11:37)