Добрый день!
скажите пожалуйста как сделать чтобы фото в бд обновилось...
когда пользователь входит на сайт через вк, отображается его аватар,
а если в вк поменять аватар, то на моём сайте остается прежний аватар!
вот как я это делаю!
function getUserPhoto(){
$q = $this->db->mysql_qw("SELECT photo_100 FROM users WHERE uid = ?;",$this->uid);
$arr = mysql_fetch_assoc($q);
$name = $arr['photo_100'];
return $name;
}
_____________
PRchik.ru | Раскрутись и заработай!
T1grOK
23.09.2013 - 13:59
При авторизации запрашивать у VK аватарку и сравнивать с той, что в БД.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
перед добавлением фото я вставляю вот эту строчку,
mysql_query("DELETE FROM `users` WHERE `photo_100` = ?;",$this->uid);
чтобы фото удалилось, и новая ава записалась...
но ничего не происходит!
_____________
PRchik.ru | Раскрутись и заработай!
T1grOK
23.09.2013 - 14:13
Оуч..так это не удаление фото...это удаление всей строки из базы. Используй UPDATE для обновления.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Теперь сделол так...
function getUserPhoto(){
$q = $this->db->mysql_qw("UPDATE users SET photo_100 WHERE uid = ?;",$r, $this->uid);
$q = $this->db->mysql_qw("SELECT photo_100 FROM users WHERE uid = ?;",$this->uid);
$arr = mysql_fetch_assoc($q);
$name = $arr['photo_100'];
return $name;
}
и все исчезло... ни фото, ни имени, ни баланса((
_____________
PRchik.ru | Раскрутись и заработай!
SET photo_100
Перевод: "Установить photo_100". Установить равным чему ?. SET photo_100 = 'ЗНАЧЕНИЕ'
Можно поподробнее.... как исправить строчку?
_____________
PRchik.ru | Раскрутись и заработай!
UPDATE users SET photo_100='НОВОЕ ЗНАЧЕНИЕ ЯЧЕЙКИ' WHERE uid = ?
Цитата |
UPDATE users SET photo_100='НОВОЕ ЗНАЧЕНИЕ ЯЧЕЙКИ' WHERE uid = ? |
ток что ставить-то в
НОВОЕ ЗНАЧЕНИЕ ЯЧЕЙКИ ??
_____________
PRchik.ru | Раскрутись и заработай!
вот вставил!
function getUserPhoto(){
$q = $this->db->mysql_qw("UPDATE users SET photo_100='$photo_100' WHERE uid = ?",$this->uid);
$q = $this->db->mysql_qw("SELECT photo_100 FROM users WHERE uid = ?;",$this->uid);
$arr = mysql_fetch_assoc($q);
$name = $arr['photo_100'];
return $name;
}
но теперь в бд ничего не записывается!
_____________
PRchik.ru | Раскрутись и заработай!
Цитата (60reg @ 23.09.2013 - 12:20) |
но теперь в бд ничего не записывается! |
Не профи в PHP но предполагаю что при первом визите и авторизации пользователя нужно занести данные в БД через INSERT, а при повторном посещении запрашивать новые данные и тогда уже обновлять этого пользователя через UPDATE.
так как сама должна выглядеть строка
UPDATE ????
у меня правильно написано??? если нет то подскажите пожалуйста!
_____________
PRchik.ru | Раскрутись и заработай!
Цитата (60reg @ 23.09.2013 - 21:22) |
так как сама должна выглядеть строка UPDATE ????
у меня правильно написано??? если нет то подскажите пожалуйста! |
UPDATE users SET photo_100='$photo_100' where uid='$uid'
По-русски это примерно так, обновить таблицу "users" и заменить поле "photo_100" на переменную "$photo_100" где уникальный идентификатор пользователя = $uid.
Вам вместо вопросительного знака нужно подставить пользователя, чью фотографию вы хотите обновить, при условии что он вообще существует в базе.
Как то так.
вот пишу.... и ничего не обновляется.. а загружается предыдущая фотография
function getUserPhoto(){
mysql_query("UPDATE users SET photo_100='$photo_100'WHERE uid=$uid");
$q = $this->db->mysql_qw("SELECT photo_100 FROM users WHERE uid = ?;",$this->uid);
$arr = mysql_fetch_assoc($q);
$name = $arr['photo_100'];
return $name;
}
_____________
PRchik.ru | Раскрутись и заработай!
А ошибки не выводит?
Яб предпочел так написать
mysql_query("UPDATE `users` SET `photo_100`='".$photo_100."' WHERE `uid`='".$uid."'");
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.