Comunidad de diseño web y desarrollo en internet online

problemas con DELETE

Citar            
MensajeEscrito el 13 Sep 2006 12:58 am
Hola chicos y chicas, tengo un problemita al querer autoeliminar registros, explicacion:
Estoy haciendo un chatsito en flash con remoting, todo marcha sobre ruedas, a exepcion de que la base de datos de los mensajes se eleva hasta el infinito, asi que quiero ir borrando los registros conforme se necesite, ESA PARTE no me queda, aqui el codigo y explicaciones

/*Sacado del chat de remoting de aqui, con esta linea, genero un numero apartir de la fecha, debido a
que no me funciono con segundos, pues puedes enviar dos mensajes en el mismo segundo por
muchas circunstancias, pues le puse microtime para que me diera mas opciones por segundo*/


$fecha = strval(date("YmdHis",mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")))).microtime();

/*conecta*/

$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
$result = mysql_select_db($bd_base, $con);

/*aqui añadimos el mensaje de sala, usuario, paraquien(es), el tiempo de envio y el mensaje*/

$query = "INSERT INTO chat_blabla (chatRoom, idUSR, paraid, parach, fecha, quecosa) VALUES ('$chh', '$idUSR', '$paraid', '$parach', '$fecha', '$quecosa')";
$result = mysql_query($query);

/*evaluamos un tiempo de caducidad para los mensajes, en este caso de 20 segundos*/

$fecha2 = strval(date("YmdHis",mktime(date("H"),date("i"),date("s")-20,date("m"),date("d"),date("Y")))).microtime();

/* empiezan los problemas, con este metodo, intento borrar los registros que tengan mas de 20 segundos*/

$consulta = "";
$siborra = 0;
$query = "SELECT fecha FROM chat_blabla ORDER BY fecha DESC";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
if ($row['fecha']<=$fecha2){
$siborra++;
if ($siborra>1){
$consulta .= ", fecha=".$row['fecha'];
}else{
$consulta .= "fecha=".$row['fecha'];
}
}
}
$consulta = "";
if($siborra>=1){
$sql = "DELETE FROM agenda WHERE ".$consulta;
$result = mysql_query($query);
}


todo corre bien, PERO no borra nada, porfavor si me pudieran ayudar con alguna pista o por donde tengo que investigar les estaria muy agradecido, gracias ^^

Por bryanisimo

664 de clabLevel



Genero:Masculino  

Geek

firefox
Citar            
MensajeEscrito el 13 Sep 2006 09:00 am
Esto que tienes aquí.....

Código :

$consulta = "";
if($siborra>=1){
$sql = "DELETE FROM agenda WHERE ".$consulta;
$result = mysql_query($query);
}
iguala $consulta a la cadena vacía entonces te queda

Código :

DELETE FROM agenda WHERE 
porque en $consulta ya ho hay nada.... ¬¬ ¬¬

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 13 Sep 2006 05:03 pm
Que /$"$·$·%% soy, no me fije en esa variable, Domo arigato ^^, pero bueno ya solucione el problema de otra manera:

Código :

while($row = mysql_fetch_assoc($result)) {
   if ($row['fecha']<=$fecho){
      $borrar = $row['fecha'];
      $query2 = "DELETE FROM chat_blabla WHERE fecha='$borrar'";
      $result2 = mysql_query($query2);
   }
}

en lugar de:

Código :

while($row = mysql_fetch_assoc($result)) {
   if ($row['fecha']<=$fecha2){
      $siborra++;
      if ($siborra>1){
         $consulta .= ", fecha=".$row['fecha'];
      }else{
         $consulta .= "fecha=".$row['fecha'];
      }
   }
}
$consulta = "";
if($siborra>=1){
   $sql = "DELETE FROM agenda WHERE ".$consulta;
   $result = mysql_query($query);
}


gracias ^^

Por bryanisimo

664 de clabLevel



Genero:Masculino  

Geek

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.