0 / 0 / 2
Регистрация: 10.09.2013
Сообщений: 96
1

Сохранение

19.09.2013, 13:00. Показов 1581. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
не сохраняет , ошибок не пишет
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
 
    
require_once('db.php');
 
if (isset($_GET['save']) && $_GET['save']=="1") {
    
    $key = $_POST['id'];
    $ru = array();
    $kz=array();
    $ru['id']= $id;
    $kz['id']= $id;
    $ru['ru'] = $_POST['ru'];
    $kz['kz'] = $_POST['kz'];
    
    $db->query("replace into lang set ?a ",$ru);
     $db->query("replace into lang set ?a ",$kz);
     echo mysql_error();
    
    
} else {
     /*$data = $db->selectRow("select t1.id,t1.ru,t2.kz as kz from lang t1 
 left join lang t2 on t1.id=t2.id where t1.id=?", $_GET['key']);*/
   $data = $db->selectRow("select * from `lang` where id=?", $_GET['id']);
 
 echo json_encode($data); 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2013, 13:00
Ответы с готовыми решениями:

Сохранение
Как сделать? Когда в input набираешь слово, потом нажимаешь на кнопку и он сохраняется, когда еще...

Сохранение файла
Есть некий отчет в виде таблицы: @layout('layouts.library') @section('top')...

Сохранение конфигурации
Здравствуйте есть такой код &lt;? include(&quot;temp/core/config.php&quot;); ?&gt; &lt;div class=&quot;acp&quot;&gt; &lt;form...

AJAX сохранение
всем привет,есть вопрос,при нажантие на кнопку сохранить,вместо того что бы сохранять,начинает...

20
3 / 3 / 1
Регистрация: 06.05.2012
Сообщений: 78
19.09.2013, 13:08 2
а ошибку написать?
0
Заблокирован
19.09.2013, 13:14 3
Цитата Сообщение от LitrianAs Посмотреть сообщение
$db->query
Интересно, а эта штука как узнает какое поле в массиве есть то самое, по которому строится условие WHERE?
0
0 / 0 / 2
Регистрация: 10.09.2013
Сообщений: 96
19.09.2013, 13:16  [ТС] 4
Цитата Сообщение от olologogi Посмотреть сообщение
а ошибку написать?
ошибку не выдает вот чем загвозгка

Добавлено через 55 секунд
Цитата Сообщение от sqlnub Посмотреть сообщение
Интересно, а эта штука как узнает какое поле в массиве есть то самое, по которому строится условие WHERE?
наверно через $ru,$kz
0
Заблокирован
19.09.2013, 13:25 5
Другими словами вам условие не надо, вы хотите во всей таблице заменить значения полей id, ru, kz на значения из массива $_POST. Правильно?

Добавлено через 3 минуты
Может быть в том баяне есть какое-то правило, типа поле для условия должно быть в массиве на первом месте.

Я просто понять не могу почему вы пишите на сохраняет, если по виду скрипта должно заменять тотально все.
0
0 / 0 / 2
Регистрация: 10.09.2013
Сообщений: 96
19.09.2013, 13:26  [ТС] 6
Цитата Сообщение от sqlnub Посмотреть сообщение
Другими словами вам условие не надо, вы хотите во всей таблице заменить значения полей id, ru, kz на значения из массива $_POST. Правильно?
да вы правильно поняли. Есть таблица там записан id,ru,kz допустим я нажимаю на значение id это поле по id он заносит в форму где уже введены данные из ru и kz , когда их изменяешь допустим ru поменяли немного нажимаем сохранить он должен ввести в бд изменения
0
Заблокирован
19.09.2013, 13:36 7
Цитата Сообщение от LitrianAs Посмотреть сообщение
допустим я нажимаю на значение id это поле по id
Третий раз пытаю: класс из которого сделана инстансь под названием $db _умеет_ самостоятельно находить это ваше id в массиве? Если да то по какому признаку. Например по имени, например по месту в массиве и тп.

Что будет делать этот класс не найдя поля для формирования условия?

Вы же валите в один массив и данные для записи и это самое id. Внешне выглядит как будто и это id надо записать. А без условия запрос за запись запишет указанные значения во ВСЕ указанные поля таблицы.

Если этого не происходит, значит класс предупреждает такое событие и надо рыть его в поисках ошибок. Вероятно это тот же баян на который недавно один читатель расширительно смотрел. Значит там есть массив с сообщениями об ошибках. Почитайте ману на класс.
0
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
19.09.2013, 15:47 8
LitrianAs, подучите язык, разберитесь с синтаксисом, потом расскажите общественности откуда взялась переменная $id

Добавлено через 3 минуты
и в запросы тоже принято массивы кидать, как аргументы? нет. назад. вам срочно в школу, ну а потом сюда
0
0 / 0 / 2
Регистрация: 10.09.2013
Сообщений: 96
19.09.2013, 16:29  [ТС] 9
Цитата Сообщение от AndreyDyakonov Посмотреть сообщение
LitrianAs, подучите язык, разберитесь с синтаксисом, потом расскажите общественности откуда взялась переменная $id

Добавлено через 3 минуты
и в запросы тоже принято массивы кидать, как аргументы? нет. назад. вам срочно в школу, ну а потом сюда
Воопще то она с формы загружается если не понятно) а так спс за подсказку
0
Заблокирован
19.09.2013, 17:25 10
Цитата Сообщение от AndreyDyakonov Посмотреть сообщение
и в запросы тоже принято массивы кидать, как аргументы?
Используется класс методов которого считается мы не знаем. Может быть там делается отдельный запрос к указанной таблице, высняется какое поле можно поставить в условие и все такое.

Что, конечно, маловероятно, но реализуемо. Примерно так и устроена инлайновая редактура данных в PMA
0
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
19.09.2013, 17:37 11
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require_once('db.php');
 
$db->setErrorHandler('databaseErrorHandler');
 
function databaseErrorHandler($message, $info) {
    echo "<p>SQL Error: $message</p><pre>" . print_r($info, TRUE) . '</pre>';
    exit;
}
 
if (isset($_GET['save']) && $_GET['save']=="1") {
    $db->query(
            'REPLACE INTO `lang` SET ?a',
            array(
                'id'    => $_POST['id'],
                'ru'    => $_POST['ru'],
                'kz'    => $_POST['kz']
            )
    );
} else {
    $data = $db->selectRow('SELECT * FROM `lang` WHERE `id`=?d', $_GET['id']);
 
    echo json_encode($data); 
}
1
0 / 0 / 2
Регистрация: 10.09.2013
Сообщений: 96
19.09.2013, 18:39  [ТС] 12
Цитата Сообщение от TAB Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require_once('db.php');
 
$db->setErrorHandler('databaseErrorHandler');
 
function databaseErrorHandler($message, $info) {
    echo "<p>SQL Error: $message</p><pre>" . print_r($info, TRUE) . '</pre>';
    exit;
}
 
if (isset($_GET['save']) && $_GET['save']=="1") {
    $db->query(
            'REPLACE INTO `lang` SET ?a',
            array(
                'id'    => $_POST['id'],
                'ru'    => $_POST['ru'],
                'kz'    => $_POST['kz']
            )
    );
} else {
    $data = $db->selectRow('SELECT * FROM `lang` WHERE `id`=?d', $_GET['id']);
 
    echo json_encode($data); 
}
Испробывал код не идет)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
 
    
require_once('db.php');
 
if (isset($_GET['save']) && $_GET['save']=="1") {
    
    $key = $_POST['id'];
    $ru = array();
    $kz=array();
    $ru['id']= $id;
    $kz['id']= $id;
    $ru['ru'] = $_POST['ru'];
    $kz['kz'] = $_POST['kz'];
    
    $db->query("replace into lang set ?a ",$ru);
     $db->query("replace into lang set ?a ",$kz);
     echo mysql_error();
    
    
} else {
     /*$data = $db->selectRow("select t1.id,t1.ru,t2.kz as kz from lang t1 
 left join lang t2 on t1.id=t2.id where t1.id=?", $_GET['key']);*/
   $data = $db->selectRow("select id,ru,kz from lang where id=?", $_GET['id']);
 
 echo json_encode($data); 
}
вот так то он, токо что то при передачи save неотрабатывает
0
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
19.09.2013, 21:53 13
пипец. приплыли. успехов в изучении ооп
0
Заблокирован
20.09.2013, 07:01 14
PHP
1
2
3
4
5
6
7
$db->query(
            'REPLACE INTO `lang` SET ?a',
            array(
                'id'    => $_POST['id'],
                'ru'    => $_POST['ru'],
                'kz'    => $_POST['kz']
            )
Из чего получается нечто:

SQL
1
REPLACE INTO `lang` SET $id, $ru, $kz;
если $db это оно https://github.com/colshrapnel... .class.php

Из мануала вытекат заполнитель под именем u? для форматирования пар в SET, следовательно

PHP
1
2
3
4
5
6
7
$db->query(
            'REPLACE INTO `lang` SET ?u',
            array(
                'id'    => $_POST['id'],
                'ru'    => $_POST['ru'],
                'kz'    => $_POST['kz']
            )
и осталось посмотреть за реакцией ТС который сейчас выкосит всю таблицу с помощью этого баяна.
0
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
20.09.2013, 08:26 15
Цитата Сообщение от sqlnub Посмотреть сообщение
На самом деле $db вот это DbSimple
0
0 / 0 / 2
Регистрация: 10.09.2013
Сообщений: 96
20.09.2013, 08:49  [ТС] 16
Цитата Сообщение от TAB Посмотреть сообщение
На самом деле $db вот это DbSimple
Уже имеется
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?require_once('lib/lib/DbSimple/Generic.php');
require_once('lib/lib/DbSimple/Mysql.php');
 
$db = DbSimple_Generic::connect('mysql://user:12345@localhost/rootdb?charset=utf8');
function databaseErrorHandler($message, $info) {
    printf(
        '<p>SQL Error: %s</p><pre>%s</pre>',
        $message,
        print_r($info, TRUE)
    );
    exit;
}
$db->setErrorHandler('databaseErrorHandler');
 
 
?>
0
0 / 0 / 2
Регистрация: 10.09.2013
Сообщений: 96
24.09.2013, 14:59  [ТС] 17
Цитата Сообщение от TAB Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require_once('db.php');
 
$db->setErrorHandler('databaseErrorHandler');
 
function databaseErrorHandler($message, $info) {
    echo "<p>SQL Error: $message</p><pre>" . print_r($info, TRUE) . '</pre>';
    exit;
}
 
if (isset($_GET['save']) && $_GET['save']=="1") {
    $db->query(
            'REPLACE INTO `lang` SET ?a',
            array(
                'id'    => $_POST['id'],
                'ru'    => $_POST['ru'],
                'kz'    => $_POST['kz']
            )
    );
} else {
    $data = $db->selectRow('SELECT * FROM `lang` WHERE `id`=?d', $_GET['id']);
 
    echo json_encode($data); 
}
Попытался седня сделать который Вы написали код выдает ошибочку так и не понял что не так
HTML5
1
2
3
SQL Error: Column 'ru' cannot be null at Z:\home\localhost\www\ipgo2\get.php line 14
 
Array(    [code] => 1048    [message] => Column 'ru' cannot be null    [query] => REPLACE INTO `lang` SET `id`=NULL, `ru`=NULL, `kz`=NULL    [context] => Z:\home\localhost\www\ipgo2\get.php line 14)
0
215 / 215 / 73
Регистрация: 12.03.2013
Сообщений: 485
24.09.2013, 15:26 18
Вероятно должно быть так.
PHP
1
if (isset($_POST['save']) && $_POST['save']=="1")
0
0 / 0 / 2
Регистрация: 10.09.2013
Сообщений: 96
24.09.2013, 15:37  [ТС] 19
Цитата Сообщение от TAB Посмотреть сообщение
Вероятно должно быть так.
PHP
1
if (isset($_POST['save']) && $_POST['save']=="1")
Ошибок не выдает но все равно не сохраняет. Допустим в таблице так

id ru kz
2-months 2 месяца 2 месяца

2-weeks 2 недели 2 недели

2-years 2 года 2 года
нажимаю на id 2-weeks он заносит в форму данные от id 2-months
0
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
24.09.2013, 16:43 20
Цитата Сообщение от LitrianAs Посмотреть сообщение
SQL Error: Column 'ru' cannot be null at Z:\home\localhost\www\ipgo2\get.php line 14
Array( * *[code] => 1048 * *[message] => Column 'ru' cannot be null * *[query] => REPLACE INTO `lang` SET `id`=NULL, `ru`=NULL, `kz`=NULL * *[context] => Z:\home\localhost\www\ipgo2\get.php line 14)
вы пытаетесь пихать в базу null вместо значений которые требуются.

Не по теме:

вы не пробовали за эти последние 4 дня почитать пару учебников? По php и sql? Хватило бы времени чтобы разобраться. Конечно, наш путь: все время гадать на кофейной гуще. вы даже вопрос не в состоянии внятно задать!

0
24.09.2013, 16:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2013, 16:43
Помогаю со студенческими работами здесь

Сохранение в png
&lt;?php $im = imagecreatefrompng('text1.png'); $black = imagecolorallocate($im, 0x00, 0x00, 0x00);...

Сохранение данных в БД
Доброго времени суток, помогите встроить в готовый скрипт(PHP), скрипт загрузки картинки как не...

Сохранение в куках
В одном скрипте пишу $login = &quot;Чыыыыыы&quot;; setcookie(&quot;login&quot;, $login, time() + 3600*24); В другом...

Сохранение значения
При нажатии M+ результат должен сохраняться, MR выводиться на экран, MC стираться. Проблема в то,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru