Привет ребята! Сейчас пишу вот такую плюсовалку...но она почему-то неработает...не плюсует...как она должна выглядеть? Вот код - Код (Text): <?php if (($user['align'] >= '0' && $user['align'] < '2') || ($user['align'] > '2' && $user['align'] < '3')){ echo ""; if($_POST['login']) { $plusminus = mysql_fetch_array(mysql_query("SELECT `id`, `login` , `karma`, `obshitelnost`, `jumor`, `harizma`, `intellekt`, `sexualnost`, `troll`, `zadrot`, `alco`, `narko` FROM `users` WHERE `login` = '".$_POST['login']."';")); switch($plusminus){ case 0: $do = ''; break; case 1: $do = '0,01'; break; case 2: $do = '-0,01'; break; } $features = mysql_fetch_array(mysql_query("SELECT `id`, `login` , `karma`, `obshitelnost`, `jumor`, `harizma`, `intellekt`, `sexualnost`, `troll`, `zadrot`, `alco`, `narko` FROM `users` WHERE `login` = '".$_POST['login']."';")); switch($features){ case 0: echo "features=0<br>"; break; case 1: $skill = 'karma'; break; case 2: $skill = 'obshitelnost'; break; case 3: $skill = 'jumor'; break; case 4: $skill = 'harizma'; break; case 5: $skill = 'intellekt'; break; case 6: $skill = 'sexualnost'; break; case 7: $skill = 'troll'; break; case 8: $skill = 'zadrot'; break; case 9: $skill = 'alco'; break; case 10: $skill = 'narko'; break; } $dd = mysql_fetch_array(mysql_query("SELECT `id`, `login` , `karma`, `obshitelnost`, `jumor`, `harizma`, `intellekt`, `sexualnost`, `troll`, `zadrot`, `alco`, `narko` FROM `users` WHERE `login` = '".$_POST['login']."';")); if($dd) { mysql_query("UPDATE `users` SET '$dd' = '$features' + '$do' WHERE `login` = '".$_POST['login']."';"); echo "Коза сделала свой выбор."; } else { echo "Данного пользователя не существует либо вы не ввели число."; } } echo "<form method=post><fieldset><legend>Изменить Козу пользователю</legend> <table width=700><tr> </td><td>Логин:</td><td><input type='text' name='login' value='",$_POST['login'],"'></td> <td>Действие: <select name='plusminus' value='plusminus'> <option value='0'> </option> <option value='1'>+ добавить</option> <option value='2'>- удалить</option></select> <td>Характеристика: <select name='features' value='features'> <option value='0'> </option> <option value='1'>Карма</option> <option value='2'>Общительность</option> <option value='3'>Юмор</option> <option value='4'>Харизма</option> <option value='5'>Интеллект</option> <option value='6'>Сексуальность</option> <option value='7'>Тролль</option> <option value='8'>Задрот</option> <option value='9'>Алкоголизм</option> <option value='10'>Наркомания</option> </select></td><td><input type=submit value='Добавить'></td></tr>"; } ?> Добавлено спустя 56 секунд: Плюсовать должна на +0.01 и на минус -0.01 и колдаун 10 часов. Что тут нетак?
Меня почему-то смущают кавычки в запросе на изменение значения. Т.е. Код (Text): "UPDATE `users` SET '$dd' = '$features' + '$do' Может вы лучше сначала из php-кода сами посчитаете нужное значение, а в update подставите уже сплюсованное значение.
Вот немного изменилось - Код (Text): <?php if (($user['align'] >= '0' && $user['align'] < '2') || ($user['align'] > '2' && $user['align'] < '3')){ echo ""; echo "<form method=post><fieldset><legend>Изменить Козу пользователю</legend> <table width=700><tr> </td><td>Логин:</td><td><input type='text' name='login' value='",$_POST['login'],"'></td> <td>Действие: <select name='plusminus' value='plusminus'> <option value='0'> </option> <option value='1'>+ добавить</option> <option value='2'>- удалить</option></select> <td>Характеристика: <select name='features' value='features'> <option value='0'> </option> <option value='1'>Карма</option> <option value='2'>Общительность</option> <option value='3'>Юмор</option> <option value='4'>Харизма</option> <option value='5'>Интеллект</option> <option value='6'>Сексуальность</option> <option value='7'>Тролль</option> <option value='8'>Задрот</option> <option value='9'>Алкоголизм</option> <option value='10'>Наркомания</option> </select></td><td><input type=submit value='Добавить'></td></tr>"; if($_POST['login'] && $_POST['plusminus'] && $_POST['features'] ) { switch($_POST['plusminus']){ case 0: $do = ''; break; case 1: $do = '0,01'; break; case 2: $do = '-0,01'; break; } switch($_POST['features']){ case 0: $skill = ''; break; case 1: $skill = 'karma'; break; case 2: $skill = 'obshitelnost'; break; case 3: $skill = 'jumor'; break; case 4: $skill = 'harizma'; break; case 5: $skill = 'intellekt'; break; case 6: $skill = 'sexualnost'; break; case 7: $skill = 'troll'; break; case 8: $skill = 'zadrot'; break; case 9: $skill = 'alco'; break; case 10: $skill = 'narko'; break; } $dd = mysql_fetch_array(mysql_query("SELECT `id`, `login` , `karma`, `obshitelnost`, `jumor`, `harizma`, `intellekt`, `sexualnost`, `troll`, `zadrot`, `alco`, `narko` FROM `users` WHERE `login` = '".$_POST['login']."';")); if($dd) { mysql_query("UPDATE `users` SET '$skill' = '$do' + '$skill' WHERE `login` = '".$_POST['login']."';"); echo "Коза сделала свой выбор."; } else { echo "Данного пользователя не существует либо вы не ввели число."; } } } ?> Добавлено спустя 1 минуту 14 секунд: А как быть с запросами mysql по харакретистикам карма харизма и тд ... как их вписать правильно в mysql запрос? вот в этот Код (Text): mysql_query("UPDATE `users` SET '$skill' = '$do' + '$skill' WHERE `login` = '".$_POST['login']."';");
Попытайся отладить... Воспользуйся mysql_error() или выполни получившийся запрос в phpmyadmin. Ты получишь ошибку с описанием, ну а дольше дело техники
Вообще, может я и не прав. У вас же имя полей в переменных, так что так как я написал, и не получится. Это я поторопился. Я такой способ использовал при отладке sql-запросов - логировал сами запросы в файл, потом выполнял их phpMyAdmin, что вам и написал smitt.
Если так Код (Text): <?php if (($user['align'] >= '0' && $user['align'] < '2') || ($user['align'] > '2' && $user['align'] < '3')){ echo ""; echo "<form method=post><fieldset><legend>Изменить Козу пользователю</legend> <table width=700><tr> </td><td>Логин:</td><td><input type='text' name='login' value='",$_POST['login'],"'></td> <td>Действие: <select name='plusminus' value='plusminus'> <option value='0'> </option> <option value='1'>+ добавить</option> <option value='2'>- удалить</option></select> <td>Характеристика: <select name='features' value='features'> <option value='0'> </option> <option value='1'>Карма</option> <option value='2'>Общительность</option> <option value='3'>Юмор</option> <option value='4'>Харизма</option> <option value='5'>Интеллект</option> <option value='6'>Сексуальность</option> <option value='7'>Тролль</option> <option value='8'>Задрот</option> <option value='9'>Алкоголизм</option> <option value='10'>Наркомания</option> </select></td><td><input type=submit value='Добавить'></td></tr>"; if($_POST['login'] && $_POST['plusminus'] && $_POST['features'] ) { switch($_POST['plusminus']){ case 0: break; case 1: break; case 2: break; } switch($_POST['features']){ case 0: break; case 1: break; case 2: break; case 3: break; case 4: break; case 5: break; case 6: break; case 7: break; case 8: break; case 9: break; case 10: break; } if ($_POST['plusminus'] == 0 && $_POST['features'] == 0) { } } } ?>