Foros del Web » Programando para Internet » PHP »

Validacion

Estas en el tema de Validacion en el foro de PHP en Foros del Web. hola resulta que trato de hacer lo siguiente: actualizar un campo en la base de datos, basandose en la condicion de que si hay registros ...
  #1 (permalink)  
Antiguo 18/07/2008, 16:27
 
Fecha de Ingreso: julio-2008
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 0
Validacion

hola resulta que trato de hacer lo siguiente: actualizar un campo en la base de datos, basandose en la condicion de que si hay registros en ella me pregunte si desea sobreescribir o agregar, o si el campo esta vacio no pregunte nada sino que simplemente actualice, este es el codigo que he hecho hasta el momento:

if($sqlv = "SELECT *FROM jos_df_contact where Notas IS NULL")
{
$sql = "UPDATE jos_df_contact set Notas='".$nota."' where Id=".$correos."";
mysql_query($sql) or die(mysql_error());
}
else{
if($sqlv = "SELECT *FROM jos_df_contact where Notas <>''"){
//Nos traemos el registro del campo notas del id actual para evitar una sobreescritura de datos
$sqla = "SELECT Notas FROM jos_df_contact where Id=".$correos."";
$result = mysql_query($sqla,$conx) or die(mysql_error());//ejecuto select
while($row=mysql_fetch_array($result))
{
$var1= $row['Notas'];
}
$sql = "UPDATE jos_df_contact set Notas='".$var1." ".$nota."' where Id= ".$correos."";
mysql_query($sql) or die(mysql_error());//ejecuto update
echo "Actualizacion Exitosa\n";
echo "<input type=\"button\" name=\"volver\" title=Volver value=\"\" style=\"background-image:url(iconos/icono_flecha_volver.PNG); width:48px; height:48px; border-bottom-style:none; border-left-style:none; border-right-style:none; border-top-style:none; cursor:pointer; background-color:#FFFFFF \" onClick=\"javascript:IrPagina('http://localhost/combo/pdf/MostrarActualizacion.php')\"/>";
}
}

Donde en el primer if dice que el campo notas esta vacio entonces realice un update pero de lo contrario realice un update concatenado con lo que tiene, no se porque no me funciona la parte del else y ademas como hago para preguntar si sobreescribe o no

Agradezco su ayuda
  #2 (permalink)  
Antiguo 18/07/2008, 17:23
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 17 años
Puntos: 14
Respuesta: Validacion

es que no ejecutas la consulta que esta dentro de los IF's

ademas aqui no preguntas nada, si esta vacio lo actualizas y si no esta vacio lo actualizas tambien :P entonces para que el if? =)
  #3 (permalink)  
Antiguo 18/07/2008, 17:29
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 9 meses
Puntos: 4
Respuesta: Validacion

es ilogico lo que dices porque si no tiene nada haria un insert into y no un update ...
__________________
*La amistad se multiplica cuando se divide*
  #4 (permalink)  
Antiguo 18/07/2008, 18:24
 
Fecha de Ingreso: julio-2008
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Validacion

ok señores entonces como podria replantear mi codigo....ayudaa por favor
  #5 (permalink)  
Antiguo 18/07/2008, 18:40
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 17 años
Puntos: 14
Respuesta: Validacion

explica bien lo que quieres hacer y te ayudamos :)
  #6 (permalink)  
Antiguo 19/07/2008, 07:52
 
Fecha de Ingreso: julio-2008
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Validacion

Ok, que pena no contestar ayer, eh lo que quiero hacer es lo siguiente:

Tengo un campo notas en una tabla de mi base de datos, resulta que yo la lleno con un textarea, la primera vez que la lleno no hay problema, pero resulta que si el usuario desea volver a escribir sobre el mismo registro, se le debe preguntar si desea sobreescribir o agregar a lo que ya esta; es decir si desea sobreescribir, se debe borrar lo que esta y poner lo nuevo que el usuario escribio, de lo contrario se debe agregar a lo que esta en el registro de la base de datos.

Si me explique bien..agradeceria su ayuda gracias
  #7 (permalink)  
Antiguo 19/07/2008, 10:44
 
Fecha de Ingreso: julio-2008
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Validacion

miren hago esto:

$sqlv = "SELECT CHARACTER_LENGTH(Notas) FROM jos_df_contact WHERE Id=".$correos."";
$resultado = mysql_query($sqlv,$conx) or die(mysql_error());
if($resultado<=0)
{
$sql = "UPDATE jos_df_contact set Notas='".$nota."' where Id=".$correos."";
mysql_query($sql) or die(mysql_error());
echo "Muaaaaaaa\n";
echo "<input type=\"button\" name=\"volver\" title=Volver value=\"\" style=\"background-image:url(iconos/icono_flecha_volver.PNG); width:48px; height:48px; border-bottom-style:none; border-left-style:none; border-right-style:none; border-top-style:none; cursor:pointer; background-color:#FFFFFF \" onClick=\"javascript:IrPagina('http://localhost/combo/pdf/MostrarActualizacion.php')\"/>";

}
elseif($resultado>0){
//Nos traemos el registro del campo notas del id actual para evitar una sobreescritura de datos
$sqla = "SELECT Notas FROM jos_df_contact where Id=".$correos."";
$result = mysql_query($sqla,$conx) or die(mysql_error());//ejecuto select
while($row=mysql_fetch_array($result))
{
$var1= $row['Notas'];
}
$sql = "UPDATE jos_df_contact set Notas='".$var1." ".$nota."' where Id= ".$correos."";
mysql_query($sql) or die(mysql_error());//ejecuto update
echo "Actualizacion Exitosa\n";
echo "<input type=\"button\" name=\"volver\" title=Volver value=\"\" style=\"background-image:url(iconos/icono_flecha_volver.PNG); width:48px; height:48px; border-bottom-style:none; border-left-style:none; border-right-style:none; border-top-style:none; cursor:pointer; background-color:#FFFFFF \" onClick=\"javascript:IrPagina('http://localhost/combo/pdf/MostrarActualizacion.php')\"/>";

}

el punto es que solo siempre coge el else if ayudenme.. ya que soy novato en el asunto

gracias
  #8 (permalink)  
Antiguo 19/07/2008, 12:24
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 17 años
Puntos: 14
Respuesta: Validacion

siempre entra al else if porque $resultado no tiene la cantidad de registros encontrados, para eso tendrias que hacer

Código PHP:
$sqlv "SELECT CHARACTER_LENGTH(Notas) FROM jos_df_contact WHERE Id=".$correos."";
$resultado mysql_query($sqlv,$conx) or die(mysql_error());
$cantidad=mysql_num_rows($resultado); 
mas alla de eso, lo que deseas hacer es algo asi

Código PHP:
//por medio de un campo en el formulario el usuario decide si sobreescribir o no
$sobreescribir=$_POST["sobreescribir;"]

if (
$_POST["sobreescribir;"]=="si"$sobreescribir=true;
else 
$sobreescribir=false;

if (
$sobreescribir) {
$sqlUpdate"UPDATE jos_df_contact set Notas=$nota where Id=$correos LIMIT 1";
} else {

$sqla "SELECT Notas FROM jos_df_contact where Id=$correos LIMIT 1";
$result mysql_query($sqla,$conx) or die(mysql_error());//ejecuto select
$notaOld=mysql_result($result0"Notas");
$notaNew=$notaOld." ".$nota;
$sqlUpdate"UPDATE jos_df_contact set Notas=$notaNew where Id=$correos LIMIT 1";
}

mysql_query ($sqlUpdate); 
  #9 (permalink)  
Antiguo 19/07/2008, 12:37
 
Fecha de Ingreso: julio-2008
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Validacion

probare y te contare

Gracias
  #10 (permalink)  
Antiguo 19/07/2008, 13:00
 
Fecha de Ingreso: julio-2008
Mensajes: 92
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Validacion

lo que tu planteas, en la parte de sobreescribir sirve, pero la primera vez que se va a agregar una nota, a el usuario no se le debe preguntar nada, simplemente guarda y ya, entonces como seria esa parte

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:20.