Есть ли лучший способ работать с ajax, php и mysql, чем этот?

#php #mysql #ajax

#php #mysql — сервер #аякс #mysql #ajax

Вопрос:

Давайте предположим, что я хочу иметь следующий небольшой код

 <div id="field"> Some links here with a database call. </div>
  

Проблема в том, что я хочу иметь возможность работать с ajax над ними и вызывать их, когда пользователь добавляет новую ссылку через соответствующую форму.

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

      <?php  
  function testfield ($id) {  Database call
     ?>
      <div id="field"> <?php The links in here  ?> </div>
      }
   <html>
      <body>
        <?php testfield($_GET['id']); ?> 
     </body>
   </html>
  

Поэтому, когда пользователь добавляет новую ссылку, я просто вызываю с помощью ajax функцию и все готово.

Есть ли какой-нибудь другой лучший способ сделать это? Заранее благодарю вас

Ответ №1:

Когда пользователь добавляет новую ссылку, вы отправляете данные с помощью AJAX в PHP-скрипт, который работает с базой данных, при успешном завершении вы должны обновить DIV с помощью javascript — напишите новую информацию (у вас это уже есть) в конце DIV или отобразите весь DIV с информацией, которую вы получаете из JSON massive, возвращенной с успехом из PHP-скрипта

Ответ №2:

Например, вы должны использовать JSON и возвращать данные в свой div. Для AJAX попробуйте использовать jQuery.

PHP-код:

 $linkarray = array();
$linkarray[] = 'link1';
$linkarray[] = 'link2';
$linkarray[] = 'link3';
echo json_encode($linkarray);
  

HTML:

 <html>
<body><div id="linklist"></div></body>
</html>
  

JS:

 $.ajax({
 url:'getlinklist.php',
        dataType:'json',
        type:'POST',
        success: function(data){
            $('#linklist').html('');
            $.each(datamfunction(key,value){
                $('#linklist').append(value '<br/>');                 
            });
        }
    });
  

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

1. Почему вы предлагаете json вместо обычного текста? Также я не уверен, что понял, что именно вы пытаетесь сделать. К вашему сведению, я не знаком с json. Что еще предлагает этот подход

2. JSON не так уж трудно понять. Попробуйте выполнить мой код и посмотрите на firebug, когда код обрабатывается.

3. И последний вопрос, хорошо, я вызываю его в $ (document). готов, но должен ли я снова скопировать часть ajax как функцию, чтобы вызвать ее позже? Потому что именно в этом заключался мой вопрос в первую очередь. Я не хочу иметь один и тот же код дважды.

4. создайте функцию и добавьте в нее весь JS-код. Сначала обработка кода на $(document). готово (); и затем вы можете создать кнопку или ссылку и отправить AJAX-запрос, когда пользователь нажимает кнопку / щелкает ссылку

5. Евгений Я знаю это, но этот div запустится, как только страница завершит загрузку, а затем я хочу, чтобы он обновлялся, как только пользователь добавит что-то в форму без необходимости перезагрузки формы. Я мог бы легко создать функцию, содержащую .ajax, и вызвать ее, когда документ будет готов, но для этого потребуется иметь возможность передавать переменную $ _GET[‘id’] из php в jquery, а afaik это невозможно.