Cześć,
znalazłem taki prosty przykład wyświetlania danych z bazy mysql -> http://softaox.info/angularjs/angularjs-sorting-searching-and-pagination-of-data-table-using-php-mysql/
Wyedytowałem do moich potrzeb, ale nie mogę poradzić sobie z jednym problemem. Gdy podglądam bazę danych mam normalnie polskie znaki. Natomiast w tabeli zamiast polskich znaków wyświetla mi się znak zapytania. Podpowie ktoś jak to zmodyfikować, aby pobierał dane i wyświetlał dane z tabel poprawnie?
Pewnie klasycznie: edytor/ide pliki UTF-8 bez BOM, baza danych utf8 itp.
A czy w bazie danych masz ustawione kodowanie znaków na utf-8?
W bazie danych mam ustawione - utf8_polish_ci
W notepad++ mam ustawione - koduj w UTF-8 (bez BOM)
tak wygląda struktura -> https://imgur.com/TLrN64n
Najlepiej zrzuć sobie bazę na dysk, otwórz w nn++ i sprawdź czy masz wszędzie, przy każdej tabeli CHARSET=utf8
na początku w SET NAMES
również.
Zrzut bazy, otwarty w notepad++.
```-- phpMyAdmin SQL Dump
-- version 4.8.4
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Czas generowania: 14 Sty 2019, 12:38
-- Wersja serwera: 10.1.37-MariaDB
-- Wersja PHP: 7.3.0
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Baza danych: `wysylki`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla tabeli `wysylki_wszystkie`
--
CREATE TABLE `wysylki_wszystkie` (
`LP` int(11) NOT NULL,
`ROK` varchar(4) COLLATE utf8_polish_ci DEFAULT NULL,
`MIESIAC` varchar(90) COLLATE utf8_polish_ci DEFAULT NULL,
`TYDZIEN` varchar(2) COLLATE utf8_polish_ci DEFAULT NULL,
`KLIENT` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`NR_ZAMOWIENIA` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`INDEKS` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`ASORTYMENT` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`ILOSC_KG` int(11) DEFAULT NULL,
`PAKOWANIE` varchar(30) COLLATE utf8_polish_ci DEFAULT NULL,
`ILOSC_PALET` varchar(11) COLLATE utf8_polish_ci DEFAULT NULL,
`DATA_WAZNOSCI` varchar(40) COLLATE utf8_polish_ci DEFAULT NULL,
`PARTIA` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`KRAJ_DOSTAWY` varchar(40) COLLATE utf8_polish_ci DEFAULT NULL,
`DATA_DOSTAWY` varchar(40) COLLATE utf8_polish_ci DEFAULT NULL,
`DATA_PRZYGOTOWANIA` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`WYNIKI_BADAN` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`REALNA_DATA_DOSTAWY` varchar(40) COLLATE utf8_polish_ci DEFAULT NULL,
`STATUS` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`TRANSPORT` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`OPIEKUN_KLIENTA` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`UWAGI_DJ` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`NR_ZLECENIA` varchar(255) COLLATE utf8_polish_ci DEFAULT NULL,
`PRODUKCJA_NA_PODSTAWIE` mediumtext COLLATE utf8_polish_ci,
`UWAGI_1` mediumtext COLLATE utf8_polish_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
--
-- Zrzut danych tabeli `wysylki_wszystkie`
INSERT INTO `wysylki_wszystkie` (`LP`, `ROK`, `MIESIAC`, `TYDZIEN`, `KLIENT`, `NR_ZAMOWIENIA`, `INDEKS`, `ASORTYMENT`, `ILOSC_KG`, `PAKOWANIE`, `ILOSC_PALET`, `DATA_WAZNOSCI`, `PARTIA`, `KRAJ_DOSTAWY`, `DATA_DOSTAWY`, `DATA_PRZYGOTOWANIA`, `WYNIKI_BADAN`, `REALNA_DATA_DOSTAWY`, `STATUS`, `TRANSPORT`, `OPIEKUN_KLIENTA`, `UWAGI_DJ`, `NR_ZLECENIA`, `PRODUKCJA_NA_PODSTAWIE`, `UWAGI_1`) VALUES
(4, '2019', 'Styczeń', '2', 'NULL, NULL, '30200', 'Liść', 1000, '10', 'luz', '01.2020', 'NULL', 'ZAGRANICA', '07.01.2019', 'gotowe', 'zgodne', '10.01.2019', 'dostarczono', NULL, 'NULL', NULL, '+', NULL, NULL),
--
-- Indeksy dla zrzutów tabel
--
--
-- Indeksy dla tabeli `wysylki_wszystkie`
--
ALTER TABLE `wysylki_wszystkie`
ADD PRIMARY KEY (`LP`);
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
--
Niby ok, weź jeszcze zobacz czy przy połączeniu z bazą (tam gdzie masz usera i hasło) też masz utf-8, ew. spróbuj z ustawieniami 'utf8_general_ci` i stwórz nową bazę i zaimportuj powyższe (odśwież).
Dzięki za naprowadzenie. W pliku łączącym z db brakowało
mysqli_set_charset($conn, "utf8");
$conn->set_charset("utf8");
Pozdrawiam
Nie chciałem zakładać nowego tematu, ponieważ tyczy się tego samego skryptu.
Jak wyfiltrować wyszukiwarką tylko jedną tabelę? Jak w przykładzie poniżej - Search i Search1 przeszukują wszystkie kolumny, Search2 filtrował tylko w kolumnie Age - data.age
<label>Search:</label>
<input type="text" ng-model="search" ng-change="filter()" placeholder="Search" class="form-control" />
<input type="text" ng-model="search1" ng-change="filter()" placeholder="Search1" class="form-control" />
<input type="text" ng-model="search2" ng-change="filter()" placeholder="Search2" class="form-control" />
</div>
</div>
<br/>
<div class="row">
<div class="col-md-12" ng-show="filter_data > 0">
<table class="table table-striped table-bordered">
<thead>
<th>Name <a ng-click="sort_with('name');"><i class="glyphicon glyphicon-sort"></i></a></th>
<th>Gender <a ng-click="sort_with('gender');"><i class="glyphicon glyphicon-sort"></i></a></th>
<th>Age <a ng-click="sort_with('age');"><i class="glyphicon glyphicon-sort"></i></a></th>
</thead>
<tbody>
<tr ng-repeat="data in searched = (file | filter:search | | filter:search1 | | filter:search2 | orderBy : base :reverse) | beginning_data:(current_grid-1)*data_limit | limitTo:data_limit">
<td>{{data.name}}</td>
<td>{{data.gender}}</td>
<td>{{data.age}}</td>
</tr>
</tbody>
</table>
</div>