Обработка массива, полученного из базы данных

senya158

Новичок
Добрый день!

На сайте надо реализовать выбор устройств из базы данных, выводить приходится из базы данных. Для этого желательно использовать checkbox. Но когда выводишь циклом то они не работают: получаются несвязанными и не обрабатываются. Может по ссылке можно как то

if (isset($_POST['submit2']))
{
$query = "SELECT key_id FROM result WHERE idusers='$id_user'"; //запрашиваем устройства, которые есть по id пользователя
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) //получем массив ключей
{
$key = $row['key_id'];
$query2="SELECT name FROM udids WHERE key_id='$key'";
$result2 = mysql_query($query2) or die(mysql_error());
$device = mysql_result($result2, 0); //имя каждого устройства
echo <<<HERE
<input type="radio" name="type" value="$key" />$device<br />. //тут кнопка с именем устройства и значение - ключей
HERE;
}
if (isset($_POST['submit']))
{
if(isset($_POST['type']))
{
$key = $_POST['type'];
$query3 = "SELECT stream FROM udids WHERE key_id ='$key'";
$result3 = mysql_query($query3) or die(mysql_error());
$strm = mysql_result($result3, 0);
$_SESSION['stream'] = $strm; //выбираем поток для скачивания, выполнять нужно обязательно, передаем в сессию
$query4="SELECT name FROM udids WHERE key_id='$key'";
$result4 = mysql_query($query4) or die(mysql_error());
$device = mysql_result($result4, 0);
$_SESSION['name'] = $device; //передаем в сессию имя устройства
header("Location: apps_test.php");
}
//echo "<p><a href='apps_test.php'>Завершить</a><p/>";
//header("Location: apps_test.php");
}
echo "<p><a href='apps_test.php'>Завершить</a><p/>";
}
 

antson

Новичок
Партнер клуба
Call to undefined function mysql_query()
переписать без устаревшего расширения (через mysqli) или доставить его (возможно некоторое время еще проживет)
 

AnrDaemon

Продвинутый новичок
Это был прозрачный намёк на то, что вы используете расширение, удалённое в современных версиях PHP.
Учите http://php.net/PDO и возьмите себе за труд форматировать ваши сообщения, чтобы их можно было читать.
(а ещё там [/php] есть…)
 

scorpion-ds

Новичок
Call to undefined function mysql_query()
переписать без устаревшего расширения (через mysqli) или доставить его (возможно некоторое время еще проживет)
Буквально вчера, помогал товарищу по скайпу, разобраться в его коде, у него тоже работа шла через эти методы. Спрашиваю, как ты планируешь все это запускать, уже мало какой хостинг поддерживает, он говорит я перед заливкой меняю на mysql на mysqli, а локально у него не работает mysqli, так как его Денвер о нем не знает ..., говорю, что Денвер не поддерживается давно и лучше использовать что-то вроде OpenServer, а для БД PDO.

Но суть не в этом. Кажется, что его код разрабатывался лет 10 назад, судя по всему простейшие задачи по PHP давно никто не обновлял в уроках, что в целом вредит тем, кто только начинает работать с PHP.
 

antson

Новичок
Партнер клуба
лучше уж вамп. А то денвер остановился на
PHP 5.3.13, MySQL 5.1, PostgreSQL 8.4 etc
 

AnrDaemon

Продвинутый новичок
Можно же обновить… хотя, если у него mysqli "не работает"…
 

scorpion-ds

Новичок
Да зачем городить что-то, пока OpenServer живой для простых и средних проектов самое то, доки для новичков надо обновлять примеры и средства рекомендованные там очень устарели.

Ну и везде в доках писать про отладку, вполне хватит простейшей print_r, var_dump, console.log, большая часть проблем решается, когда туда глянешь. Вот спрашивают у меня, почему выводится только первая буква имени файла, я вот так ни как не могу понять почему так, но если попросить вывести в лог, то оказывается, что поля текстовые и массивы обрабатываются под одну гребенку, местами вообще с json (не преобразованном к массиву), если бы человек сам глянул, что у него в переменной, то вопрос бы решился быстрей.
 
Сверху