Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Голова разрывается уже!!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Платинум
Отправлено: 03 Октября, 2009 - 14:09:05
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




Есть код ошибок вроде нету:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['bars'])) {
  3.         if($_POST['color_id']== '0') { $color='FFFFFF'; }
  4.         if($_POST['color_id']== '1') { $color='b4dcef'; }
  5.         if($_POST['color_id']== '2') { $color='C0C0C0'; }
  6.         if($_POST['color_id']== '3') { $color ='808A87'; }
  7.         if($_POST['color_id']== '4') { $color ='1bcaca'; }
  8.         if($_POST['color_id']== '5') { $color ='f5bf86'; }
  9.         if($_POST['color_id']== '6') { $color ='f0935a'; }
  10.         if($_POST['color_id']== '7') { $color ='f27c3c'; }
  11.         if($_POST['color_id']== '8') { $color ='954616'; }
  12.         if($_POST['color_id']== '9') { $color ='deff00'; }
  13.         if($_POST['color_id']== '10') { $color ='8ea018'; }
  14.         if($_POST['color_id']== '11') { $color ='feacf0'; }
  15.         if($_POST['color_id']== '12') { $color ='ff71e6'; }
  16.         if($_POST['color_id']== '13') { $color ='d1b4ef'; }
  17.         if($_POST['color_id']== '14') { $color ='a863ff'; }
  18.         if($_POST['color_id']== '15') { $color ='565de4'; }
  19.         if($_POST['color_id']== '16') { $color ='ffbc2c'; }
  20. mysql_query("UPDATE characters SET name_color = ".$color." WHERE obj_Id = ".$_POST['char_id']."");
  21.                    }
  22.  
  23.  
  24. $link = mysql_query("SELECT * FROM characters WHERE account_name= ".$_SESSION['user_name']."");
  25. $res = mysql_fetch_array($link);
  26. ?>
  27. <form name="" action="index.php?do=change_name_color" method="post" >
  28.  
  29. <table width="500" cellpadding="0" cellspacing="1" border="0">
  30.  <tr>
  31.   <td class="cN">&nbsp;Сменить цвет имени у персонажа:</td>
  32.   <td class="cN" width="200">
  33.    <select name="char_id" size="1" style="width:200"> <?
  34.  
  35. do {
  36.          echo '<option value="'.$res['obj_Id'].'"  style="color:#'.$res['name_color'].'"  >&nbsp;'.$res['char_name'].'&nbsp; </option>  ';
  37. }
  38. while ($res = mysql_fetch_array($link));
  39.          
  40.        ?>    </select>
  41.   </td>
  42.  </tr>
  43.  <tr>
  44.   <td class="cN">&nbsp;Выберите новый цвет имени:</td>
  45.   <td class="cN aR">
  46.    <select name="color_id" size="1" style="width:120">
  47. <option value="0" style="color:#FFFFFF" selected="selected">Белый (default)</option>
  48. <option value="1" style="color:#b4dcef">Ледяной</option>
  49. <option value="2" style="color:#C0C0C0">Серебряный</option>
  50. <option value="3" style="color:#808A87">Чёрный кристалл</option>
  51. <option value="4" style="color:#1bcaca">Бирюзовый</option>
  52. <option value="5" style="color:#f5bf86">Кремовый</option>
  53. <option value="6" style="color:#f0935a">Карамель</option>
  54. <option value="7" style="color:#f27c3c">Апельсинка</option>
  55. <option value="8" style="color:#954616">Горячий шоколад</option>
  56. <option value="9" style="color:#deff00">Кислотный</option>
  57. <option value="10" style="color:#8ea018">Болотная тина</option>
  58. <option value="11" style="color:#feacf0">Свежая роза</option>
  59. <option value="12" style="color:#ff71e6">Малинка</option>
  60. <option value="13" style="color:#d1b4ef">Чароит</option>
  61. <option value="14" style="color:#a863ff">Аметист</option>
  62. <option value="15" style="color:#565de4">Лазурит</option>
  63. <option value="16" style="color:#ffbc2c">Золотой</option>  
  64. </select>
  65.   </td>
  66.  </tr>
  67.  
  68.  <tr>
  69.   <td></td>
  70.   <td class="cN aR"><input type="submit" name="bars" value="Далее >>"></td>
  71.  </tr>
  72. </form>
  73. </table>
  74.  
  75.  

Но обнавление таблицы characters не происходит
Структура таблицы characters:
CODE (text):
скопировать код в буфер обмена
  1. CREATE TABLE `characters` (
  2.   `account_name` varchar(45) default NULL,
  3.   `obj_Id` decimal(11,0) NOT NULL default '0',
  4.   `char_name` varchar(35) character set cp1251 default NULL,
  5.   `level` decimal(11,0) default NULL,
  6.   `maxHp` decimal(11,0) default NULL,
  7.   `curHp` decimal(18,0) default NULL,
  8.   `maxCp` decimal(11,0) default NULL,
  9.   `curCp` decimal(18,0) default NULL,
  10.   `maxMp` decimal(11,0) default NULL,
  11.   `curMp` decimal(18,0) default NULL,
  12.   `acc` decimal(11,0) default NULL,
  13.   `crit` decimal(10,0) default NULL,
  14.   `evasion` decimal(11,0) default NULL,
  15.   `mAtk` decimal(11,0) default NULL,
  16.   `mDef` decimal(11,0) default NULL,
  17.   `mSpd` decimal(11,0) default NULL,
  18.   `pAtk` decimal(11,0) default NULL,
  19.   `pDef` decimal(11,0) default NULL,
  20.   `pSpd` decimal(11,0) default NULL,
  21.   `runSpd` decimal(11,0) default NULL,
  22.   `walkSpd` decimal(11,0) default NULL,
  23.   `str` decimal(11,0) default NULL,
  24.   `con` decimal(11,0) default NULL,
  25.   `dex` decimal(11,0) default NULL,
  26.   `_int` decimal(11,0) default NULL,
  27.   `men` decimal(11,0) default NULL,
  28.   `wit` decimal(11,0) default NULL,
  29.   `face` decimal(11,0) default NULL,
  30.   `hairStyle` decimal(11,0) default NULL,
  31.   `hairColor` decimal(11,0) default NULL,
  32.   `sex` decimal(11,0) default NULL,
  33.   `heading` decimal(11,0) default NULL,
  34.   `x` decimal(11,0) default NULL,
  35.   `y` decimal(11,0) default NULL,
  36.   `z` decimal(11,0) default NULL,
  37.   `movement_multiplier` decimal(9,8) default NULL,
  38.   `attack_speed_multiplier` decimal(10,9) default NULL,
  39.   `colRad` decimal(10,3) default NULL,
  40.   `colHeight` decimal(10,3) default NULL,
  41.   `exp` decimal(20,0) default NULL,
  42.   `expBeforeDeath` decimal(20,0) default '0',
  43.   `sp` decimal(11,0) default NULL,
  44.   `karma` decimal(11,0) default NULL,
  45.   `pvpkills` decimal(11,0) default NULL,
  46.   `pkkills` decimal(11,0) default NULL,
  47.   `clanid` decimal(11,0) default NULL,
  48.   `maxload` decimal(11,0) default NULL,
  49.   `race` decimal(11,0) default NULL,
  50.   `classid` decimal(11,0) default NULL,
  51.   `base_class` int(2) NOT NULL default '0',
  52.   `deletetime` decimal(20,0) default NULL,
  53.   `cancraft` decimal(11,0) default NULL,
  54.   `title` varchar(16) default NULL,
  55.   `rec_have` int(3) NOT NULL default '0',
  56.   `rec_left` int(3) NOT NULL default '0',
  57.   `accesslevel` decimal(4,0) default NULL,
  58.   `online` decimal(1,0) default NULL,
  59.   `onlinetime` decimal(20,0) default NULL,
  60.   `char_slot` decimal(1,0) default NULL,
  61.   `newbie` decimal(2,0) default '1',
  62.   `lastAccess` decimal(20,0) default NULL,
  63.   `clan_privs` int(11) default '0',
  64.   `wantspeace` decimal(1,0) default '0',
  65.   `isin7sdungeon` decimal(1,0) NOT NULL default '0',
  66.   `in_jail` decimal(1,0) default '0',
  67.   `jail_timer` decimal(20,0) default '0',
  68.   `power_grade` decimal(11,0) default NULL,
  69.   `nobless` decimal(1,0) NOT NULL default '0',
  70.   `subpledge` int(1) NOT NULL default '0',
  71.   `last_recom_date` decimal(20,0) NOT NULL default '0',
  72.   `lvl_joined_academy` int(1) NOT NULL default '0',
  73.   `apprentice` int(1) NOT NULL default '0',
  74.   `sponsor` int(1) NOT NULL default '0',
  75.   `varka_ketra_ally` int(1) NOT NULL default '0',
  76.   `clan_join_expiry_time` decimal(20,0) NOT NULL default '0',
  77.   `clan_create_expiry_time` decimal(20,0) NOT NULL default '0',
  78.   `death_penalty_level` int(2) NOT NULL default '0',
  79.   `banchat_time` decimal(20,0) default '0',
  80.   `pccafe` int(11) NOT NULL default '0',
  81.   `ViP` decimal(1,0) NOT NULL default '0',
  82.   `name_color` char(6) default 'FFFFFF',
  83.   `title_color` char(6) NOT NULL default 'FFFF77',
  84.   PRIMARY KEY  (`obj_Id`),
  85.   KEY `clanid` (`clanid`)
  86. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Мне надо менять значение поле :
CODE (text):
скопировать код в буфер обмена
  1. `name_color` char(6) default 'FFFFFF',

Это почему то не происходит Ниндзя
Помогите пожалуста решить проблемку.
 
My status
 Top
movEAX
Отправлено: 03 Октября, 2009 - 14:28:50
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




Платинум пишет:
#
if($_POST['color_id']== '6') { $color ='f0935a'; }
if($_POST['color_id']== '7') { $color ='f27c3c'; }
if($_POST['color_id']== '8') { $color ='954616'; }
if($_POST['color_id']== '9') { $color ='deff00'; }


А не проще использовать конструкцию switch .. case ?

(Отредактировано автором: 03 Октября, 2009 - 14:29:05)



-----
армия.. самое убогое место
 
 Top
Платинум
Отправлено: 03 Октября, 2009 - 14:30:36
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




movEAX пишет:
А не проще использовать конструкцию switch .. case

Проше, но мне так понятнее
 
My status
 Top
EuGen Администратор
Отправлено: 03 Октября, 2009 - 14:33:30
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Посмотрите текст запроса.
Значения переменных, которые туда попадают. Возможно, нет такого obj_Id, который указан в WHERE.

Насчет чудовищного условия вверху - создайте массив чтоли. Или на худой конец, используйте switch


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Платинум
Отправлено: 03 Октября, 2009 - 14:39:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




EuGen пишет:
Значения переменных, которые туда попадают. Возможно, нет такого obj_Id, который указан в WHERE.

Если я сделаю
PHP:
скопировать код в буфер обмена
  1. mysql_query("UPDATE characters SET name_color = '1bcaca' WHERE obj_Id = '12345' ");

То все олтично работает.
Поле которое мне надо изменять содержит кодировку
Это может как то влиять ?
 
My status
 Top
EuGen Администратор
Отправлено: 03 Октября, 2009 - 14:45:47
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Это и есть текст запроса, который реально получается после конкатенации всех переменных? Или это так, для примера?
В Вашем случае кодировка не повлияет, кириллицы то нет.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Платинум
Отправлено: 03 Октября, 2009 - 14:49:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




EuGen пишет:
Это и есть текст запроса, который реально получается после конкатенации всех переменных

Верно, так должно быть, но почему то это не происходит Хм
 
My status
 Top
EuGen Администратор
Отправлено: 03 Октября, 2009 - 14:59:06
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Что ж,
print_r($_POST)
возможно, поможет.
А вообще
http://phpfaq[dot]ru/debug


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Платинум
Отправлено: 03 Октября, 2009 - 15:14:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




mysql_error() выдал мне :
Unknown column 'feacf0' in 'field list'
Поиск показал мне вообше Фак Не понял

(Отредактировано автором: 03 Октября, 2009 - 15:17:49)

 
My status
 Top
EuGen Администратор
Отправлено: 03 Октября, 2009 - 15:30:09
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Чудес не бывает. Значит, эта константа у Вас в запросе воспринимается не как строковая.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Платинум
Отправлено: 03 Октября, 2009 - 15:31:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




EuGen пишет:
воспринимается не как строковая.

Что мне тогда делать ? Не понял
Вообше уже ничего не понимаю...
 
My status
 Top
Платинум
Отправлено: 03 Октября, 2009 - 19:15:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




Я никому не нужен Я никому не нужен Я никому не нужен Я никому не нужен Я никому не нужен Я никому не нужен
Помогите пожалуста

(Отредактировано автором: 03 Октября, 2009 - 20:21:13)

 
My status
 Top
Ch_chov
Отправлено: 03 Октября, 2009 - 22:53:26
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




PHP:
скопировать код в буфер обмена
  1. mysql_query("UPDATE characters SET name_color = ".$color." WHERE obj_Id = ".$_POST['char_id']."");


Если переменная $color будет содержать строку, то mysql воспримет её как имя столбца.


Попробуй сделать так:
PHP:
скопировать код в буфер обмена
  1. mysql_query("UPDATE `characters` SET `name_color` = '$color' WHERE `obj_Id` = '{$_POST['char_id']}'");


P.S. Может стоит использовать в качестве id_color его RGB значение ?
 
 Top
Платинум
Отправлено: 03 Октября, 2009 - 22:59:28
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




Ch_chov пишет:
mysql_query("UPDATE `characters` SET `name_color` = '$color' WHERE `obj_Id` = '{$_POST['char_id']}'");

Блин, даже и не знаю как благодарить)))
Спасибо огомное!!!! Вот так заработало)))
 
My status
 Top
EuGen Администратор
Отправлено: 03 Октября, 2009 - 23:37:37
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Ну))
А мне так хотелось чтобы автор все-таки дошел сам..


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB