Есть таблица
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 ?
Если я их уберу, вообще ничего работать не будет, запрос начинается с ' кавычек
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, на случай если он захочет что то еще добавить.
Ну ок, впредь постараюсь писать так... просто чаще всего такие запросы копирую со старых, а в старых писал именно так, и переучиться никак не могу =)
Форма с твоим примером выводит 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>