<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=419244&amp;view=findpost&amp;p=3835340</guid>
        <pubDate>Mon, 27 Jul 2020 17:42:26 +0000</pubDate>
        <title>PHP + Ajax, JSON, HTML и SQL&amp;#33; Помогите создать правильный запрос к базе данных&amp;#33;</title>
        <link>https://forum.sources.ru/index.php?showtopic=419244&amp;view=findpost&amp;p=3835340</link>
        <description><![CDATA[Pavl: Добрый день&#33;<br>
Есть два файла.<br>
Файл <strong class='tag-b'>index2.php</strong>:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?php</div><div class="code_line">define(&#39;DB_HOST&#39;, &#39;localhost&#39;);</div><div class="code_line">define(&#39;DB_USER&#39;, &#39;root&#39;);</div><div class="code_line">define(&#39;DB_PASSWORD&#39;, &#39;&#39;);</div><div class="code_line">define(&#39;DB_NAME&#39;, &#39;mysite&#39;);</div><div class="code_line">&nbsp;</div><div class="code_line">try {</div><div class="code_line">&nbsp;&nbsp; &nbsp;$pdo = new PDO(&#39;mysql:host=&#39;.DB_HOST.&#39;; dbname=&#39;.DB_NAME,DB_USER,DB_PASSWORD, [PDO::ATTR_ERRMODE =&#62; PDO::ERRMODE_EXCEPTION]);</div><div class="code_line">} catch (PDOException $e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;echo &#39;Ошибка при подключении к базе данных!&#39;;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">$query = &#39;SELECT * FROM `poyas3`&#39;;</div><div class="code_line">$result = $pdo-&#62;query($query);</div><div class="code_line">$table = $result-&#62;fetchAll(PDO::FETCH_ASSOC);</div><div class="code_line">?&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">&#60;!DOCTYPE html&#62;</div><div class="code_line">&#60;html lang=&quot;ru&quot;&#62;</div><div class="code_line">&#60;head&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;title&#62;Ajax и JSON&#60;/title&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;script type=&quot;text/javascript&quot; src=&quot;js/jquery-3.5.1.min.js&quot;&#62;&#60;/script&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;script type=&quot;text/javascript&quot;&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$(document).ready(function() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$(&quot;select&quot;).bind(&quot;click&quot;, function(event) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ajax({&#39;func&#39;: 1});</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;});</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;});</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;function ajax(data) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$.ajax({</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;url: &#39;api2.php&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;type: &quot;POST&quot;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;data: data,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dataType: &quot;text&quot;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;error: error,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;success: success</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;});</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;function error() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;alert(&#39;Ошибка при загрузке данных!&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;function success(result) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var result = $.parseJSON(result);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var str = &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (var i in result)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;str += &#39;&#60;b&#62;&#39; + i + &#39;&#60;/b&#62;: &#39; + result[i] + &#39;&#60;br /&#62;&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$(&#39;#result&#39;).empty();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$(&#39;#result&#39;).append(str);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/script&#62;</div><div class="code_line">&#60;/head&#62;</div><div class="code_line">&#60;body&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;div&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#60;p&#62;&#60;select name=&quot;list1&quot;&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#60;option&#62;Выберите из списка&#60;/option&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#60;?php foreach($table as $idx =&#62; $data) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo &#39;&#60;option&#62;&#39;.$data[&#39;title&#39;].&#39;&#60;/option&#62;&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}?&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#60;/select&#62;&#60;/p&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;/div&#62;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#60;div id=&quot;result&quot;&#62;&#60;/div&#62;</div><div class="code_line">&#60;/body&#62;</div><div class="code_line">&#60;/html&#62;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
И файл <strong class='tag-b'>api2.php</strong>:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?php</div><div class="code_line">if (isset($_POST[&#39;func&#39;]) &amp;&amp; $_POST[&#39;func&#39;] == &#39;1&#39;) {</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//$vibor = $_POST[&#39;list1&#39;];</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;define(&#39;DB_HOST&#39;, &#39;localhost&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;define(&#39;DB_USER&#39;, &#39;root&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;define(&#39;DB_PASSWORD&#39;, &#39;&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;define(&#39;DB_NAME&#39;, &#39;mysite&#39;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;try {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$pdo = new PDO(&#39;mysql:host=&#39; . DB_HOST . &#39;; dbname=&#39; . DB_NAME, DB_USER, DB_PASSWORD, [PDO::ATTR_ERRMODE =&#62; PDO::ERRMODE_EXCEPTION]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$query = &quot;SELECT * FROM `poyas3` ORDER BY rand() LIMIT 1&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$result = $pdo-&#62;query($query);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$row = $result-&#62;fetch(PDO::FETCH_ASSOC);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;echo json_encode($row);</div><div class="code_line">&nbsp;&nbsp; &nbsp;} catch (PDOException $e) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;echo &#39;Ошибка: &#39;.$e-&#62;getMessage();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div><div class="code_line">?&#62;</div></ol></div></div></div></div><br>
Если применять скрипты именно в таком виде, то результатом работы будет вывод на экран данных одной случайной строки из базы данных. В БД <strong class='tag-b'>poyas3</strong> 3 поля: id, title(название часового пояса), offset(смещение по времени).<br>
Нужно, чтобы при выборе часового пояса из выпадающего списка и нажатии на него на экране появлялось смещение по времени выбранного часового пояса. Пробую, по-разному, не получается.<br>
Как это сделать?]]></description>
        <author>Pavl</author>
        <category>PHP</category>
      </item>
	
      </channel>
      </rss>
	