PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 8
dus2003 Отправлено: 10 Февраля, 2021 - 22:38:38 • Тема: input type=radio, alert (на JS) и submit • Форум: Программирование на PHP

Ответов: 1
Просмотров: 1443
Все огромное "СПАСИБО" за помощь
Выкладываю ответ.

<script type="text/javascript">
function validateRadio (radios)
{
for (i = 0; i < radios.length; ++ i)
{
if (radios [i].checked) return true;
}
return false;
}

function validate_form()
{
if(validateRadio (document.forms["ddoc_form"]["selrecord"]))
{
//return true;
var agree=confirm('Вы действительно хотите удалить запись ?');
if (agree)
return true ;
else
return false ;
}
else
{
alert('Пожалуйста, выберите запись');
return false;
}
}
</script>
dus2003 Отправлено: 09 Февраля, 2021 - 21:09:40 • Тема: input type=radio, alert (на JS) и submit • Форум: Программирование на PHP

Ответов: 1
Просмотров: 1443
Добрый вечер.
Вопрос следующий.
Имеется форма обработки записей базы данных
<form>
...
<input type='radio' name='selrecord[]' value='" . $row['ID_DD'] . "'>
...
<input type='submit' value='Редактировать' formaction='update.php' formmethod='POST'>
<input type='submit' value='Удалить' formaction='delrec.php' formmethod='POST' >
</form>
Суть такая имеется таблица записей БД. В первом столбце input type=raidio. Выбираю запись и нажимаю например submit value='Удалить' и все вроде - перекидывает на новую страницу delrec.php и обробатывает запрос.
НО, я хочу сделать так чтобы если нажал на submit value='Удалить', а при этом input type=raidio не выбран то выводилось сообщение для пользователя что-то вроде "Не выбрана ни одна запись для удаления", выводиться должно на этой же странице где и сама <form> находится - Я ТАК ПОНИМАЮ это функция ALERT на JS.
ВОТ КАК ЭТО СДЕЛАТЬ Я НЕ ЗНАЮ.
ПОМОГИТЕ ПОЖАЛУЙСТА.
Как сделать подобное уведомление на странице где обрабатывается запрос переданный с помощью <form> я знаю (поэтому не пишите этого)
(Добавление)
Я так понимаю что должно быть что-то вроде такого:

<SCRIPT type="text/javascript">
function validate_form()
{
valid = true;
if ( document.ddoc_form.selrecord[].checked == false )
{
alert ( "Пожалуйста, выберите запись" );
valid = false;
}
return valid;
}
</SCRIPT>

<form name='ddoc_dorm'>
<input type='radio' name='selrecord[]' value='" . $row['ID_DD'] . "'>
...
<input type='submit' value='Удалить' formaction='delrec.php' formmethod='POST' onClick='return validate_form();>
</form>

Но radio у меня формируется как массив и количество записей зависит от наполнения БД, поэтому в скрипте в строке "document.ddoc_form.selrecord[].checked == false" в квадратных скобках не имеется возможности поставит конкретный номер записи

Подскажите как переделать скрипт.
Спасибо.
dus2003 Отправлено: 16 Января, 2021 - 01:40:45 • Тема: Фильтр данных БД с помощью Select (скрипт формирования SQL запроса на выборку) • Форум: Работа с СУБД

Ответов: 1
Просмотров: 1417
Добрый день. Прошу помощи.
Задача следующая.
Есть БД, в ней таблица.
Вывожу данные в табличной (<tabke>) форме на экран.
В одном из столбцов (под наименованием "Дата") выводятся даты из таблицы БД.
Я хочу чтобы данный столбец вместо наименования "Дата" имел выпадающий список с годами.
И я это сделал - Код:
-------------------------------- -------------------------------- -----------
<td>
<select name='year' size='1' class='leng50' onchange='...'>";
echo "<option value='Дата'>Дата</option>";
for($i = 2016; $i <= date('Y'); $i++):
echo "<option value=" . $i . ">" . $i . "</option>";
endfor;
echo "</select>";
echo "</td>
-------------------------------- -------------------------------- -----------
Как Вы заметили в Select есть событиt onchange.
Цель - при выборе года из выпадающего списка сделать так, чтобы в таблице отображались данные БД у которых год в дате соответствует выбранному в списке <Select> году.
Другими словами - фильтр по году.
Если я правильно понимаю то теперь мне в onchange надо вставить скрипт формирования SQL-запроса на выборку данных из БД соответствующих году в списке <Select> и вывод этих записей на экран..

Помогите написать этот java-скрипт.
Заранее спасибо.
P.s.: В таблице базы данных дата хранится в полном виде, т.е. дд.мм.гггг. (для информации, мало-ли это важно)
dus2003 Отправлено: 13 Января, 2021 - 15:31:56 • Тема: Вывод данных БД в Select • Форум: Программирование на PHP

Ответов: 4
Просмотров: 464
Все получилось.
Огромное спасибо за помощь!)))
Радость
dus2003 Отправлено: 13 Января, 2021 - 13:55:18 • Тема: Вывод данных БД в Select • Форум: Программирование на PHP

Ответов: 4
Просмотров: 464
Мне надо изменить запись в таблице БД.
Т.е. я делаю форму в которой в соответствующих input-ах отображаются текущее содержимое каждого столбца редактируемой записи таблицы.
При этом некоторые значения берутся из выпадающего списка SELECT.
С input-ами мне все понятно, я знаю как сделать так чтобы в них отображалась текущая запись, то в SELECT я не знаю как сделать так чтобы при открытии этой формы в SELECT уже было выбрано то значение которое содержится в таблице.
Понимаете?
dus2003 Отправлено: 12 Января, 2021 - 22:57:15 • Тема: Вывод данных БД в Select • Форум: Программирование на PHP

Ответов: 4
Просмотров: 464
Всем здравствуйте. Прошу помощи. Голова кипит.
Есть БД.
С помощью формы записываю данные в таблицу №1 БД.
На форме есть такой элемент как <SELECT> в котором содержатся значения из другой таблицы (скажем таблицы №2) - выбираю значение и записывают в таблицу №1 (с этим проблем нет).
-------------------------------- -------------------------------- -------------------------------- ------
Привожу кусок когда реализующий выпадающий список из значений таблицы №2 (для информации):
echo "<td><select name='AliasD' size='1' class='leng440'>";
echo "<option value='0'>Выберите псевдоним</option>";
while($object_one = mysqli_fetch_object($result_select_one))
{
echo "<option value = '$object_one->Namealias' > $object_one->Namealias </option>";
}
echo "</select></td>";
-------------------------------- -------------------------------- -------------------------------- ------
Теперь вопрос:
В таблице №1 есть данные - все ОК.
Мне надо отредактировать какую либо запись данной таблицы (команда UPDATE так сказать), при этом те значения таблицы №1 которые были занесены в нее путем выбора из выпадающего списка Select надо чтобы на форме редактирования отображались всё в том же SELECT, причем значение SELECT уже должно соответствовать данному из БД.
Надеюсь понятно выразился.
Вот не знаю как это сделать.
Другими словами:
Как выбрать из выпадающего списка (SELECT) значение соответствующее данному из таблицы БД.
dus2003 Отправлено: 16 Февраля, 2020 - 14:49:54 • Тема: Загрузка файлов на сервер с записью пути в БД MySQL с описанием файла на php • Форум: Работа с файловой системой и файлами

Ответов: 3
Просмотров: 2104
Спасибо большое. Но!!!!
Вариант который Вы предложили не подходит.
Дело в том что, данный метод загрузки предусматривает выбор и загрузку нескольких фалов, но не дает возможности добавить несколько описаний файлов. Т.е. мне требуется чтобы я к каждому файлу добавил описание (например для файла №1 - Описание №1, для файла №2 - Описание №2 и т.д.).
А при том варианте который вы предложили - я выбираю несколько файлов а описание вводится одно на всех, и поэтому в БД описание файла дублируется для каждого загруженного файла.
я так полагаю, что вообще придется переделать весь код загрузки по типу "выбрал файл -> ввел описание -> нажал Добавить" после происходит запись данных в БД и высвечивается всплывающее окно "Хотите ли вы добавить еще файл? Да/Нет" (типа пошагово загружать каждый файл)

Огромное спасибо за ваш ответ.
Буду думать дальше.
dus2003 Отправлено: 13 Февраля, 2020 - 23:12:03 • Тема: Загрузка файлов на сервер с записью пути в БД MySQL с описанием файла на php • Форум: Работа с файловой системой и файлами

Ответов: 3
Просмотров: 2104
Добрый день.
Требуется осуществить загрузку нескольких файлов на сервер в папку: "file/Доходные/" в определенную папку, путь до файла записать в БД в табл. fddoc с полями ID_FDВ (ID записи), ID_DDOC (ID родительской записи БД из табл. ddoc), Namefddoc (Описание файла), NameFDD (Имя файла), PathFDD (путь до файла).
Представленный ниже исходный код рабочий. Но не так как хотелось бы.
Как работает этот код:
В форме загрузки нажимаеш кнопку выбора файлов, открывается окно выбора, выбираешь один или несколько фалов, нажимаешь кнопку Добавить и все выбранные файлы записываются в папку,а соответствующая информация в БД. вроде все ништяк (хороший код, мне очень нравится, можете использовать его), но, в табл БД fddoc есть поле "Namefddoc" (Описание файла, например - "Приложение №1 к договору") и данное описание должно быть к каждому файлу который я загружаю. Но данный код мне не дает такой возможности и я не знаю как это реализовать.
Для понимания: я знаю delphi но не знаю php, поэтому прошу давать разъяснения так же развернуто как я попытался задать вопрос.
Заранее СПАСИБО.
Прикладываю скриншот формы загрузки-чтобы легче было понять!


Исходный код следующий:

upload.php (форма загрузки)
...
echo "<table>";
echo "<form action='saveupload.php' method='post' enctype = 'multipart/form-data'>";
echo "<input type='hidden' name='myVariable' value='". htmlentities($IDDDFORUPLOAD)."'>";//Передача ID_DD доходного договора в saveupload.php
echo "<tr height='40px'>";
echo "<td><label>Добавить файл:</label></td>";
echo "<td><input name='namef1' size='30' type='text' maxlength='45' placeholder='Название документа'></td>";
echo "<td><input name='file[]' type='file' multiple></td>";
echo "</tr>";
echo "</table><br />";
echo "<input type='submit' name='add' value='Добавить'>";
echo "&nbsp;&nbsp;&nbsp;<input type='reset' name='res' value='Очистить форму'>";
echo "&nbsp;&nbsp;&nbsp;<input type='button' name='backl' value='Отмена' OnClick='backlist();'>";
echo "</form>";
...

saveupload.php (исполняющий запись файл)
...
$t=$_POST['myVariable'];
if($res_docvrf == '1'){ //Идентификатор записи доходного договора

// Название <input type="file">
$input_name = 'file';
// Разрешенные расширения файлов.
$allow = array();
// Запрещенные расширения файлов.
$deny = array(
'phtml', 'php', 'php3', 'php4', 'php5', 'php6', 'php7', 'phps', 'cgi', 'pl', 'asp',
'aspx', 'shtml', 'shtm', 'htaccess', 'htpasswd', 'ini', 'log', 'sh', 'js', 'html',
'htm', 'css', 'sql', 'spl', 'scgi', 'fcgi'
);
// Директория куда будут загружаться файлы.
$path = __DIR__ . '/file/Доходные/';

if (isset($_FILES[$input_name])) {
// Проверим директорию для загрузки.
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
// Преобразуем массив $_FILES в удобный вид для перебора в foreach.
$files = array();
$diff = count($_FILES[$input_name]) - count($_FILES[$input_name], COUNT_RECURSIVE);
if ($diff == 0) {
$files = array($_FILES[$input_name]);
} else {
foreach($_FILES[$input_name] as $k => $l) {
foreach($l as $i => $v) {
$files[$i][$k] = $v;
}
}
}
foreach ($files as $file) {
$error = $success = '';

// Проверим на ошибки загрузки.
if (!empty($file['error']) || empty($file['tmp_name'])) {
switch (@$file['error']) {
case 1:
case 2: $error = 'Превышен размер загружаемого файла.'; break;
case 3: $error = 'Файл был получен только частично.'; break;
case 4: $error = 'Файл не был загружен.'; break;
case 6: $error = 'Файл не загружен - отсутствует временная директория.'; break;
case 7: $error = 'Не удалось записать файл на диск.'; break;
case 8: $error = 'PHP-расширение остановило загрузку файла.'; break;
case 9: $error = 'Файл не был загружен - директория не существует.'; break;
case 10: $error = 'Превышен максимально допустимый размер файла.'; break;
case 11: $error = 'Данный тип файла запрещен.'; break;
case 12: $error = 'Ошибка при копировании файла.'; break;
default: $error = 'Файл не был загружен - неизвестная ошибка.'; break;
}
} elseif ($file['tmp_name'] == 'none' || !is_uploaded_file($file['tmp_name'])) {
$error = 'Не удалось загрузить файл.';
} else {
// Оставляем в имени файла только буквы, цифры и некоторые символы.
$pattern = "[^a-zа-яё0-9,~!@#%^-_\$\?\(\)\{\}\[\]\.]";
$name = mb_eregi_replace($pattern, '-', $file['name']);
$name = mb_ereg_replace('[-]+', '-', $name);

// Т.к. есть проблема с кириллицей в названиях файлов (файлы становятся недоступны).
// Сделаем их транслит:
$converter = array(
'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e',
'ё' => 'e', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k',
'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c',
'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ь' => '', 'ы' => 'y', 'ъ' => '',
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',

'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E',
'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z', 'И' => 'I', 'Й' => 'Y', 'К' => 'K',
'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R',
'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch', 'Ь' => '', 'Ы' => 'Y', 'Ъ' => '',
'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
);
$name = strtr($name, $converter);
$parts = pathinfo($name);

if (empty($name) || empty($parts['extension'])) {
$error = 'Недопустимое тип файла';
} elseif (!empty($allow) && !in_array(strtolower($parts['extension']), $allow)) {
$error = 'Недопустимый тип файла';
} elseif (!empty($deny) && in_array(strtolower($parts['extension']), $deny)) {
$error = 'Недопустимый тип файла';
} else {
// Чтобы не затереть файл с таким же названием, добавим префикс.
$i = 0;
$prefix = '';
while (is_file($path . $parts['filename'] . $prefix . '.' . $parts['extension'])) {
$prefix = '(' . ++$i . ')';
}
$name = $parts['filename'] . $prefix . '.' . $parts['extension'];

// Перемещаем файл в директорию.
if (move_uploaded_file($file['tmp_name'], $path . $name)) {
// Далее можно сохранить название файла в БД и т.п.
$success = 'Файл «' . $name . '» успешно загружен.';
$tes = mysqli_query($link, "INSERT INTO fddoc SET NameFDD='".$name."',PathFDD='".$path."', ID_DDOC='".$t."'");
} else {
$error = 'Не удалось загрузить файл.';
}
}
}
// Выводим сообщение о результате загрузки.
if (!empty($success)) {
echo '<p>' . $success . '</p>';
} else {
echo '<p>' . $error . '</p>';
}
}
}
}
...

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB