За последние 24 часа нас посетили 18019 программистов и 1719 роботов. Сейчас ищут 925 программистов ...

Ajax+php+mysql

Тема в разделе "JavaScript и AJAX", создана пользователем Nutcracker, 16 сен 2010.

  1. Nutcracker

    Nutcracker Активный пользователь

    С нами с:
    16 сен 2010
    Сообщения:
    3
    Симпатии:
    0
    У меня возник вопрос, как мне выводить ссылку их базы данных на страничку в браузер, причем загвоздка состоит в том, что у меня она должна выводиться на страничку динамически, по нажатию кнопки,то есть я использую технологию AJAX, для этого:
    1) я создал базу данных, в которую записывается ссылка по нажатию пользователем на кнопку.

    2)
    Код (Text):
    1. html файл
    2. <title>AJAX and PHP</title>
    3. <link href="../../css/style.css" rel="stylesheet" type="text/css"/>
    4. <script type="text/javascript" src="activ_lessons.js"></script>
    5. </head>
    6.  
    7. <body onload="process()">
    8.  Список активных лекций:
    9.  <div id="myName"/>
    10. <table border='1' class = 'form'>
    11. <tr> <th>Список доступных лекций</th>
    12.  <tr><td> <div id="divMessage">
    13. </td>
    14. <td></td>
    15. </tr>
    16.  
    17.  </table>
    18. </body>
    19. </html>
    3)js файл
    Код (Text):
    1. // JavaScript Document
    2.  
    3. var xmlHttp = createXmlHttpRequestObject();
    4.  
    5. function createXmlHttpRequestObject()
    6. {
    7.  //переменная для хранения ссылки на объект XMLHttpRequest
    8.  var xmlHttp;
    9.  try {
    10.  //создание обекта XMLHttpRequest. Работает во всез брайзерах выit IE6
    11.  xmlHttp = new XMLHttpRequest();
    12.  }
    13.  catch(e)
    14.  {
    15.  //создание обекта XMLHttpRequest. предпологается что в качестве браузера
    16.  // используется IE6 или более старая версия
    17.  var XmlHttpVersions = new Array ('MSXML2.XMLHTTP.6.0',
    18.           'MSXML2.XMLHTTP.5.0',
    19.           'MSXML2.XMLHTTP.4.0',
    20.           'MSXML2.XMLHTTP.3.0',
    21.           'MSXML2.XMLHTTP',
    22.           'Microsoft.XMLHTTP' ;
    23.  //пытаться создать объект найболие свежей версии
    24.  //пока одна из попыток не увенчается успехот
    25.   for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){
    26.    try{
    27.    //попытаться создать объект XMLHttpRequest
    28.    xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
    29.     }
    30.     catch (e){} //игнорировать возможность ошибки
    31.    }
    32.   }
    33.   //вернуть созданный объект или вывести сообщение об ошибки
    34.   if (!xmlHttp)
    35.    alert("Ошибка создаания объекта XMLHttpRequest." ;
    36.    else
    37.    return xmlHttp
    38. }
    39.      //
    40.  function process()
    41.  {
    42.   //
    43.   if (xmlHttp.readyState ==4 || xmlHttp.readyState ==0)
    44.   {
    45.    //
    46.    name = encodeURIComponent (document.getElementById("myName" .value)
    47.    //
    48.    xmlHttp.open("GET","activ_lessons.php?name=" + name, true);
    49.    //
    50.    xmlHttp.onreadystatechange = handleServerResponse;
    51.    //
    52.    xmlHttp.send(null);
    53.    }
    54.    else
    55.     //
    56.     setTimeout('process()', 1000);
    57.   }
    58.   //
    59.  function handleServerResponse(){
    60.      if (xmlHttp.readyState == 4)
    61.   {
    62.   if (xmlHttp.status == 200)
    63.   {
    64.    //
    65.    xmlResponse = xmlHttp.responseXML;
    66.    //
    67.    xmlDocumentElement = xmlResponse.documentElement;
    68.    //
    69.    //
    70.    helloMessage = xmlDocumentElement.firstChild.data;
    71.    //
    72.    document.getElementById("divMessage" .innerHTML = helloMessage ;
    73.    //------------------------------//
    74.  
    75.      //------------------------------//
    76.    setTimeout ('process()', 1000);
    77.    }
    78.   //
    79.   else
    80.   {
    81.    alert ("При обращении к серверу возникли проблемы:" + xmlHttp.statusText);
    82.        }
    83.   }
    84.  }
    4) и php файл
    Код (Text):
    1. <?php
    2. include ("../../inc/db_connect.inc.php" ;
    3.  
    4. header ('Content-Type: text/xml' ;
    5. //
    6. echo '<?xml version="1.0" encoding ="Windows-1251" standalone="yes"?>';
    7. //
    8. echo '<response>';
    9.  
    10. $sql = "SELECT *
    11.   FROM href_session
    12.   ORDER BY id DESC";
    13. $result = mysql_query($sql);
    14. if(!$result){
    15.  echo "Çàïðîñ íå óäàëñÿ";
    16.  }
    17.  
    18. while ($rows = mysql_fetch_array($result)){
    19.  $id = $rows['id'];
    20.  $Lhref_session = $rows['Lhref_session'];
    21.         print " href='".$Lhref_session."'";
    22.   }
    23.   echo '</response>';
    24.    ?>
    проблема заключается в том, что вроде бы все работает, а вот догадаться, как вывести на экран ссылку в виде html ссылки я не понимаю, так как xml не воспринимает html теги. Я предпологаю, что это где то надо делать в JS файле, не могли бы вы мне помочь разобраться с этим вопросом.
    Зарание спасибо.
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    внутри JavaScript распарсить XML (как именно подсказать не смогу, для аякса пользуюсь JSON), получить массив данных и в цикле подставить сюда - helloMessage =...
     
  3. Nutcracker

    Nutcracker Активный пользователь

    С нами с:
    16 сен 2010
    Сообщения:
    3
    Симпатии:
    0
    Если есть возможность напишите болие развернутый ответ на эту тему ..... если есть возможность втавьте код с решением ....
     
  4. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Код читать не буду. В чём проблема? Не знаете как обработать получаемые параметры или что?
     
  5. Nutcracker

    Nutcracker Активный пользователь

    С нами с:
    16 сен 2010
    Сообщения:
    3
    Симпатии:
    0
    Проблема заключается в том, что вроде бы все работает, а вот догадаться, как вывести на экран ссылку в виде html ссылки я не понимаю, так как xml не воспринимает html теги. Я предпологаю, что это где то надо делать в JS файле. Тоесть на страницу выводится тупо путь
    например lesson/html/test.html а запихнуть в <a href "тут путь"></a> не получается так как выводится из базы это через javascript по средством теа <div id="divMessage"> а в xml тоже нельзя записать html теги. Вот и вопрос как это обойти...??