Проблема
Прямо сейчас я должен создать это:
В моей базе данных;каждый фаворит в качестве своей записи «веса».
На данный момент по умолчанию он равен «10»
Допустим, у меня есть массив фаворитов,
веса соответственно выглядят так:
Если бы я нажалСтрелка «вниз» на «2». Мне нужно добавить +1 к его весу.
Что приведет к:
Но я просто хочу поменять любимое «2» на вес любимого «3».
Мне нужен способ, чтобы при весахдля каждой функции элемента, как они подразумеваются.Поскольку простое добавление или вычитание 1 приведет к большим проблемам.
Надеюсь, я все правильно объяснил.
Код
Запись в базу данных
/*
* Write Form data to database
*/
function f25_favorites_form_submit($form, &$form_state){
global $user;
$listOfPaths = f25_favorites_listOfPaths();
$selected = $form_state['values']['path'];
$data = array(
'uid' => $user->uid,
'path' => $selected,
'title' => $listOfPaths[$selected]['#title'],
'weight' => 10,
'timestamp' => time(),
);
drupal_write_record(f25_favorites, $data);
}
Запрос
/*
* Fetching Specific User's Favorites Data
*/
function f25_favorites_user_favorites() {
global $user;
if($user->uid > 0){
$userid = $user->uid;
$user_paths = db_query("SELECT * FROM f25_favorites foo WHERE foo.uid = '%s' ORDER BY foo.weight DESC", $userid);
$pathlist = array();
while ($data = db_fetch_object($user_paths)) {
$pathlist[] = $data;
}
return $pathlist;
}
}
Как мне решить эту проблему?