Таблица из БД id после выбора отправить в переменную, чтобы потом присвоить другому элементу, как это сделать?
Вот тут код предоставил ниже. Циклом создаю таблицу на странице, после нажатия на кнопку отправить в глобальную переменную не могу получить ID выбранной строки. Как же это сделать?
<?php
if (isset($_GET['pageno'])) {
$page = $_GET['pageno'];}
else {$page=1;}
$notesOnPage = 12;
$from = ($page - 1) * $notesOnPage;
$sql = mysqli_query($conn, "SELECT `id_p`,`id_prod`,`name_p`,`sum_p`,`code_p`,`brend_p` FROM `products` WHERE `id_c`={$_COOKIE['id_k']} AND id_p>0 LIMIT $from, $notesOnPage");
while ($result = mysqli_fetch_assoc($sql)) {
echo '<tr>' .
"<td>{$result['id_p']}</td>" .
"<td>{$result['name_p']}</td>" .
"<td>{$result['sum_p']} сум</td>" .
"<td><input type='file' name='images[]' multiple></td>" .
"<td><input type='submit' value=\"Отправить\"></td>" .
'</tr>';
}
?>
Ответы (3 шт):
Alisher Ahmedov, в вашем вопросе недостаточно информации. Укажите место, где вы сохраняете id в глобальную переменную. Укажите также, как вы ее получаете с формы. Например,
setcookie('id', $_GET['id']);
Чтобы получить данные id методом GET HTTP, вы можете формировать таблицу следующим образом:
while ($result = mysqli_fetch_assoc($sql)) {
echo '<tr>' .
"<td>{$result['id_p']}</td>" .
"<input type='hidden' value='{$result['id_p']}' name='id'>".
"<td>{$result['name_p']}</td>" .
"<td>{$result['sum_p']} сум</td>" .
"<td><input type='file' name='images[]' multiple></td>" .
"<td><input type='submit' value=\"Отправить\"></td>" .
'</tr>';
}
Тут ещё изменил и получил переменную, но эту же переменную почему-то не получается дописать в имя файла в загруженном файле.
while ($result = mysqli_fetch_assoc($sql)) {
echo '<tr>' .
"<td>{$result['id_p']}</td>" .
"<td>{$result['name_p']}</td>" .
"<td>{$result['sum_p']} сум</td>" .
"<td><input type='file' name='images[]' multiple></td>" .
"<td><a href='?ids={$result['id_p']}#third'> Отправить </td>" .
'</tr>';
}
Вот тут код для загрузки файла, по не загружает даже сам файл. Может с проверками переборщил. Код конечно взял с ресурса интернета не помню где именно.
<?php
// Если в $_FILES существует "image" и она не NULL
if (isset($_FILES['image'])) {
$image = $_FILES['image'];
// Получаем нужные элементы массива "image"
$fileTmpName = $_FILES['image']['tmp_name'];
$errorCode = $_FILES['image']['error'];
// Проверим на ошибки
if ($errorCode !== UPLOAD_ERR_OK || !is_uploaded_file($fileTmpName)) {
// Массив с названиями ошибок
$errorMessages = [
UPLOAD_ERR_INI_SIZE => 'Размер файла превысил значение upload_max_filesize в конфигурации PHP.',
UPLOAD_ERR_FORM_SIZE => 'Размер загружаемого файла превысил значение MAX_FILE_SIZE в HTML-форме.',
UPLOAD_ERR_PARTIAL => 'Загружаемый файл был получен только частично.',
UPLOAD_ERR_NO_FILE => 'Файл не был загружен.',
UPLOAD_ERR_NO_TMP_DIR => 'Отсутствует временная папка.',
UPLOAD_ERR_CANT_WRITE => 'Не удалось записать файл на диск.',
UPLOAD_ERR_EXTENSION => 'PHP-расширение остановило загрузку файла.',0
];
// Зададим неизвестную ошибку
$unknownMessage = 'При загрузке файла произошла неизвестная ошибка.';
// Если в массиве нет кода ошибки, скажем, что ошибка неизвестна
$outputMessage = isset($errorMessages[$errorCode]) ? $errorMessages[$errorCode] : $unknownMessage;
// Выведем название ошибки
die($outputMessage);
}
else {
echo 'Ошибок нет.';
$nnn = $_COOKIE['login'];
$path = "files/S-$nnn";
foreach ($_FILES["images"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["images"]["tmp_name"][$key];
$name = $path . $_GET['ids'] . $_FILES["images"]["name"][$key];
move_uploaded_file($tmp_name, "$name");
}
}
}
}
?>
while ($result = mysqli_fetch_assoc($sql)) {
echo '<tr>' .
"<td>{$result['id_p']}</td>" .
"<td>{$result['name_p']}</td>" .
"<td>{$result['sum_p']} сум</td>" .
"<td><a href='blocks/third_form.php?ids={$result['id_p']}' target=\"_blank\" onclick=\"window.open('blocks/third_form.php','Жми...','resizable=yes,width=550,height=350,left=500,top='+(screen.availHeight/2-365)+'');return false;\">Жми...</a></td>" .
'</tr>';
}
Вот тут реализовал всплывающий окно отдельно на другом браузере. Но, также не могу передать переменную из таблицы. Вот так href='blocks/third_form.php?ids={$result['id_p']}', где ошибка?
Ошибка найдена, вот так переделал: "<a href='blocks/third_form.php' target="_blank" onclick="window.open('blocks/third_form.php?ids={$result['id_p']}&name={$result['name_p']}&sum={$result['sum_p']}','Жми...','resizable=yes,width=550,height=350,left=500,top='+(screen.availHeight/2-365)+'');return false;">Жми..." .
