|
|
|
|
|
для: Lotanaen
(27.09.2011 в 09:27)
| | спасибо учту | |
|
|
|
|
|
|
|
для: torxxx
(26.09.2011 в 18:11)
| | зарезервированые слова можно использовать в названиях таблиц и их полей, но лучше всегда при формировании запросов все имена эти брать в апостроф(обратные кавычки) - не ' , а `:
$resultADD = mysql_query ( "UPDATE `items` SET
`title`='$arrtitle[title]',
`set`='$arrtitle[set]',
WHERE `id`='$arrid'", $db);
|
| |
|
|
|
|
|
|
|
для: Lotanaen
(26.09.2011 в 17:48)
| | Если правильно понял, нужно сделать так:
foreach ($_POST['items'] as $arrid => $arrtitle)
{
$resultADD = mysql_query ( "UPDATE items SET
'title'=$arrtitle[title],
'Scout'=$arrtitle[Scout],
'Soldier'=$arrtitle[Soldier],
'Pyro'=$arrtitle[Pyro],
'Demoman'=$arrtitle[Demoman],
'Heavy'=$arrtitle[Heavy],
'Engineer'=$arrtitle[Engineer],
'Medic'=$arrtitle[Medic],
'Sniper'=$arrtitle[Sniper],
'Spy'=$arrtitle[Spy],
'the_weapons'=$arrtitle[the_weapons],
'the_hat'=$arrtitle[the_hat],
'the_other'=$arrtitle[the_other],
'set'=$arrtitle[set],
'Slot'=$arrtitle[Slot],
'counter'=$arrtitle[counter]
WHERE 'id'='$arrid'", $db);
if ($resultADD) {echo "<br>Новые параметры внесены в базу данных<br><br>";} else {echo "<br>Ошибка запроса - параметры не внесены<br><br>";}
}
|
Ясно как сказано выше я допустил 1 ошубку (фатальную):
1) нельзя использовать зарезервированные переменные в названия таблиц (в моем случаи set)
2) нельзя так-же делать так:
'title'='$arrtitle[title]' - неправильно
title='$arrtitle[title]' - правильно
|
$resultADD = mysql_query ( "UPDATE items SET
title='$arrtitle[title]',
set='$arrtitle[set]',
WHERE id='$arrid'", $db);
|
| |
|
|
|
|
|
|
|
для: torxxx
(26.09.2011 в 17:42)
| | да... вы второй foreach зачем делаете?
там получится такой же запрос:
$resultADD = mysql_query ( "UPDATE items SET
title='$arrtitle[title]'
WHERE id='$arrid'", $db);
|
т.е. так с массивом поступите | |
|
|
|
|
|
|
|
для: Lotanaen
(26.09.2011 в 17:20)
| | спасибо за найденную ошибку, поправил.
Но данные все равно не заносятся | |
|
|
|
|
|
|
|
для: torxxx
(26.09.2011 в 16:58)
| | поля таблицы возьмите в кавычки: `set` либо не называйте таблицы и ее поля зарезервированными в mysql словами. | |
|
|
|
|
 134 Кб |
|
|
для: torxxx
(26.09.2011 в 11:29)
| | Появилась еще одна задача (непонятная для меня)
Есть массив (упростил до 2-ух "веток", на самом деле число меняется):
$_POST['items'] =>
Array
(
[1] => Array
(
[title] => Неумолимая сила
[Scout] => 1
[Soldier] => 0
[Pyro] => 0
[Demoman] => 0
[Heavy] => 0
[Engineer] => 0
[Medic] => 0
[Sniper] => 0
[Spy] => 0
[the_weapons] => 0
[the_hat] => 0
[the_other] => 0
[set] => нет
)
[40] => Array
(
[title] => Томислав
[Scout] => 0
[Soldier] => 0
[Pyro] => 0
[Demoman] => 0
[Heavy] => 1
[Engineer] => 0
[Medic] => 0
[Sniper] => 0
[Spy] => 0
[the_weapons] => 0
[the_hat] => 0
[the_other] => 0
[set] => есть
)
)
|
Обработал его комантой Foreach и вставил функцию обновления строк таблицы - но получилась "Борода" какая-то (не работает). Не обновляются поля строки таблицы (сделал проверку - которая подтверждает что я сделал неправильно запрос):
foreach ($_POST['items'] as $arrid => $arrtitle)
{
foreach ($arrtitle as $value => $key)
{
$resultADD = mysql_query ( "UPDATE items SET
title='$key',
Scout='$key',
Soldier='$key',
Pyro='$key',
Demoman='$key',
Heavy='$key',
Engineer='$key',
Medic='$key',
Sniper='$key',
Spy='$key',
the_weapons='$key',
the_hat='$key',
the_other='$key',
set='$key',
Slot='$key',
counter='$key',
WHERE id='$arrid'", $db);
}
if ($resultADD) {echo "<br>Новые параметры внесены в базу данных<br><br>";} else {echo "<br>Ошибка запроса - параметры не внесены<br><br>";}
}
|
Прикрепил скриншот таблицы для наглядности. | |
|
|
|
|
|
|
|
для: Valick
(26.09.2011 в 11:18)
| | Есть игра "http://wiki.teamfortress.com/wiki/Heavy/ru"/ В ней предусмотрен обмен предметами между игроками. У меня есть лишние игровые предметы и так-как я начал изучать php, решил написать движок сайта по обмену этими предметами. | |
|
|
|
|
|
|
|
для: Valick
(26.09.2011 в 11:24)
| | - | |
|
|
|
|
|
|
|
для: Valick
(26.09.2011 в 11:15)
| | Ага, то что надо (буду продумывать код дальше), не знал что так можно сделать, логика понятна.
Благодарю! | |
|
|
|
|