PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 6
elikmhs Отправлено: 25 Июля, 2018 - 16:12:02 • Тема: Помогите подключится к БД с параметрами кодировки UTF-8 • Форум: Вопросы новичков

Ответов: 5
Просмотров: 230
Мелкий пишет:
Не в DNS, а в DSN. Data Source Name в PDO так называется, строка-первый параметр в new pdo.


Я пытаюсь но без успешно. Пожалуйста помогите подправит код.
(Добавление)
CODE (htmlphp):
скопировать код в буфер обмена
  1. $this->db->exec("set names utf8");


Вот что требовалось дописать
elikmhs Отправлено: 25 Июля, 2018 - 15:32:42 • Тема: Помогите подключится к БД с параметрами кодировки UTF-8 • Форум: Вопросы новичков

Ответов: 5
Просмотров: 230
Мелкий пишет:
charset=utf8 в DSN добавьте и всё.


Прошу меня извинить но я не знаю как добавить в DNS

Если есть возможность помогите подправить выше указанный PHP код.

Благодарю за поддержку.
elikmhs Отправлено: 25 Июля, 2018 - 14:47:33 • Тема: Помогите подключится к БД с параметрами кодировки UTF-8 • Форум: Вопросы новичков

Ответов: 5
Просмотров: 230
Помогите подключится к БД с параметрами кодировки UTF-8

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. class DB{
  3.     public $db;
  4.     private $host = "localhost";
  5.     private $database = "staff";
  6.     private $user = "root";
  7.     private $pass = "";
  8.     public function __construct(){
  9.         try{
  10.             $this->db = new PDO("mysql:host=".$this->host.";dbname=".$this->database, $this->user, $this->pass);
  11.         }catch (PDOException $exception){
  12.             echo $exception->getMessage();
  13.         }
  14.     }
  15. }
  16. $db= new DB();
elikmhs Отправлено: 25 Июля, 2018 - 09:16:35 • Тема: Помогите правильно составить запрос к БД • Форум: Вопросы новичков

Ответов: 2
Просмотров: 116
[quote=Vladimir Kheifets][quote=elikmhs]Допустим в базе есть таблица Сотрудники с полями имя, возраст и пол.
Ваш вариант работает.
Но к сожалению я не могу правильна составит запрос к БД (MySql) чтобы выводить эту информацию из БД.

Я пишу так:
PHP:
скопировать код в буфер обмена
  1.  <?PHP
  2. //Допустим, что в БД имена не отсотрованы так, как в массиве $names
  3. $names = mysql_query("SELECT name FROM sotrudniki");
  4. echo "<pre>"; print_r($names); echo "</pre>";
  5. sort($names);
  6. echo "<pre>"; print_r($names); echo "</pre>";
  7. $out=[];
  8. $name1=$names[0];
  9. $count=0;
  10. foreach($names as $name)
  11. {
  12.         if($name==$name1)
  13.         {
  14.                 $count++;
  15.         }
  16.         else
  17.         {
  18.                 $out[]=[$name1,$count];
  19.                 $name1=$name;
  20.                 $count=1;
  21.         }
  22. }
  23. if($count>0) $out[]=[$name1,$count];
  24. echo "<pre>"; print_r($out); echo "</pre>";
  25.  
  26. ?>
elikmhs Отправлено: 24 Июля, 2018 - 14:22:58 • Тема: Помогите правильно составить запрос к БД • Форум: Вопросы новичков

Ответов: 2
Просмотров: 116
Допустим в базе есть таблица Сотрудники с полями имя, возраст и пол.
Требуется создать таблицу в цикле так чтобы каждое имя отображалась один раз а рядов вывести количество сотрудников с таким именем.

Таблица в БД

CODE (html):
скопировать код в буфер обмена
  1. <table width="786" border="1" cellspacing="0" cellpadding="10">
  2.   <tr>
  3.     <td>ИМЯ</td>
  4.     <td>ВОЗРАСТ</td>
  5.     <td>ПОЛ</td>
  6.   </tr>
  7.   <tr>
  8.     <td>Иван</td>
  9.     <td>30</td>
  10.     <td>М</td>
  11.   </tr>
  12.   <tr>
  13.     <td>Олег</td>
  14.     <td>19</td>
  15.     <td>М</td>
  16.   </tr>
  17.   <tr>
  18.     <td>Иван</td>
  19.     <td>35</td>
  20.     <td>М</td>
  21.   </tr>
  22.   <tr>
  23.     <td>Олег</td>
  24.     <td>20</td>
  25.     <td>М</td>
  26.   </tr>
  27.   <tr>
  28.     <td>Олег</td>
  29.     <td>40</td>
  30.     <td>М</td>
  31.   </tr>
  32.   <tr>
  33.     <td>Инна</td>
  34.     <td>20</td>
  35.     <td>Ж</td>
  36.   </tr></table>
  37.  


Требуется вывести
CODE (html):
скопировать код в буфер обмена
  1. <table width="500" border="1" cellspacing="0" cellpadding="10">
  2.   <tr>
  3.     <td>ИМЯ</td>
  4.     <td>КОЛ. СОТРУДНИКОВ</td>
  5.   </tr>
  6.   <tr>
  7.     <td>Иван</td>
  8.     <td>2 </td>
  9.   </tr>
  10.   <tr>
  11.     <td>Олег</td>
  12.     <td>3 </td>
  13.   </tr>
  14.   <tr>
  15.     <td>Инна</td>
  16.     <td>1 </td>
  17.   </tr>
  18. </table>


Моя попытка
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3.  
  4.  
  5. $result = mysql_query("SELECT DISTINCT name FROM sotrudniki");
  6.  
  7. $myrow = mysql_fetch_array ($result);
  8.  
  9.  
  10. $i=0;
  11.  
  12.  
  13.  
  14. do {
  15.          
  16.          $i++;
  17.                  
  18. printf ("<tr><td>$i</td>
  19.    <td>%s</td>
  20.    <td>%s</td>
  21.    <td>%s</td></tr>",$myrow['name']);
  22. }
  23. while ($myrow = mysql_fetch_array ($result));
  24.  
  25. ?>


Помогите дописать или может есть решения по проще ?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB