Как отобразить данные mysql через javascript в поле формы Dynami c - PullRequest
1 голос
/ 03 мая 2020

У меня есть динамически добавленное поле формы HTML, которое принимает список названий компаний для хранения в базе данных MySql. Поскольку в базе данных есть только 1 столбец, я использую функцию сериализации для сохранения и отмены сериализации для повторного отображения (на странице редактирования). Сохранение работает нормально.

Проблема в том, что я не могу понять, как отображать различные компании в полях динамического c. Я жестко запрограммировал $ internname [0] в первом поле (которое является полем stati c) и добавил $ internname [1] в поле Dynami c (в скрипте). Это отображает имя первой компании в первом поле и название второй компании во всех оставшихся полях.

Я знаю, мне нужно передать инкрементный номер в поле Dynami c, но как мне написать эта функция? Попытка использовать уже доступную переменную xint, которая все равно увеличивается, не сработала.

  <?php     
     $query = "SELECT * FROM user WHERE mail = '$mail' LIMIT 1";
     $result=mysqli_query($db,$query);   
     while($row = mysqli_fetch_array($result))
     { 
   ?>  
<div class="field_wrapperint">
        <div class="inlineinput2b">
        <div align="left">Internships:</div>          
        <?php $internshipname = unserialize($row['internshipname']);
        foreach ((array) $internshipname as $internname[])  
        ?>
        <input type="text" name="internshipname[]" placeholder="Company Name" value="<?php echo htmlspecialchars($internname[0]);?>"/>
        </div>

        <div class="inlineinputb">      
        <a href="javascript:void(0);" class="add_buttonint" title="Add field"><img src="add-icon.png"/></a> 
        </div>
</div>  
    <input type="submit" name="update_profile" class="action-button" value="Update Profile" />
    <?php
    }
    mysqli_close($db);
    ?>

<!-- Script for dynamic button adding -->
<script type="text/javascript">
$(document).ready(function(){
    var maxField = 4; //Input fields increment limitation
    var xint = 0; //Initial field counter is 1

    var addButtonint = $('.add_buttonint'); //Add button selector
    var wrapperint = $('.field_wrapperint'); 
    var fieldHTMLint = '<div><div class="inlineinput2b"><input type="text" name="internshipname[]" placeholder="Company Name" value="<?php echo htmlspecialchars($internname[1]);?>"/></div><div class="inlineinputb"><a href="javascript:void(0);" class="remove_buttonint"><img src="remove-icon.png"/></a></div></div>' ; //New input field html 

    //Once add button is clicked
    $(addButtonint).click(function(){
        //Check maximum number of input fields
        if(xint < maxField){ 
            xint++; //Increment field counter           
            $(wrapperint).append(fieldHTMLint); //Add field html            
        }
    });

    //Once remove button is clicked
    $(wrapperint).on('click', '.remove_buttonint', function(e){
        e.preventDefault();
        $(this).parent('div').parent('div').remove(); //Remove field html
        xint--; //Decrement field counter                  
    }); 
});
</script>   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...