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
Форумы портала PHP.SU :: Версия для печати :: возврат значения из списка и
Форумы портала PHP.SU » » Вопросы новичков » возврат значения из списка и

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

1. alezander - 07 Февраля, 2017 - 16:37:25 - перейти к сообщению
Суть проблемы. Получаю значение из базы с помощью данного куска кода
Спойлер (Отобразить)

И после вывожу нужные значение в виде таблицы с возможностью их редактировать
Спойлер (Отобразить)

После измененные данные отправляю в базу.
Спойлер (Отобразить)


Все что я хочу отобразить в виде select(выпадающего списка) пункт который отмечен красным на скриншоте.
Спойлер (Отобразить)


idofbase nameofbase
1 Погашение
2 Выдача
3 Оплата электричества
4 Хозяйственные расходы
5 Пролонгация
6 Аренда
7 Покупка химии


editkassa.php
Спойлер (Отобразить)
2. teleoperator27 - 07 Февраля, 2017 - 17:58:02 - перейти к сообщению
Капец. Когда грамотность раздавали, тебе запятых не досталось? Хорошо, хоть пробелы дали. Теперь задай вопрос по-русски, а то белиберда какая-то написана.
3. alezander - 07 Февраля, 2017 - 18:22:59 - перейти к сообщению
Более развернуто написал, надеюсь понятней.

скриншот ниже пример списка.
4. teleoperator27 - 07 Февраля, 2017 - 18:47:32 - перейти к сообщению
Теперь стало понятней. Кроме одного - самой проблемыУлыбка Вопрос в чем? Что не получается?
5. alezander - 07 Февраля, 2017 - 19:17:11 - перейти к сообщению
teleoperator27 пишет:
Теперь стало понятней. Кроме одного - самой проблемыУлыбка Вопрос в чем? Что не получается?


Не пойму как правильно добавить select
CODE (htmlphp):
скопировать код в буфер обмена
  1.     echo "<td>" . "<input type=text name=base value=" . $row['base'] . " </td>";
тут у меня просто выводит текущие значение, а хотелось бы так как на скриншоте во втором посте.

Сам select вот он
CODE (htmlphp):
скопировать код в буфер обмена
  1. $sql = mysqli_query($connection, "SELECT `idofbase`, `nameofbase` FROM `nameofbase`") or die(mysqli_error($connection));
  2. <th><select name="base">
  3.     <?while ($row = mysqli_fetch_assoc($sql)):?>
  4.     <option value="<?=$row['idofbase']?>"><?=$row['nameofbase']?></option>
  5.     <? endwhile?>
  6. </select></th>
все с ним понятно но как его интегрировать чтобы выпало нужное значение, я его выбрал в виде представления (названия) и отправил в базу. условие такое что kassa.base = nameofbase.idofbase
(Добавление)
И еще вопрос как сделать чтобы запоминало последние выбранное значение в select ?

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $sqlbase = mysqli_query($connection, "SELECT `idofbase`, `nameofbase` FROM `nameofbase`") or die(mysqli_error($connection));          
  3. <td><select name="base">
  4.     <?while ($row = mysqli_fetch_assoc($sqlbase)):?>
  5.     <option value="<?=$row['idofbase']?>"><?=$row['nameofbase']?></option>
  6.     <? endwhile?>
  7. </select></td>


после выбора.
6. teleoperator27 - 07 Февраля, 2017 - 20:18:14 - перейти к сообщению
Цитата:
все с ним понятно но как его интегрировать чтобы выпало нужное значение, я его выбрал в виде представления (названия) и отправил в базу.
ни черта не понял, короче. Какое представление, при чем тут представление? Кого в кого интегрировать? Кто на ком стоял? Надо писать по-русски, а не воротить кучу ненужных и не несущих в себе нагрузки слов. Что в этом селекте должно быть? Выпадающий список из БД? Ну так и выводи из БД в цикле эти опшины. Самостоятельно его выведи, дахоть другим файлом, да приинклюдь его в таблицу. А значение
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?=$row['idofbase']?>

как раз и поможет сделать нужный опшин выбранным.
7. alezander - 07 Февраля, 2017 - 21:01:08 - перейти к сообщению
Не знаю как еще подробней объяснить первый вопрос.

Но по второму вопросу так не получается как вы написали после нажатия кнопки сбивается на самое первое значение в списке.

вот вообще весь код с этого файла kassao.php

Спойлер (Отобразить)


Может быть переменную из select после нажатия на кнопку надо закинуть в массив какой - то созданный но я не знаю как это работает с select где у него и так есть значение idofbase и преставление nameofbase, чтобы вернуть значение даты я использую $_POST или $_GET как к примеру во тут.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="date" name="datetwo" value="<?php echo $_POST['datetwo']?>
8. teleoperator27 - 07 Февраля, 2017 - 21:59:04 - перейти к сообщению
Шок блииин... в чем вопрос состоит? Не выводится выпадающий список? Или выводится, а ты не знаешь, что с ним делать? я уже голову сломал в этой головоломке.


ты же сам написал
PHP:
скопировать код в буфер обмена
  1.  kassa.base = nameofbase.idofbase

то есть ты в любом случае получаешь из запроса что то типа

CODE (htmlphp):
скопировать код в буфер обмена
  1. $row['base']

вот через него и выделяй селект

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. <select name="base">
  4.     <?while ($row = mysqli_fetch_assoc($sqlbase)):?>
  5.  
  6.     <option value="<?=$row['idofbase']?>"><?=$row['nameofbase']?></option>
  7.  
  8.     <? endwhile?>
  9. </select>
  10.  
  11. <option value="<?=$row['idofbase']?>"<?=nameofbase.idofbase == kassa.base  ? "selected" : ""?>><?=$row['nameofbase']?></option>
  12.  
  13.  


Это для примера, что бы логика была понятна.
9. Строитель - 07 Февраля, 2017 - 22:01:42 - перейти к сообщению
alezander пишет:
как сделать чтобы запоминало последние выбранное значение в select ?
Можно куда-то сохранять (например в базу) значение выбранного селекта, и при выводе проверять в условии, если это значение совпадает с тем, которое было сохранено, то подставлять в этой итерации к тегу option атрибут selected. Ниже я на примере показал, только вместо базы я использовал сессии.
Спойлер (Отобразить)
10. alezander - 07 Февраля, 2017 - 22:22:28 - перейти к сообщению
teleoperator27 пишет:
Шок блииин... в чем вопрос состоит? Не выводится выпадающий список? Или выводится, а ты не знаешь, что с ним делать? я уже голову сломал в этой головоломке.
.


Список выводиться, данные при нажатии кнопки по критериям выводит верно, но состояние кнопки после ее нажатия возвращаеться на самое первое в списке.
11. Строитель - 07 Февраля, 2017 - 22:27:36 - перейти к сообщению
alezander, мой пример смотрели? http://forum.php.su/topic.php?fo...97702#1486497702
12. alezander - 07 Февраля, 2017 - 22:31:43 - перейти к сообщению
[quote=Строитель][/quote] спасибо к одиночному значению подошло и все выводиться, а что делать если у меня все выводимое форма ? нужную строчку которая должна стать selectom.

CODE (htmlphp):
скопировать код в буфер обмена
  1.         echo "<form action=editkassa.php method=post>";
  2.         echo "<tr>";
  3.     echo "<td>" . "<input type=number name=id value=" . $row['id'] . " </td>";
  4.     echo "<td>" . "<input type=number name=numberdocument value=" . $row['numberdocument'] . " </td>";
  5.     echo "<td>" . "<input type=text name=numberagreement value=" . $row['numberagreement'] . " </td>";
  6.     echo "<td>" . "<input type=text name=nameofclient value=" . $row['nameofclient'] . " </td>";
  7.    // echo "<td>" . "<input type=text name=base value=" . $row['base'] . " </td>";
  8.     echo "<td>" . "<input type=number name=coming value=" . $row['coming'] . " </td>";
  9.     echo "<td>" . "<input type=number name=consumption value=" . $row['consumption'] . " </td>";
  10.     echo "<td>" . "<input type=number name=bodyloan value=" . $row['bodyloan'] . " </td>";
  11.     echo "<td>" . "<input type=number name=interest value=" . $row['interest'] . " </td>";
  12.     echo "<td>" . "<input type=number name=fine value=" . $row['fine'] . " </td>";
  13.     echo "<td>" . "<input type=number name=well value=" . $row['well'] . " </td>";
  14.     echo "<td>" . "<input type=date name=date value=" . $row ['date'] . " </td>";
  15.     echo "<td>" . "<input type=submit name=update value=обновить" . " </td>";
  16.         echo '</tr>';
  17.         echo "</form>";

(Добавление)
опробовал еще вот так сохраняет почему - то теперь последние значение

Спойлер (Отобразить)
13. Строитель - 07 Февраля, 2017 - 23:53:28 - перейти к сообщению
alezander пишет:
а что делать если у меня все выводимое форма ?
Вы имеете ввиду множественный выбор? Если да, то добавьте к тегу select атрибут multiple , а к значению атрибута name="select" из моего примера добавьте две квадратные скобки "[]", т.е. так:
name="select[]"

PS: Весь ваш код асиливать врятли кто-то возьмётся.
14. alezander - 08 Февраля, 2017 - 00:22:13 - перейти к сообщению
Может если зарисую будет понятней, у меня не получается вернуть переменную через selected. Надо наверное теорию почитать еще. Всем спасибо за ответы.
15. Sail - 08 Февраля, 2017 - 08:27:25 - перейти к сообщению
alezander1. session_start() выполняется? (var_dump($_SESSION); выполните - проконтролируете.)
2. Что есть kassa.base, со значением которой сравнивается то, что, предположительно было положено в сессию...
(Добавление)
alezander пишет:
возвращаеться на самое первое в списке
- нормальная реакция, если ни один из вариантов не 'selected'

 

Powered by ExBB FM 1.0 RC1