Автор Тема: Перезапись значения поля  (Прочитано 3030 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тупой, ленивый гость

  • Гость
Перезапись значения поля
« : 28 Сентября 2002, 16:31:28 »
Я тут придумал сделать мини - рейинг, с возможностью голосовать за "того" или "другого".


В общем будет все так:

На странице лежит ХТМЛ таблица сгенеренная скриптом из таблицы MYSQL.

В этой таблице поля:

1. "За кого голосовать"
2. "Количество баллов"
3. "ЗА и ПРОТВ"

В поле 3. будут лежать ссылочки: "Проголосовать за" "Проголосовать против".
Мне нужно, чтобы по нажатию на ссылку значение поля 2. менялось соответственно.

Но, во-первых: как мне перезаписать уже существующее значение этого поля(2.).
И еще не знаю как MYSQL заставить "узнать" в какой именно строке я нажал "ЗА" или "ПРОТИВ".

Есть некоторые соображения:
1) Создать еще одно (аутоинкрементное) поле ID.
2) По нажатию на ссылку делать запрос типа:
UPDATE table_name SET ???(+1)(-1)???? WHERE ID = \'id???\';

Оффлайн Доктор

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 487
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Перезапись значения поля
« Ответ #1 : 29 Сентября 2002, 04:20:10 »
В принципе все правильно:

UPDATE table_name SET rating=rating+1 WHERE ID = $id


Тупой, ленивый гость

  • Гость
Перезапись значения поля
« Ответ #2 : 30 Сентября 2002, 17:24:09 »
все классно работает на частном случае (то есть, когда я явно указываю id).

Но это ведь рейтинг: id здесь надо в скрипт передавать динамически.

Таблицу из базы мне генрит такой вот скрипт:

$db_name = "test";
$table_name = "company";

$connection = @mysql_connect("localhost", "admin", "gramozeka")
                           or die(\'Не могу подключиться к серверу баз данных\');
             @mysql_select_db($db_name, $connection)
                       or die(\'Не могу открыть базу данных\');

$sql = "select id, title, tel, rating from $table_name where type <> \'1\' order by rating desc";
 
  $result = mysql_query($sql,$connection)
  or die("Couldn\'t execute query.");
 
@$num_rows = mysql_num_rows($reult);
while ($a_row = mysql_fetch_row ($result))
      {
      print "\\n";
      foreach ($a_row as $field)
         print "\\t$field\\n";
         print "\\t\\n";
      }
         ?>
+--------+-----------+-------+----------+
|   id    |   title    |  tel    |  rating   |
+--------+-----------+-------+----------+
инфа аккуратно разбрасывается по столбцам.

Мне вот что нужно: справа от rating делать еще один столбец в котором будут ссылки с вариантами ответов
ЗА и ПРОТИВ:
??$id???????">ЗА - "ЗА"
??$id???????">"Против" - Против
основная проблема в том, как сделать этот столбец? Ведь таблица автоматически генерится. Я вот думаю - в базе эти ссылки и хранить,
НО... как же мне передавать значение столбца id в переменную $id текущей (родной) записи?

Была еще одна мысль - добавлять на то место где стоит (в ссылке) $id сразу во сремя добавления в базу. НО там ведь еще не известно какое
значение примет id.

В общем - мысли каке-то есть, не могу в них разобраться.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Перезапись значения поля
« Ответ #3 : 30 Сентября 2002, 21:33:48 »
Цитировать
Ведь таблица автоматически генерится

Что значит, автоматически??? Ты же сам её и генеришь. Помимо печати в foreach\'e столбцов добавь ручками печать еще двух - с ссылками.
TANSTAAFL

Ленивый гость

  • Гость
Перезапись значения поля
« Ответ #4 : 01 Октября 2002, 18:16:40 »
Maniac
Цитировать
Помимо печати в foreach\'e столбцов добавь ручками печать еще двух - с ссылками.


да я ж не про то спрашиваю....

как мне сделать так, чтобы в эти ссылки добавлялся еще ID строки в которой эта сслка находится.


Во как!

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Перезапись значения поля
« Ответ #5 : 01 Октября 2002, 18:20:57 »
Цитировать
чтобы в эти ссылки добавлялся еще ID строки в которой эта сслка находится.

Ты же сам в $a_row загоняешь ряд, с которым работешь... id находится в $a_row[\'id\'].
TANSTAAFL

Ленивый гость

  • Гость
Перезапись значения поля
« Ответ #6 : 01 Октября 2002, 22:30:54 »
Maniac Сэнкс!
Работает.

Щас вот с датами кручу.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28