Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/07/2009, 12:20
hollowmanf
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 17 años, 9 meses
Puntos: 1
UPDATE en un a Tabla

Hola amigos tengo esta tabla:

Código PHP:
-- Estructura de tabla para la tabla `comercio`
-- 

CREATE TABLE `comercio` (
  `
id_comercio` int(50) NOT NULL auto_increment,
  `
razon_social` varchar(100) NOT NULL,
  `
responsable` varchar(100) NOT NULL,
  `
direccion` varchar(100) NOT NULL,
  `
cuit` varchar(100) NOT NULL,
  `
telefono` varchar(100) NOT NULL,
  `
celular` varchar(100) NOT NULL,
  `
ciudad` varchar(100) NOT NULL,
  `
mail` varchar(100) NOT NULL,
  `
cod_postal` varchar(100) NOT NULL,
  `
observaciones` varchar(100) NOT NULL,
  `
usuario` varchar(100) NOT NULL,
  `
password` varchar(100) NOT NULL,
  `
accion` int(9) unsigned NOT NULL default '0',
  
PRIMARY KEY  (`id_comercio`)
) 
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; 

y tengo este otro php que es el que identifica al usuario y lo redirecciona.

Código PHP:
<?php 
    
//Start session 
    
session_start(); 
     
    
//Include database connection details 
    
require_once('config.php'); 
     
    
//Array to store validation errors 
    
$errmsg_arr = array(); 
     
    
//Validation error flag 
    
$errflag = false; 
     
    
//Connect to mysql server 
    /*$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
    if(!$link) { 
        die('Failed to connect to server: ' . mysql_error()); 
    } 
     
    //Select database 
    $db = mysql_select_db(DB_DATABASE); 
    if(!$db) { 
        die("Unable to select database"); 
    } */ 
     
    //Function to sanitize values received from the form. Prevents SQL injection 
    
function clean($str) { 
        
$str = @trim($str); 
        if(
get_magic_quotes_gpc()) { 
            
$str = stripslashes($str); 
        } 
        return 
mysql_real_escape_string($str); 
    } 
     
    
//Sanitize the POST values 
    
$login = clean($_POST['login']); 
    
$password = clean($_POST['password']); 
     
    
//Input Validations 
    
if($login == '') { 
        
$errmsg_arr[] = 'Login ID missing'; 
        
$errflag = true; 
    } 
    if(
$password == '') { 
        
$errmsg_arr[] = 'Password missing'; 
        
$errflag = true; 
    } 
     
    
//If there are input validations, redirect back to the login form 
    
if($errflag) { 
        
$_SESSION['ERRMSG_ARR'] = $errmsg_arr; 
        
session_write_close(); 
        
header("location: login-form.php"); 
        exit(); 
    } 
     
    
//Create query 
    //$qry="SELECT * FROM comercio WHERE usuario='$login' AND password='".md5($_POST['password'])."'"; 
    
$qry="SELECT * FROM comercio WHERE usuario='$login' AND password='$password'"; 
    
$result=mysql_query($qry); 
     
     
//Create query 
    //$qry="UPDATE comercio SET id_comercio='id_comercio' AND accion='$accion' + 1"; 
    
$qry="UPDATE comercio SET id_comercio = id_comercio +1 WHERE accion =1'"; 
    
$result=mysql_query($qry);


    
//Check whether the query was successful or not 
    
if($result) { 
        if(
mysql_num_rows($result) == 1) { 
            
//Login Successful 
            
session_regenerate_id(); 
            
$member = mysql_fetch_assoc($result); 
            
$_SESSION['SESS_MEMBER_ID'] = $member['id_comercio']; 
            
$_SESSION['SESS_FIRST_NAME'] = $member['razon_social']; 
            
//$_SESSION['SESS_LAST_NAME'] = $member['lastname']; 
            
session_write_close(); 
            
header("location: member-index.php"); 
            exit(); 
        }else { 
            
//Login failed 
            
header("location: login-failed.php"); 
            exit(); 
        } 
    }else { 
        die(
"Query failed"); 
    } 
?>

El tema que quiero es poder cuando un comercio se loguea, me aumente la cantidad de login de 1 en 1 en el campo ACCION de la Tabla COMERCIO.

Tengo esta query pero no me esta funcionando:

Código PHP:
//Create query 
    //$qry="UPDATE comercio SET id_comercio='id_comercio' AND accion='$accion' + 1"; 
    
$qry="UPDATE comercio SET id_comercio = id_comercio +1 WHERE accion =1'"; 
    
$result=mysql_query($qry); 

Alguien podria explicarme en donde tengo el error que no me suma dependiendo el comercio que se loguea en el campo accion.

Saludos y gracias