Показать сообщение отдельно
Старый 08.02.2013, 13:09   #27
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Добавить запись если не существует.

чтобы понятнее было чего я хочу добиться:

$config = array(
...
    
'user_params' => array(
        
'frags' => 1,
        
'deaths' => 2,
        
'wins' => 3,
        
'fails' => 4,
        
'xp' => 5,
        
'money' => 6,
        
'golds' => 7
    
),
    
'user_params_invert' => array(
        
=> 'frags',
        
=> 'deaths',
        
=> 'wins',
        
=> 'fails',
        
=> 'xp',
        
=> 'money',
        
=> 'golds'
    
),
); 
public function user_updateParameter($id$parameterName$value)
    {
        
$param $this->config['user_params'][$parameterName];
        if (isset(
$param)) {
            
$sth $this->dbh->prepare('INSERT INTO user_params (user, parameter, value) VALUES (:user, :parameter, :value1) ON DUPLICATE KEY UPDATE  value = value + :value2');
            
$sth->execute(array(
                
':user' => intval($id),
                
':parameter' => $param,
                
':value1' => intval($value),
                
':value2' => intval($value)
            ));
        }
    } 
public function user_getParameters($id)
    {
        
$sth $this->dbh->prepare('SELECT parameter, value FROM user_params WHERE user = ?');
        
$sth->execute(array(intval($id)));
        
$params $sth->fetchAll(PDO::FETCH_NUM);
        
$nameValue = array();
        
$pi = &$this->config['user_params_invert'];
        foreach (
$params as $keyValue) {
            
$nameValue[$pi[$keyValue[0]]] = $keyValue[1];
        }
        return 
$nameValue;
    } 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием