Задать вопрос
@sergeiy_permyakov

Как записать 0 в БД в float из input value?

Добрый день есть поле для ввода цифр
<input name="c_score" value="<?php echo $data['lists']['c_score'];?>" type="text" class="inputbox" />

также кнопка
<input type="button" value="Apply" onclick="javascript: document.adminForm.id.value='<?php echo $data['lists']['id']; ?>'; document.adminForm.stu_id.value='<?php echo $data['lists']['qid']; ?>'; submitbutton('quest_reportA');" />

есть так же update таблицы

$mainframe = JFactory::getApplication();
		$database = JFactory::getDBO();
		$jinput = $mainframe->input;
		$c_score = $jinput->get('c_score', 0, 'INT');
......

 $remark = JFactory::getApplication()->input->getRaw('remark', '');

            $c_score = (float)$c_score;


			$query = "UPDATE #__quiz_r_student_question SET c_score = '".$c_score."', `remark` = ".$database->Quote($remark).", reviewed = 1 WHERE c_id = '".$data['id']."'";
			$database->SetQuery( $query );
			$database->execute();

Вопрос при вводе руками в input 0,0 сохранется значение в базу как 0. Но если ввести просто 0 (без запятой) то не сохраняет. Пробовал убрать $c_score = (float)$c_score;
но ничего не меняется также не сохраняет. Может кто сталкивался с типами или преобразовниями?
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 3
Научитесь пользоваться prepared statement(parameterized query)
Ответ написан
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
$c_score = $jinput->get('c_score', 0, 'STRING');
$c_score = str_replace(',', '.', $c_score);
//...
$c_score = (float)$c_score;
//$query = "UPDATE ...
Ответ написан
sergeytolkachyov
@sergeytolkachyov
https://web-tolk.ru
Прочтите https://cmscafe.ru/docs/joomla/developer/api/627-j...
Должно помочь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы