Foros del Web » Programando para Internet » PHP »

actualizar registro

Estas en el tema de actualizar registro en el foro de PHP en Foros del Web. Hola quiero actualizar un registro en la base de datos, el codigo que tengo es: $colname_Recordset1 = "1"; if (isset($_GET['Especie'])) { $colname_Recordset1 = (get_magic_quotes_gpc()) ? ...
  #1 (permalink)  
Antiguo 22/12/2004, 19:48
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
actualizar registro

Hola
quiero actualizar un registro en la base de datos, el codigo que tengo es:

$colname_Recordset1 = "1";
if (isset($_GET['Especie'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['Especie'] : addslashes($_GET['Especie']);
}
$query_visitas = sprintf("SELECT * FROM visitas WHERE especie = '%s'", $colname_Recordset1);
$Recordsetvisitas = mysql_query($query_visitas, $Astur) or die(mysql_error());
$newvissem=$Recordsetvisitas['vissem']+1;
$newvistot=$Recordsetvisitas['vistot']+1;
$resultado=mysql_query("UPDATE visitas SET vissem=$newvissem, vistot=$newvistot",$Astur);

y lo que hace es que esos dos campos siempre valen 1 en toda la base dedatos, no actualiza el registro
  #2 (permalink)  
Antiguo 22/12/2004, 19:51
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
perdonar, me equivoque con el codigo, es:

Código PHP:
$colname_Recordset1 "1";
if (isset(
$_GET['Especie'])) {
  
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['Especie'] : addslashes($_GET['Especie']);
}
$query_visitas sprintf("SELECT * FROM visitas WHERE especie = '%s'"$colname_Recordset1);
$Recordsetvisitas mysql_query($query_visitas$Astur) or die(mysql_error());
$row_Recordsetvisitas mysql_fetch_assoc($Recordsetvisitas);

$newvissem=$row_Recordsetvisitas['vissem']+1;
$newvistot=$row_Recordsetvisitas['vistot']+1;
$resultado=mysql_query("UPDATE visitas SET vissem=$newvissem, vistot=$newvistot",$Astur);
echo 
$newvissem;
echo 
$newvistot
Los valores cambian, pero no se añaden a la tabla
  #3 (permalink)  
Antiguo 22/12/2004, 21:11
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 10 meses
Puntos: 2
Prueba cambiando la linea del UPDATE por esta:

$resultado=mysql_query("UPDATE visitas SET vissem= '" .$newvissem. "', vistot= '" .$newvistot. "' WHERE campo = nombre_campo",$Astur);

Fijate que tu no has usado el WHERE, es decir, no dices a quien le debes actualizar los datos...
__________________
I Love Programming...
  #4 (permalink)  
Antiguo 23/12/2004, 04:45
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
que va, no tira.

$resultado=mysql_query("UPDATE visitas SET vissem= '".$newvissem."', vistot= '" .$newvistot. "' WHERE especie = '%s'",$Astur);

no cambia nada de la base de datos. si quito el where se cambian todos, pero parece que el problema esta en reconocer ese registro
  #5 (permalink)  
Antiguo 26/12/2004, 18:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
undariarose

Realmente no sé cual es la condiciòn que ha de ejecutarse tu consulta SQL ..pero tu sintax:
$resultado=mysql_query("UPDATE visitas SET vissem= '".$newvissem."', vistot= '" .$newvistot. "' WHERE especie = '%s'",$Astur);


no es correcta para mysql_query() .. esa funciòn no es un "sprintf()" .. asì que ese %s y ,$variable .. sobra o no corresponde ahì.

En tal caso algo así:
$resultado=mysql_query("UPDATE visitas SET vissem= '".$newvissem."', vistot= '" .$newvistot. "' WHERE especie = '".$_GET['especie']."');

Yo encuentro màs sencillo NO usar sprintf() ademàs que no sobrecargas a PHP unando el motor de expresiones regulares para cosas que se "leen" y entienden màs "natural" si los usas cuando corresponden concatenando donde sea.

Ahora ... sobre tu problema concreto .. deberias concretar o explicar mejor que es lo que debe hacer tu consulta SQL sobre tu BD .. Pero el caso es que alguna condiciòn ha de suceder para actualizar los campos que correspondan .. ahora, esa "condiciòn" puede ser originada de los resultados de una consulta. o similar.

Un saludo,
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 14:00.