PostgreSQL - UPDATE DINAMICO

 
Vista:

UPDATE DINAMICO

Publicado por Diego M (1 intervención) el 28/03/2006 14:08:46
bueno el asunto es que estoy tratando de actualizar una cantidad de datos dentro de un for y no me funciona, solo actualiza el primero y luego los demas los deja = aqui les dejo el codigo que tengo para hacerlo.

include("conexion.php");

$nombre_a=$_REQUEST['padre'];
$len_a=strlen($nombre_a);
$nombre_n=$_REQUEST['nombre'];
$nombre_n=trim($nombre_n);
$nombre_n=ucfirst($nombre_n);
$len_n=strlen($nombre_n);

if ($tipo=="p_n")
{
echo "<center><h1>Modificar Principal Nombre.</h1></center><br>";


echo "Nombre Actual: ".$nombre_a."<br>";
echo "Tamaño Actual: ".$len_a."<br>";
echo "Nombre Nuevo: ".$nombre_n."<br>";
echo "Tamaño Nuevo: ".$len_n."<br><br>";

$sql="SELECT value FROM menu_2 WHERE value='$nombre_n'";
$resultado=pg_exec($sql);
if (!$resultado){echo"<b>Error de busqueda</b>";exit;}
$filas1=pg_numrows($resultado);
if ($filas1!=0)
{
?>
<script language="javascript">
alert("Ya existe un Menú con este nombre.");
</script>
<?
exit;
}
else
{
echo "No hay menú con este nombre, se puede guardar.<br>";
echo "Nombre_A: "."$nombre_a"."<br>";
echo "Nombre_N: "."$nombre_n"."<br>";

$sql="UPDATE menu_2 SET value='$nombre_n' WHERE value='$nombre_a'";
$resultado=pg_exec($sql);
$sql="UPDATE menu_2 SET tamaño='$len_n' WHERE value='$nombre_n'";
$resultado=pg_exec($sql);

echo "Menu Modificado, Faltan los sub menu de este menu, claro si los tiene.<br><br>";

$sql="SELECT value FROM menu_2 WHERE value LIKE '$nombre_a - %'";
$resultado=pg_exec($sql);
if (!$resultado){echo"<b>Error de busqueda</b>";exit;}
$filas1=pg_numrows($resultado);
if ($filas1!=0)
{
for($i=0;$i<$filas1;$i++)
{
$sql="SELECT value FROM menu_2 WHERE value LIKE '$nombre_a - %'";
$resultado=pg_exec($sql);

$campo1=pg_result($resultado,$i,0);
echo "campo1: ".$campo1."<br>";
$campo4=pg_result($resultado,$i,0);
echo "campo4: ".$campo4."<br>";
$campo2=substr($campo1,$len_a,strlen($campo1));
echo "campo2: ".$campo2."<br>";
$campo1=substr($campo1,0,$len_a);
echo "campo1: ".$campo1."<br>";
$campo3=$nombre_n.$campo2;
echo "campo3: ".$campo3."<br><br>";

//echo $campo4."<br><br>";

/*echo "Nombre Completo: ".$campo4."<br>";
echo "Nombre Restante: ".$campo2."<br>";
echo "Nombre Extraido: ".$campo1."<br>";
echo "Nombre Formado: ".$campo3."<br><br>";*/

/*echo "Campo2: ".$campo2."<br>";
echo "Campo3: ".$campo3."<br>";
echo "Campo4: ".$campo4."<br><br>";*/

$sql="UPDATE menu_2 SET value='$campo3' WHERE value='$campo4'";
$resultado=pg_exec($sql);
}
pg_FreeResult($resultado);
}
}
}

//////////////////////////////////////////////////////////////////////OJO///////////////////////////////////////////////////////////////////////////////////////

SI QUIERES EL SCRIPT DE LA BASE DE DATOS CONTACTAME A [email protected]
(NO ENTRABAN ES ESTA PAGINA)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*ESTO ES UN SISTEMA DE MENU DINAMICO LO QUE QUIERO ES QUE APARTIR DEL CAMPO VALUE DEL MENU PRINCIPAL (SON PRINCIPALES LOS QUE TIENEN NO EN EL CAMPO PADRE), ME BUSQUE Y REEMPLACE EN VALUE DE LOS SUB MENUS POR EL NUEVO NOMBRE DEL MENU Ej:

SI UN MENU PRINCIPAL SE LLAMA ARCHIVO Y LO QUIERO CAMBIAR POR PEDRO, DEBO BUSCAR SI EL NUEVO NOMBRE EXISTE, SI NO EXISTE, BUSCO A VER SI EL MENU ARCHIVO TIENE HIJOS, SI LOS TIENE TENGO QUE REEMPLAZAR SU NOMBRE (ARCHIVO - NUEVO - DOC), POR (PEDRO - NUEVO - DOC), CON ESTE CODIGO, MODIFICO EL NOMBRE Y EL TAMAÑO DEL MENU PRINCIPAL, Y EL PRIMER SUB MENU QUE TENGA, PERO LOS DEMAS NO, Y ES HAY DONDE QUIERO QUE ME AYUDEN, A QUE MODIFIQUE TODOS LOS SUB MENUS, SI QUIERES COLOCA EN COMENTARIO LAS LINEAS DE EDICION LAS QUE TIENEN EL UPDATE PARA QUE VEAS QUE EL FOR SE EJECUTA BIEN Y MUESTRAN TODOS LOS SUB MENUS QUE TENGA ESTE.

BUENO AMIGOS MIOS ESPERO Y ME AYUDEN PRONTO.....
ATTE: Diego M
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder