tengo este código que me permite tener un sistema de drag gracias q jQuery conservando los datos en mi base de datos. (parte del código lo he sacado de un tutorial y lo he modificado): no hace falta que se fijen en todo el código, simplemente lo he puesto para que vean el código (practicamente entero ya que he omitido partes como el <style> etc.) por si se me pasa algo.
Código:
<?php
require ('connect.php');
$user = $_GET['user'];
$pid = $_GET['pid'];
$zplist = "_zplist";
$uzplist = "$user$zplist";
$query = mysql_query("SELECT * FROM $uzplist WHERE id = '$pid'", $connect);
$row = mysql_fetch_array($query);
$pltruename = $row[truename];
$plname = $row[name]; ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function slideout(){
setTimeout(function(){
$("#response").slideUp("slow", function () {
});
}, 2000);}
$("#response").hide();
$(function() {
$("#list ul").sortable({ opacity: 0.8, cursor: 'move', update: function() {
var order = $(this).sortable("serialize") + '&update=update';
$.post("songframe.php", order, function(theResponse){
$("#response").html(theResponse);
$("#response").slideDown('slow');
slideout();
});
}
});
});
});
</script>
</head>
<body>
<div id="container">
<div id="list">
<?php
echo '<div id="songs">playlist selected: '.$pltruename.' <br> canciones: <br></div><ul>';
include("drag/connect.php");
$queryz = "SELECT * FROM $pltruename ORDER BY uid ASC";
$result = mysql_query($queryz);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$id = stripslashes($row['id']);
$text = stripslashes($row['titulo']);
?>
<li id="arrayorder_<?php echo $id ?>"><?php echo 'blablabla'; ?>
<div class="clear"></div>
</li>
<?php } ?>
</ul>
</div>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-7025232-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
<?php
$array = $_POST['arrayorder'];
$table = "usuario_probando";
echo $table;
echo $pltruename;
if ($_POST['update'] == "update"){
$count = 1;
foreach ($array as $idval) {
$queryx = "UPDATE $table SET uid = " . $count . " WHERE id = " . $idval;
mysql_query($queryx) or die('Error, insert query failed');
$count ++;
}
}
?>
el código funciona de maravilla, el efecto de drag funciona y se guardan los datos en la tabla. El problema reside en la ultima parte del código (que les vuelvo a poner aqui abajo), encargada de guardar los datos en la tabla, les explico: como pueden ver la variante $table es "usuario_probando"(de esta manera el código funciona pero no quiero que esta variable tenga un valor fijo!!). Quiero que el valor de esta variable sea el mismo que el de $pltruename. el problema es que si escribo: $table=$pltruename entonces deja de funcionar, y ya no me guarda las modificaciones en la tabla. Lo que me parece extrañisimo es que (como ven e el codigo) cuando el navegador me muestra la página los dos "echos" de la parte final me dan el mismo resultado. usuario_probando Es decir que $table y $pltruename tienen el mismo valor!
necesito ayuda porfavor, si se necesita el código entero para diagnosticar el origen del error pedidlo y lo pondré.
Código PHP:
<?php
$array = $_POST['arrayorder'];
$table = "usuario_probando";
echo $table;
echo $pltruename;
if ($_POST['update'] == "update"){
$count = 1;
foreach ($array as $idval) {
$queryx = "UPDATE $table SET uid = " . $count . " WHERE id = " . $idval;
mysql_query($queryx) or die('Error, insert query failed');
$count ++;
}
}
?>
Gracias de antemano y feliz año nuevo!