Получите значение моей базы данных в виде строки, чтобы передать его моей функции javascript PHP

#javascript #php #function #mysqli

#javascript #php #функция #mysqli

Вопрос:

У меня есть строковое значение из моей базы данных, которое является идентификатором, и у меня есть кнопка с функцией javascript onclick=»значения (‘аргумент’)«.

Моя проблема в том, что когда я попытался нажать на эту кнопку, у меня возникла эта ошибка:

 (index):1 Uncaught ReferenceError: argument is not defined
  

Я знаю, что это происходит потому, что аргумент не обрабатывается как строка.

Как я могу передать аргумент в виде строки?

Все это таблица, которая содержится в функции php, которая показывает информацию из моей базы данных

Это мой полный код.

     <?php


   function oportunities($resultQuery)
   {

    echo '<div class="table-responsive">
                <table class="responstable">
                    <thead class="thead">

                    <tr>
                        <th>No.</th>
                        <th>value1</th>
                        <th>value2</th>
                        <th>value3</th>
                        <th>value4</th>
                        <th>value5</th>
                        <th>value6</th>
                        <th>value7</th>
                        <th>value8</th>
                        <th>value9</th>
                        <th>value10</th>
                        <th>value11</th>
                        <th>value12</th>
                        <th>value13</th>
                        <th>value14</th>
                        <th>value15</th>
                    </tr>

                    </thead>
                    <tbody>';

    foreach($resultQuery as $row){
        echo '<tr>
                <td> '. $row['id'] .'</td>
                        <td>'. $row['value1'] .'</td>
                        <td>'.  $row['value2'] .'</td>
                        <td class="descripcion">
                            <p class="text-descripcion">'.$row['value3'].' </p>
                        </td>
                        <td> '.$row['value4'].' </td>
                        <td> '. $row['value5'].' </td>
                        <td><p class="text-center">'. $row['value6'] .'% </p></td>
                        <td> '.$row['value7'].' </td>
                        <td> '.$row['value8'].' </td>
                        <td> '.$row['value9'].' </td>
                        <td> '.$row['value10'].'</td>
                        <td> '.$row['value11'].' </td>
                        <td> '.$row['value12'].' </td>
                        <td> '. $row['value13'].' </td>
                        <td>
                            <button class="center-block btn btn-acept"><i class="fa fa-check" aria-hidden="true"></i>
                            </button>
                        </td>
                        <td>
                            <button onclick="values('. $row['id']. ')" class="center-block btn btn-editar launch-modal" data-modal-id="modal-edit"><i
                                    class="fa fa-pencil" aria-hidden="true"></i>
                            </button>
                        </td>
                </tr>';
    }
    echo '</tbody>
        </table>
       </div>';
}
  

Комментарии:

1. Ошибка в javascript, где ваш код javascript?

Ответ №1:

Вы добавляете кавычки и экранируете их

 <button onclick="values(''. $row['id']. '')" class="center-block
  

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

Конечно, лучшим вариантом было бы вообще не использовать встроенный javascript, но addEventListener .

Комментарии:

1. но если я использую addEventListener, как я могу передать аргумент $row[‘id’] функции javascript?

2. Использование атрибута данных для помещения данных в элемент и получение этого атрибута данных при нажатии кнопки.

3. Не могли бы вы объяснить это на примере?

4. Я получил эту ошибку jquery.min.js:2 Uncaught TypeError: не удается прочитать свойство ‘addEventListener’ из null

5. Не уверен, почему вы получите ошибку jQuery, когда опубликованный код не использует jQuery? В любом случае, элементы должны быть доступны для их получения, обратите внимание, что скрипт помещается после элемента с заданным идентификатором и т.д.