Hola, tengo el siguiente problema, pero antes les muestro el codigo que me eta dando dolor de cabeza.
<?php
session_start();
?>
<?php
//aqui gesiono dos tables MENSAJES=contiene los mensajes de los usuarios , y CARPETA=contiene la informacion de las carpetas.
//$move es la variable que contiene el nombre de la carpeta a la cual se quiere mover el mensaje
//$carpeta es la variable que contiene el nombre de la carpeta a la cual se le sacara el mensaje
//incluyo la coneccion con la base
include("conecta.rag");
//update gestiono los datos enviados desde un array de checkbox
$lista=implode(',',$seleccion);
mysql_query("update mensajes set carpeta='$move' where destinario='$autor' and id_mensaje IN('$lista')");
//defino el icono que se agregara como icono de carpeta, dependiendo de cual fue la carpeta a la cual se le saco el mensaje
if($carpeta==("Entrada")){
$a=("entrada_vacia.gif");
$b=("entrada_llena.gif");
}
else if($carpeta==("Salida")){
$a=("salida_vacia.gif");
$b=("salida_llena.gif");
}
else if($carpeta==("Papelera")){
$a=("papelera_vacia.gif");
$b=("papelera_llena.gif");
}
else{
$a=("vacio.gif");
$b=("tiene.gif");
}
//modificar carpeta a la cual se le saco el mensaje
$re=mysql_query("select * from mensajes where destinario='$usuario' and carpeta='$carpeta'");
$to1=mysql_num_rows($re);
//si el resultado es cero el icono que usare sera el contenido en la variable $a
if($to1==0){
$icono=$a;
}
//si tiene uno o mas mensajes la carpeta a la cual se saco el mensaje, usare el icono contenido en la variable $b
else{
$icono=$b;
}
//hago el update a la carpeta a la cual se le saco el o los mensajes
mysql_query("update carpetas set mensajes='$to1', icono='$icono' where usuario='$usuario' and carpeta='$carpeta'");
//defino el icono que usare como carpeta dependiendo de cual es la carpeta a la que se agrego el mensaje, la cual contiene el o los nuevos mensajes
if($move=="Entrada"){
$c=("entrada_vacia.gif");
$d=("entrada_llena.gif");
}
else if($move=="Salida"){
$c=("salida_vacia.gif");
$d=("salida_llena.gif");
}
else if($carpeta=="Papelera"){
$c=("papelera_vacia.gif");
$d=("papelera_llena.gif");
}
else{
$c=("vacio.gif");
$d=("tiene.gif");
}
//modificar carpeta a la cual se agrego el o lo smensajes
$req=mysql_query("select * from mensajes where destinario='$usuario' and carpeta='$move'");
$toq=mysql_num_rows($re);
//si el resultado de la busqueda $req es cero usre este icono
if($toq==0){
$icone=$c;
}
//si tiene uno o mas, usare este
else{
$icone=$d;
}
//hago un update a la tabla carpetas y pongo la cantidad de mensajes que hay en la tabla mensajes
mysql_query("update carpetas set mensajes='$toq', icono='$icone' where usuario='$usuario' and carpeta='$move'");
//ciero los resultados y la conexion con la base
mysql_free_result($re);
mysql_free_result($req);
mysql_close($conecta);
//redirecciono a la misma carpeta de la cual se removio el mensaje, envio la variable $notice para avisar que se movio el mensaje y la variable $objet con el valor del nombre de la carpeta a la cual se agrego el mensaje.
header("location: entrada.php?carpeta=$carpeta¬ice=moved&objet=$move");
?>
Estoy haciendo un sistema de privqdos en mi web y quiero dar la opcion de que se puedan mover los mensajes a diferentes carpetas creadas por los usuarios, envio los datos desde un form y los proceso con este codigo que mostre. Los mensajes a mover son seleccionados de checkbox formados dinamicamente en un array, y los proceso con la variable implode() que muestro mas arriba.
Uno de mis problemas es que mueve el mnsaje, es decir, lleva lso mensajes a la carpeta donde el usuario decide, pero no hace el update a la cantidad de mensajes de cada carpetas, tal vez porque no reconoce las condiciones de hacerlo, pero creo qeu todo esta bien, no veo el fallo. Pero no me trabaja eso. Solo mueve las carpetas y ya.
Si alguien puede analizar el codigo y ver lgun fallo o alguna sugerencia, o si no entienden algo, pues puedo explicarlo mas claramente.
Ayudenme por favor, necesito hacaer esto, y estoy estancado ahora.
Un saludo.