Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2012, 09:02   #1
Makaralex
Пользователь
 
Регистрация: 06.06.2011
Сообщений: 42
По умолчанию PHP + MySQL

Доброго времени суток.

У меня такая проблема,почему то не могу записать в базу значение.

Код:
function golos() {
mysql_query("UPDATE deb SET (".$zapr."=".$zapr."+1) WHERE id=".$f[id]);
}

<input type=\"image\" src=\"plus.png\" $zapr=za onClick=\"golos()\">

<input type=\"image\" src=\"plus.png\" $zapr=pr onClick=\"golos()\">
Задумано:
При нажатии на кнопку должно значение увеличиваться на 1.
http://hamachi-server.ucoz.ru ———— сервера хамачи и файлы для игр по онлайн™
Makaralex вне форума Ответить с цитированием
Старый 22.07.2012, 10:04   #2
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

вообще то эту функцию нельзя вставть вот прямо так в HTML
Нужно либо через JS отправилять запрос отдельному скрипту, либо сделать кнопки формой, которая сабмиттит себя скрипту, в котором уже и будет обрабатываться какая кнопка нажата и добавляться голос
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 22.07.2012, 10:04   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это в JS прописано? JS понятия не имеет о твоем Мускуле. mysql_query должен выполняться на сервере в PHP или PERL коде, но никак не на стороне клиента.
Обьясняй подробно что и для чего ты делаешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.07.2012, 10:18   #4
Makaralex
Пользователь
 
Регистрация: 06.06.2011
Сообщений: 42
По умолчанию

у меня это всё в php

Цитата:
Это в JS прописано? JS понятия не имеет о твоем Мускуле. mysql_query должен выполняться на сервере в PHP или PERL коде, но никак не на стороне клиента.
Обьясняй подробно что и для чего ты делаешь.
И так, я делаю эм...голосование.
Две кнопки,одна за,другая против,и функция которая отправляет апдейт
http://hamachi-server.ucoz.ru ———— сервера хамачи и файлы для игр по онлайн™

Последний раз редактировалось Stilet; 22.07.2012 в 10:27.
Makaralex вне форума Ответить с цитированием
Старый 22.07.2012, 10:27   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
у меня это всё в php
Неа. В данном случае этот код вызывается не при обработке php исходника. Это в ASP такое могло бы прокатить, но не в чистом PHP. Тебе придется как уже сказали отправлять из функции golos отдельно запрос по Ajax через jQuery или штатными средствами, но вот так просто браузер тебе не выполнит то что ты хочешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.07.2012, 10:54   #6
Makaralex
Пользователь
 
Регистрация: 06.06.2011
Сообщений: 42
По умолчанию

значит,что вот просто нажатием кнопки с парочкой условий я не смогу сделать обычного запроса мускуля? SELECT же катит,почему не катит например
UPDATE table set p=p+1
http://hamachi-server.ucoz.ru ———— сервера хамачи и файлы для игр по онлайн™
Makaralex вне форума Ответить с цитированием
Старый 22.07.2012, 11:11   #7
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Дело не в том что апдейт не катит, дело в том, что Вы сразу при генерации страницы вызываете эту функцию. Для Select - это может быть видно, если делается выборка с выводом. Сейчас же у Вас при каждой загрузке страницы будет добавляться два голоса. Как уже было сказано - тут нужен совершенно другой подход
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 22.07.2012, 11:24   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

onClick=\"golos()\" указывает браузеру назначить обработчик на кнопку.
при клике по кнопке вызовется эта функция, но вызовется она на стороне браузера, который ничего не знает о mysql_query.
Цитата:
SELECT же катит
Ты омлет с глазуньей то не путай. Ты где описал этот SELECT?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.07.2012, 11:34   #9
Makaralex
Пользователь
 
Регистрация: 06.06.2011
Сообщений: 42
По умолчанию

Код:
$q = mysql_query("SELECT * FROM deb");
$f = mysql_fetch_array($q);
вот где я его вызывал
хотя согласен,он при генерации всё это делает

Спасибо за ваше терпение.
Не могли бы вы привести примерчик как использовать update,хотя я уже сам почти сделал,но всё же
http://hamachi-server.ucoz.ru ———— сервера хамачи и файлы для игр по онлайн™
Makaralex вне форума Ответить с цитированием
Старый 22.07.2012, 11:38   #10
Makaralex
Пользователь
 
Регистрация: 06.06.2011
Сообщений: 42
По умолчанию

УРА! ЗАРАБОТАЛО! осталось только на проверку поставить чтобы человек не нагонял кучу рейтинга,а только один раз

Вот что получилось у меня:
Код:
if($_GET['d']>'') {
	$zapr=$_GET['d'];
	$rere=$f[$zapr]+1;
	mysql_query("UPDATE `deb` SET `".$zapr."`='".$rere."' WHERE `id`=".$f['id']);
	echo "UPDATE `deb` SET `".$zapr."`='".$rere."' WHERE `id`=".$f['id'];
}

<a href=http://localhost/test/debat.php?ref=".$ref."&d=pr><img src=\"plus.png\"></a>
http://hamachi-server.ucoz.ru ———— сервера хамачи и файлы для игр по онлайн™
Makaralex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows+Apache+PHP+MySQL: не работает расширение MySQL. Пепел Феникса Софт 10 15.04.2012 14:10
TopServer(PHP+MySQL+Apache+/etc), и обновление компонентов(в основном PHP) Пепел Феникса Софт 2 05.11.2011 14:38
что не так с php кдом или с настройками MySQL+PHP Jimmi Помощь студентам 2 27.12.2010 09:03
mysql и php. tatysya Помощь студентам 2 12.11.2010 18:46