За последние 24 часа нас посетили 68810 программистов и 5437 роботов. Сейчас ищет 1301 программист ...

Как записать значение переменной находящейся в функции в value <input type="input"> - PHP

Тема в разделе "PHP для новичков", создана пользователем Nikolai_G, 10 окт 2017.

  1. Nikolai_G

    Nikolai_G Новичок

    С нами с:
    10 окт 2017
    Сообщения:
    29
    Симпатии:
    0
    Здравствуйте, возникла следующая проблема. Есть текстовое поле
    HTML:
    1. 1
    2. <input type="input" id="nextIOL" name="nextIOL" value="" onclick=""  class="textBox_div"></input>
    3.  
    в поле value которого необходимо записать значение переменной находящейся в некой функции
    PHP:
    1. function newfunction(){
    2. $var1=1;//Значение переменной которое необходимо записать в поле value
    3. }
    Буду признателен за конкретный пример)))
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Nikolai_G
    HTML:
    1. <input type="input" id="nextIOL" name="nextIOL" value="<?php echo $var1; ?>" onclick=""  class="textBox_div"></input>
    или так:
    HTML:
    1. <input type="input" id="nextIOL" name="nextIOL" value="<?= echo $var1; ?>" onclick=""  class="textBox_div"></input>
     
  3. Nikolai_G

    Nikolai_G Новичок

    С нами с:
    10 окт 2017
    Сообщения:
    29
    Симпатии:
    0
    так работает если только переменная не в функции) вся соль в том, что переменная будет находится в функции и необходимо после выполнения функции её значение записывать в поле value)
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Nikolai_G
    я с функциями слабо дружу, ну попробуйте записать функцию в value:
    HTML:
    1. <input type="input" id="nextIOL" name="nextIOL" value="<?php echo newfunction( $var1 ); ?>" onclick=""  class="textBox_div"></input>
    а в ней передать уже переменную.
     
  5. Nikolai_G

    Nikolai_G Новичок

    С нами с:
    10 окт 2017
    Сообщения:
    29
    Симпатии:
    0
    Попробовал, но не совсем корректно такой способ работает) сейчас попробую допилить, а может кто чего подскажет) но всё равно спасибо)
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Ну или input выводить внутри функции, или нужную переменную вернуть из функции. А вообще, почитать, что такое функции и с чем их едят.
     
  7. Nikolai_G

    Nikolai_G Новичок

    С нами с:
    10 окт 2017
    Сообщения:
    29
    Симпатии:
    0
    Вот функция) т.е когда я это хозяйство вывожу на странице всё отлично работает) число 39 отображается)
    PHP:
    1. function newf($var1){
    2.             return $var1=39;
    3.         }
    4.         $result=newf();
    5.         echo $result;
    но если я пытаюсь сделать вот так

    HTML:
    1. <input type="input" id="nextIOL" name="nextIOL" value="<?php echo $result; ?>" onclick=""  class="textBox_div"></input>  
    ничего не получается)
    вопрос в том как мне сделать чтобы всё получилось, желательно с примером.
     

    Вложения:

  8. Nikolai_G

    Nikolai_G Новичок

    С нами с:
    10 окт 2017
    Сообщения:
    29
    Симпатии:
    0
    Заработало, но мне не понятна логика) может кто объяснит?) если я функцию
    PHP:
    1. function newf(){
    2.             return $var1=49;
    3.         }
    4.         $result=newf();
    вставляю в начале скрипта то всё замечательно работает (значение переменной пишется в поле value) если в конец скрипта то ничего не отображается) объясните пожалуйста в чём причина)
    PHP:
    1. function newf(){
    2.             return $var1=49;
    3.         }
    4.         $result=newf();
    5.        
    6. //ПОДКЛЮЧЕНИЕ К СЕРВЕРУ И БАЗЕ ДАННЫХ
    7. try
    8. {  
    9.  
    10. $pdo = new PDO('mysql:host=localhost;dbname=test', 'admin', 'admin');
    11.   $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    12.   $pdo->exec('SET NAMES "utf8"');
    13.  
    14. }
    15. catch (PDOException $e)
    16. {
    17.   $output = 'Неудалось подключиться к базе данных.'. $e->getMessage();
    18.   include 'output.html.php';
    19.   exit();
    20. }
    21.  
    22. $output = 'Соединение с базой данных установлено.';
    23. include 'output.html.php';
    24.  
    25.  
    26. $batchNumber=$_REQUEST['batchnumber'];
    27. $Made=$_REQUEST['made'];
    28.  
    29. //Создается новая таблица
    30.   function createNewTable($batchNumber,$pdo){
    31.  
    32. $sql='CREATE TABLE '.$batchNumber.'(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, iol DOUBLE, mtf DOUBLE, rejected1 TEXT, rejected2 TEXT, rejected3 TEXT, rejected4 TEXT )DEFAULT CHARACTER SET utf8 ENGINE=InnoDB';
    33. $pdo->exec($sql);
    34. }
    35.  
    36. //Таблица заполняется нулями
    37. function writeZero($batchNumber,$Made,$pdo){
    38.  
    39. while($Made>$count){
    40.      $count++;
    41.     $sql='INSERT INTO '.$batchNumber.'(id , iol , mtf , rejected1 , rejected2 , rejected3 , rejected4) VALUES(  "0" , "0" , "0" , "0" , "0" , "0" , "0" )';
    42.   $pdo->exec($sql);
    43. }  
    44. }
    45.  
    46.  
    47. //Работа с CSV файлом и изменение значений строк таблицы на значения взятые из CSV файла      
    48. function writeCSV($batchNumber,$pdo){          
    49. $count1=0;
    50. $handle = fopen("33-09-17.brp", "r");
    51. while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    52.      $count1++;
    53.    
    54.         if($count1>1){  
    55.   $sql='UPDATE '.$batchNumber.' SET iol='.$data[3].' , mtf='.$data[5].' WHERE id='.$data[0].' ';  
    56.  
    57.      $pdo->exec($sql);    
    58.         }  
    59. }
    60.         fclose($handle);
    61.         return $count1;
    62.         }
    63.        
    64.        
    65.  
    66.        
    67. createNewTable();
    68. writeZero();
    69. writeCSV();
     
  9. Griffter

    Griffter Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    92
    Симпатии:
    25
    Точно сказать не могу, но я предполагаю, что это связано с include 'output.html.php'; Типа вызов идет до того, как собрались все данные для отображения. А так вообще протестировать нужно будет.
     
  10. Nikolai_G

    Nikolai_G Новичок

    С нами с:
    10 окт 2017
    Сообщения:
    29
    Симпатии:
    0
    Возможно) сейчас проверю) спасибо)
     
  11. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Nikolai_G
    вся проблема в том что сперва идет php обработчик а потом html но не наоборот. Не можно и наоборот но это не правильно, это называется сделай так чтобы работало)
    Вот тебе и логика)))
     
  12. Nikolai_G

    Nikolai_G Новичок

    С нами с:
    10 окт 2017
    Сообщения:
    29
    Симпатии:
    0
    Можешь по подробней тему раскрыть?) либо ссыль на ресурс где это доступно объясняется)
     
  13. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Nikolai_G
    извини по подробней ссылку не дам, мне просто давно совет давали, люди с этого же форума, вот я теперь тоже советую.
     
  14. Nikolai_G

    Nikolai_G Новичок

    С нами с:
    10 окт 2017
    Сообщения:
    29
    Симпатии:
    0
    Не давать ссылки?
     
  15. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Nikolai_G
    Ты не правильно понял, я не знаю где о этом почитать, скорее всего в мануале, ссылок не каких у меня нет, чтобы почитать об этом. Я просто мнение тебе свое сказал да и все. Почитай в мануале или в гугл вбей что ты хочешь!!!
    --- Добавлено ---
    иди читай мануал php.net