Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод значения radio или помощь в переделывании кода

 PHP.SU

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


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

> Описание: Помогите вывести значение выбранного radiobutton или разобраться с кодом. Плохо понимаю PHP, поэтому в коде может быть абсурд.
Alex Teofimov
Отправлено: 22 Января, 2016 - 19:46:03
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2016  


Помог: 0 раз(а)




Я не знаю, на сколько все запущено, но код работает до момент вывода полей из БД. Мне надо узнать значение выбранного rb, но примеры из интернета не помогли, так как у меня все накручено в один файл. Есть ли выход из этой ситуации(кроме разделения кода на два файла). Если надо переписывать, помогите, а то вообще что-то ни то могу написать
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once 'config.php'; //здесь проходит соединение с сервером и БД
  4.  
  5. //реализую счетчик кликов
  6. $fp = fopen("1.txt", "r+");
  7. $i = fgets($fp);
  8.  
  9. $i = $i + 1;
  10.  
  11. $fp = fopen("1.txt", "w+");
  12. fwrite($fp, $i);
  13. fclose($fp);
  14.  
  15. //берется строчка $i таблицы vopros
  16.    $strSQL = "SELECT * FROM vopros  WHERE Nomer=$i";
  17.    
  18.         $rs = mysql_query($strSQL);
  19.    
  20.  
  21. //с помощью функции List() беру из БД поля и ставлю в соответствующие места.
  22.  $prav=0;
  23.       while(List($id,$name, $vopros, $o1, $o2, $o3,$prot)=mysql_fetch_array($rs))
  24.     {    
  25. print "<form>";      
  26. print "Vopros $i <br>" ;
  27. print "$vopros";
  28. print '<br><input name="radiob" type="radio" value="1"> ';
  29. print "$o1";
  30. print '<br> <input name="radiob" type="radio" value="2" checked> ';
  31. print "$o2";
  32. print '<br> <input name="radiob" type="radio" value="3"> ';
  33. print "$o3 <br> ";
  34. print "</form>";
  35.  
  36.  
  37. if($height == $prot){
  38. $prav=$prav+1;
  39. }
  40.  
  41. }
  42.  
  43. print $tr;
  44. print "<form> ";
  45. print '<input type="image" name = "but" src="1.png" /> <br>';
  46. print "</form> ";
  47. ?>
  48.  


Как-то так. Хотел поместить значение выбранной кнопки в $height, но почему-то не получается. Буду очень благодарен, если вы поможете.
 
 Top
Строитель Модератор
Отправлено: 22 Января, 2016 - 21:11:28
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




Надо примерно так
PHP:
скопировать код в буфер обмена
  1. $array = array();
  2. while($row = mysql_fetch_array($rs)) {
  3.     $array[] = $row;
  4. }
  5.  
  6. list($id, $name, $vopros, $o1, $o2, $o3, $prot) = $array;
  7.  
  8. print "<form>";      
  9. print "Vopros $i <br>" ;
  10. print "$vopros";
  11. print '<br><input name="radiob" type="radio" value="1"> ';
  12. print "$o1";
  13. print '<br> <input name="radiob" type="radio" value="2" checked> ';
  14. print "$o2";
  15. print '<br> <input name="radiob" type="radio" value="3"> ';
  16. print "$o3 <br> ";
  17. print "</form>";
  18.  
 
 Top
Alex Teofimov
Отправлено: 22 Января, 2016 - 23:33:14
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2016  


Помог: 0 раз(а)




теперь не хочет выводить поля из БД, что добавить надо?

(Отредактировано автором: 23 Января, 2016 - 10:57:59)

 
 Top
LIME
Отправлено: 24 Января, 2016 - 07:51:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Вау
И как с этим бороться
Ответ глупее вопроса
Без обид
......
Для начала забудь ответ
Где ты устанавливаешь значение $height?
Ведь ты его сравниваешь с значением из бд? А что ты сравниваешь?
.....
Я и забыл как тут все запущенно бывает
Охохошеньки
(Добавление)
Строитель два года в этом деле
Не стыдно?
 
 Top
Строитель Модератор
Отправлено: 24 Января, 2016 - 14:36:05
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




LIME пишет:
Строитель два года в этом деле
Не стыдно?
Меня критикуют? ) Значит я существую ))
LIME, а что тут по вашему должно быть стыдно? )
PHP:
скопировать код в буфер обмена
  1. $array = array();
  2. while($row = mysql_fetch_array($rs)) {
  3.     $array[] = $row;
  4. }
  5.  
  6. list($id, $name, $vopros, $o1, $o2, $o3, $prot) = $array;

Я ведь не сказал, что это готовый рабочий код. Я написал принцип получения данных из БД в массив, ну и разложил этот массив по переменным.
 
 Top
LIME
Отправлено: 24 Января, 2016 - 14:38:37
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Строитель пишет:
Меня критикуют? ) Значит я существую ))
это похвально
налицо стремление к лучшему
а теперь детали
Строитель пишет:
ну и разложил этот массив по переменным.
какой массив?
массив массивов?
подумай еще раз
(Добавление)
и таки да...за два года не научиться видеть такие огрехи в алгоритме должно быть стыдно
надеюсь Вы не профильно занимаетесь прогерством
иначе просто печаль
 
 Top
Строитель Модератор
Отправлено: 24 Января, 2016 - 14:49:01
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




LIME пишет:
это похвально
налицо стремление к лучшему
Благодаю Улыбка
LIME пишет:
массив массивов?
Я ведь не знаю структуру его базы, чтобы с уверенностью написать что-то, вроде
PHP:
скопировать код в буфер обмена
  1. $array[] = $row['id'];
  2. $array[] = $row['name'];
  3. //и т.д.
  4.  
Я показал принцип реализации.
LIME пишет:
надеюсь Вы не профильно занимаетесь прогерством
Нет, но стремление к этому есть. Я так же, как и вы - перфекционист.
 
 Top
LIME
Отправлено: 24 Января, 2016 - 14:49:34
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Строитель ну и на сладкое
не надо хотеть раскладывать массив в переменные
для этого есть export ежели что
надо точно знать что ты ждешь из бд
и лучше если это будет коллекция из ORM
можно много еще всего умного рассказать
но меня итак тут гнобят как любителя поболтать
потому если интересно то задавай вопросы
(Добавление)
Строитель о госпади
ты даже не понял своей ошибки
в переменную накапливаются массивы и ты в конце эту переменную разбираешь в лист
ниче не замечаешь????
яб тебе дал оплеуху и прошу не обижаться
ты достоен оплеухи
 
 Top
Строитель Модератор
Отправлено: 24 Января, 2016 - 14:52:19
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




LIME пишет:
и лучше если это будет коллекция из ORM
Можно подробнее об этом?
 
 Top
LIME
Отправлено: 24 Января, 2016 - 14:54:14
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




LIME пишет:
в переменную накапливаются массивы и ты в конце эту переменную разбираешь в лист
ты в лист разбираешь массив массивов!!!!!
матрицу разбираешь!!!!!!

(Отредактировано автором: 24 Января, 2016 - 15:01:31)

 
 Top
Строитель Модератор
Отправлено: 24 Января, 2016 - 15:03:56
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




LIME пишет:
в переменную накапливаются массивы и ты в конце эту переменную разбираешь в лист

Какие массивы? Вы это где увидели? )
PHP:
скопировать код в буфер обмена
  1. $array[] = $row['id']; //тут по вашему что, массив айдишников, или один айдишник для одной итерации цикла?

Разве по завершении работы цикла массив $array не будет содержать что-то вроде этого?
PHP:
скопировать код в буфер обмена
  1. $array[0] // номер
  2. $array[1] // имя

И соответственно, зная точное количество ключей массива $array разве нельзя присвоить его значения переменным с помощью list() ?
PHP:
скопировать код в буфер обмена
  1. list($id, $name) = $array;
  2. echo $id;// 1
  3. echo $name;// Эдуард
 
 Top
LIME
Отправлено: 24 Января, 2016 - 15:04:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Строитель пишет:
Можно подробнее об этом?
можно
давно все нормальные люди не работают с бд напрямую
в любом фреймворке есть свой инструмент работы с данными
называется ORM
погуглить что это есть такое
ты просто вызываешь метод и он тебе возвращает коллекцию объектов данных
все надежно и безопасно
и протестированно тысячами прогеров
(Добавление)
Строительага молодец
а теперь глянь на свой код
чтото он не будет работать так мне кажется
и наверное не только мне
короче Строитель просто подумай и увидь ошибку
и мне пофиг кто из нас прав
пусть ты прав
просто увидь ошибку
 
 Top
Строитель Модератор
Отправлено: 24 Января, 2016 - 15:09:09
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




LIME пишет:
в любом фреймворке есть свой инструмент работы с данными
Я с ФВ ещё не работал, но за инфу спс )
 
 Top
LIME
Отправлено: 24 Января, 2016 - 15:17:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Строитель пишет:
Я с ФВ ещё не работал,
для общего знания
все нормальные фв давно используют компонентный подход
тоесть совсем не обязательно использовать фв для того чтоб юзать его ORM
ее можно отдельно поставить из композера(если не знаешь что это то дальше не читай а сначала узнай)
в любых современных решениях так или иначе используются ORM
да они бывают разными но по большому счету все на одно лицо и отличаются только внутренним устройством
наиболее прогрессивная это доктрина
позволяет миграции без формального их описания
впрочем дальнейшее выходит за плоскость поста
просто открой для себя доктрину
все остальные это типа то же но похуже)) может побыстрее но в целом похуже))
 
 Top
Мелкий Супермодератор
Отправлено: 24 Января, 2016 - 15:43:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME пишет:
нормальные люди не работают с бд напрямую

Вот и не работайте. И страдайте потом в попытке прорваться через километры стектрейсов до внятного SQL.
Зато у меня всегда будет работа. Правда, состоящая из одного фейспалма от этого треша, ну да ладно.

Доводилось видеть такую дрянь, гордо обозванную ормом, которая умудрилась сгенерировать рекурсивный (sic!) CTE без условия выхода из рекурсии (!!!)? А запрос на два (!) гигабайта (!!!) размером?
Первый - вопрос из зала с прошлого pgday'15, примеры второго спрашивайте у любого ДБА, далеко не один пример приведут.

Нет, спасибо. Нормальные толстые модели, нативный SQL и хранимая логика pl/pgsql.


-----
PostgreSQL DBA
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB