Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2011, 10:22   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию Не хочет изменять в БД

PHP код:
<?php
include('../tools/mysql.php');
$na[] = $_POST['na'];
$sa[] = $_POST['sa'];
foreach(
$_POST['textfield'] as $key => $value){
mysql_query("UPDATE $table SET name='$na[$key]', sait='$sa[$key]',  app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'"$msconnect);
}
?>
что то не так сделал?
cargo29 вне форума Ответить с цитированием
Старый 07.10.2011, 10:59   #2
Xenm
Пользователь
 
Регистрация: 15.09.2010
Сообщений: 38
По умолчанию

Попробуй текст запроса присвоить переменной и вывести эту переменную, увидишь правильный ли у тебя запрос, скорее всего что то нет так.
Xenm вне форума Ответить с цитированием
Старый 07.10.2011, 11:26   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Xenm Посмотреть сообщение
Попробуй текст запроса присвоить переменной и вывести эту переменную, увидишь правильный ли у тебя запрос, скорее всего что то нет так.
пробовал вывести все выводиться, а записываться не хочет а если оставляешь так то записывает

PHP код:
mysql_query("UPDATE $table SET app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'"$msconnect); 
cargo29 вне форума Ответить с цитированием
Старый 07.10.2011, 11:37   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Вы используете какие-то страшные конструкции .. а попроще никак нельзя передавать данные из форм
Вот здесь $na[] = $_POST['na'];
Вы в $na[0] добавляете данные ... а вы уверены, что далее $na[$key] - $key == 0 ????
Что вам мешает смотреть структуру данных var_dump($na), var_dump($_POST['textfield']) ????
Сразу получите данные о том, что у вас там происходит

P.S. почитайте о том как дебажиться php ... например как пользоваться xdebug , ну или хотя зачем использовать var_dump .. думаю сразу исчезнет необходимость в 90% тем

Последний раз редактировалось Cronos20; 07.10.2011 в 11:40.
Cronos20 вне форума Ответить с цитированием
Старый 07.10.2011, 11:40   #5
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Во-первых! Зачем делать столько запросов к базе. Попробуйте использовать оператор IN
Во-вторых, по Вашему коду,

PHP код:
<?php 
include('../tools/mysql.php'); 
$na[] = $_POST['na']; 
$sa[] = $_POST['sa']; 
foreach(
$_POST['textfield'] as $key => $value){ 
echo (
"UPDATE $table SET name='$na[$key]', sait='$sa[$key]',  app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'""<br/>"); 

?>
Далее копируете любой запрос, и попробуйте его выполнить например в phpmyadmin.
dr.Chas вне форума Ответить с цитированием
Старый 07.10.2011, 11:57   #6
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

что за оператор IN я его не нашел в гугле???? var_dumphttp://www.softtime.ru/dic/id_dic=268&id_group=9

если я правильно понял то так надо сделать?
PHP код:
mysql_query("UPDATE $table SET app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'"$msconnect); 
app='$value' эти данные изменяются, я предпологаю что проверка и изменение однеовременно нельзя
mysql_query("UPDATE $table SET sait='$sa[$key]' and name='$na[$key]' app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'", $msconnect);
cargo29 вне форума Ответить с цитированием
Старый 07.10.2011, 12:20   #7
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Cronos20 var_dump посмотрел так и не смог понять чем она мне может помочь может я что то не заметил
cargo29 вне форума Ответить с цитированием
Старый 07.10.2011, 12:33   #8
Xenm
Пользователь
 
Регистрация: 15.09.2010
Сообщений: 38
По умолчанию

PHP код:
echo "UPDATE $table SET name='$na[$key]', sait='$sa[$key]',  app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'"
Покажи что выводится
Xenm вне форума Ответить с цитированием
Старый 07.10.2011, 12:33   #9
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Ещё раз говорю вместо этого поставте это
PHP код:
mysql_query("UPDATE $table SET sait='$sa[$key]' and name='$na[$key]' app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'" 
Вот это
PHP код:
echo ("UPDATE $table SET name='$na[$key]', sait='$sa[$key]',  app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'""<br/>");  

и выложите то что выведет echo сюда.
dr.Chas вне форума Ответить с цитированием
Старый 07.10.2011, 12:47   #10
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Xenm Посмотреть сообщение
PHP код:
echo "UPDATE $table SET name='$na[$key]', sait='$sa[$key]',  app='$value' WHERE sait='$sa[$key]' and name='$na[$key]'"
Покажи что выводится
http://banners.ks8.ru/ban_admin/write_stat.php
cargo29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменять БД через DBGridEh lexaltd БД в Delphi 1 19.11.2010 13:27
изменять разрешение экрана sanuich Общие вопросы Delphi 1 17.05.2010 23:34
Изменять текст через Макрос Apostolx Microsoft Office Word 0 29.03.2010 17:17
Как изменять частоту железа?? UnD)eaD)Snake Общие вопросы Delphi 6 30.07.2007 15:06