[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление нескольких значений в столбце
Lightt
Реально что то в ступоре... не могу понять как реализовать.

Есть таблица

id name id_User
2 2222___1
5 5555___1
12 1212___1
33 3333___2

Как при нажатии кнопки, обновить все формы id_User? Я делаю что то типо того -

$result = mysql_query('select * from table where id_user="'.$_SESSION['id'].'"');				 
while ($all_topmenu[] = mysql_fetch_assoc($result)) {}


if(isset($knop)){
$result = mysql_query('update `topmenu` SET name = "'.$topmenu['name'].'" where id= "'.$topmenu['id'].'"');
}


<form  method="post">
<?php
foreach($all_topmenu AS $topmenu): if(isset($topmenu['id'])): ?>
<input
type='text' name='<?php echo $topmenu['id']?>' size="38" value="<?php echo $topmenu['name']?>"><br>
<?php
endif; endforeach; ?>
<input
type="submit" name="knop">
</form>

Выводит он правильно, value получает значение, name получает id но ничего не обновляется. :blink:



Спустя 2 минуты, 52 секунды (22.10.2011 - 00:33) Игорь_Vasinsky написал(а):
"'.$topmenu['id'].'"'


убери одинарные кавычки в 2х запросах

".$topmenu['id']."'


и к запросу при отадке дописывай or die(mysql_error());

Спустя 13 минут, 26 секунд (22.10.2011 - 00:46) Winston написал(а):
Цитата (Lightt @ 22.10.2011 - 00:30)
if(isset($knop)){

Ты инициализировал $knop ? Или у тебя register_globals On ?
if(isset($_POST['knop'])){

Спустя 1 минута, 54 секунды (22.10.2011 - 00:48) Lightt написал(а):
Игорь_Vasinsky
Если я их уберу, вообще ничего работать не будет, запрос начинается с ' кавычек
or die ошибок не выдает.
Да там и не в этом дело, там сама логика не правильная.
Он же только одно значение обновляет, там цикл поставить бы...наверное.

Winston
У меня там вообще картинка, ошибка не в этом =) но вообще я вроде всегда так пишу, всегда работает, это плохо что register_globals On ?

Спустя 4 минуты, 55 секунд (22.10.2011 - 00:53) Игорь_Vasinsky написал(а):


там же INT

конечно в цикле.

Спустя 2 минуты, 44 секунды (22.10.2011 - 00:56) Winston написал(а):
Вообще-то так красивее выглядят запросы
mysql_query("select * from `table` where `id_user`='".$_SESSION['id']."'");	
mysql_query("update `topmenu` SET `name` = '".$topmenu['name']."' where `id`= '".$topmenu['id']."'");

И попробуй так форму переписать
<form action="" method="post">
<?php
foreach($all_topmenu AS $topmenu): if(isset($topmenu['id'])): ?>
<input
type="text" name="<?php echo $topmenu['name']?>" size="38" value="<?php echo $topmenu['id']?>"><br>
<?php
endif; endforeach; ?>
<input
type="submit" name="knop">
</form>

Спустя 13 минут, 29 секунд (22.10.2011 - 01:09) Lightt написал(а):
Winston
Ну ок, впредь постараюсь писать так... просто чаще всего такие запросы копирую со старых, а в старых писал именно так, и переучиться никак не могу =)

Форма с твоим примером выводит id да и в общем не меняет ничего.



Игорь_Vasinsky
А цикл мне нельзя кажется о_О...
Вообще пойду спать, завтра будет думаться лучше =)

Там просто смысл такой что есть 5 полей для пользователя. Все создаются и хранятся в отдельной таблице. И надо дать возможность их поменять.
Но тут есть проблема, по задумке он может заполнить не все поля.
Т.е. у одного их может быть 5, у другого 1, но выводиться должны все 5, на случай если он захочет что то еще добавить.

Спустя 7 минут, 20 секунд (22.10.2011 - 01:17) Lightt написал(а):
Вообще я так делал уже... но там на прямую id прописан, а я его знать не могу так...но так все работает =)


if (isset($_POST['create']))
{
$result1 = mysql_query('update `category` SET name = "'.$_POST['category1'].'" where id= "'.$all_category[0]['id'].'"');
$result2 = mysql_query('update `category` SET name = "'.$_POST['category2'].'" where id= "'.$all_category[1]['id'].'"');
$result3 = mysql_query('update `category` SET name = "'.$_POST['category3'].'" where id= "'.$all_category[2]['id'].'"');
$result4 = mysql_query('update `category` SET name = "'.$_POST['category4'].'" where id= "'.$all_category[3]['id'].'"');
$result5 = mysql_query('update `category` SET name = "'.$_POST['category5'].'" where id= "'.$all_category[4]['id'].'"');
}



<form method="POST">
<input
name="category1" type="text" size="35" value="<?php echo $all_category[0]['name'] ?>">
<input
name="category2" type="text" size="35" value="<?php echo $all_category[1]['name'] ?>">
<input
name="category3" type="text" size="35" value="<?php echo $all_category[2]['name'] ?>">
<input
name="category4" type="text" size="35" value="<?php echo $all_category[3]['name'] ?>">
<input
name="category5" type="text" size="35" value="<?php echo $all_category[4]['name'] ?>">
<input
type="submit" name="create" value="Изменить" style="width:120px;">
</form>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.