DataTable naštená dat s MYSGL
Dobrý den, využívám plugin DataTable, Nelze mi načíst data z databáze vyskakujícími chyba z datatable a nenačte mi to žádné data z mysgl.
Posílán část Javaskript k nahlédnuti
$(function () { $('#podcast').DataTable( { "ajax": {"url": "load_data.php"}, "columnDefs": [{ type: 'date-eu', targets: 0}], "order": [[ 0, "desc" ]], "language": {"url": "//cdn.datatables.net/plug-ins/1.10.19/i18n/Czech.json"} }); });
Soubor load_data.php
<?php include_once("config.php"); $sqlQuery = "SELECT podcast_id, datum, nazev, podcast, youtube, active_podcast FROM RG_podcast2 ORDER BY id ASC LIMIT $startFrom, $perPage"; //echo $sqlQuery; $result = mysqli_query($conn, $sqlQuery); $paginationHtml = ''; while ($row = mysqli_fetch_assoc($result)) { $paginationHtml.='<tr>'; $paginationHtml.='<td>'.$row["podcast_id"].'</td>'; $paginationHtml.='<td>'.$row["datum"].'</td>'; $paginationHtml.='<td>'.$row["nazev"].'</td>'; $paginationHtml.='<td>'.$row["podcast"].'</td>'; $paginationHtml.='<td>'.$row["youtube"].'</td>'; $paginationHtml.='<td>'.$row["active_podcast"].'</td>'; $paginationHtml.='</tr>'; } $jsonData = array( "html" => $paginationHtml, ); echo json_encode($jsonData); ?>
Děkuji za pomoc

8 Answers
Vlákno nyní uzavírám z důvodu neaktivity. V případě potřeby založte nový dotaz nebo nás kontaktujte pomocí kontaktního formuláře.
Dobry den, promenna $conn by mela byt identifikator spojeni na mysql, ale nikde v kodu nevidim, ze si tuto promennou naplnite – vypada to, ze nemate pripojenou databazi. Kdyz neni databaze pripojena, nemuze to fungovat. 😉
Dobrý večer, k databázi bych měl být připojen. Přikládám ještě znovu část kódu.
<?php // db settings $hostname = '***'; $username = '***'; $password = '***'; $database = '***'; // db connection $conn = mysqli_connect($hostname, $username, $password, $database) or die("Error " . mysqli_error($conn)); $sqlQuery = "SELECT podcast_id, datum, nazev, podcast, youtube, active_podcast FROM RG_podcast2 ORDER BY id ASC LIMIT $startFrom, $perPage"; //echo $sqlQuery; $result = mysqli_query($conn, $sqlQuery); $paginationHtml = ''; while ($row = mysqli_fetch_assoc($result)) { $paginationHtml.='<tr>'; $paginationHtml.='<td>'.$row["podcast_id"].'</td>'; $paginationHtml.='<td>'.$row["datum"].'</td>'; $paginationHtml.='<td>'.$row["nazev"].'</td>'; $paginationHtml.='<td>'.$row["podcast"].'</td>'; $paginationHtml.='<td>'.$row["youtube"].'</td>'; $paginationHtml.='<td>'.$row["active_podcast"].'</td>'; $paginationHtml.='</tr>'; } $jsonData = array( "html" => $paginationHtml, ); echo json_encode($jsonData); ?>
přikládám i scan obrazovky chyby
Děkuji za případnou opravu kódu.
Dobrý den, provedl jsem aktualizaci php kódu.
<?php // db settings $hostname = '***'; $username = '***'; $password = '***'; $database = '***'; // db connection $conn = mysqli_connect($hostname, $username, $password, $database) or die("Error " . mysqli_error($conn)); mysqli_set_charset($conn,"utf8"); $sqlQuery = "SELECT podcast_id, datum, nazev, podcast, youtube, active_podcast FROM RG_podcast2 ORDER BY podcast_id ASC"; //echo $sqlQuery; $result = mysqli_query($conn, $sqlQuery); $paginationHtml = ''; while ($row = mysqli_fetch_assoc($result)) { $paginationHtml.='<tr>'; $paginationHtml.='<td>'.$row["podcast_id"].'</td>'; $paginationHtml.='<td>'.$row["datum"].'</td>'; $paginationHtml.='<td>'.$row["nazev"].'</td>'; $paginationHtml.='<td>'.$row["podcast"].'</td>'; $paginationHtml.='<td>'.$row["youtube"].'</td>'; $paginationHtml.='<td>'.$row["active_podcast"].'</td>'; $paginationHtml.='<td>'.$row["active_podcast"].'</td>'; $paginationHtml.='</tr>'; } $jsonData = array( "html" => $paginationHtml, ); echo json_encode($jsonData); ?>
Javaskript
/* Nastaveni dataTable */ $(function () { $('#podcast').DataTable( { "ajax": {"url": "load_data.php"}, "columnDefs": [{ type: 'date-eu', targets: 0}], "order": [[ 0, "desc" ]], "language": {"url": "//cdn.datatables.net/plug-ins/1.10.19/i18n/Czech.json"} }); });
K databázi jsem správně připojen. Chybové okno je pryč, ale pluginu DataTable se mi žádné data nezobrazují. Pouze oznámení „Načítám…“.
Kde může být ještě chyba?
Děkuji za pomoc a případné opravy kódu.

Dobry den, chapu, ze udaje o pripojeni k db mate skryty a v kodu je mate spravne, ale pokud mate zbytek kodu tak, jak jej mate nyni napsan, tak promennou $conn mate nyni zakomentovanou…

Omlouvám se, to bude moje chyba. Editoval jsem kód, aby neobsahoval přihlašovací údaje do databáze, ale nakopíroval se do jedné řádky. Pravděpodobně jsem při manuální úpravě některé řádky neodřádkoval správně.
Znak // je řádkový komentář – kod na řádku zahájeném znaky // se nevykonává.

Chyba se do kódu dostala při úpravě z naší strany, protože jste v originálu uvedl přihlašovací údaje k databázi.

Zdravím, jak píše pán MB, došlo k tomu při úpravě kódu… Takže osobně bych doporučil nyní zavolat přímo skript load_data.php v prohlížeči a sledovat, jaká data vrátí, pokud vůbec. Chtělo by to vyloučit chybu v jednom skriptu (php), následně v druhém (js).

Můžete mi sem vložit upravený kód, podle Vás. V souboru PHP se výsledek z db zobrazí.
Příčinu proč se mi nevypisují data z MYSGL do aplikace DataTable jste zjistili? Nebo jste jen upravovali přiložený kód.
Přikládám dnešní pokus. Zkoušel různé příklady z internetu, ale u žádného z nich se mi nezobrazuje obsah tabulky. Napadlo mně jestli s tím nemá souvislost soubor .htaccess?
PHP skript
<?php // db settings $hostname = '******'; $username = '******'; $password = '******'; $database = '******'; // db connection $conn = mysqli_connect($hostname, $username, $password, $database) or die("Error " . mysqli_error($conn)); $cz = mysqli_set_charset($conn,"utf8"); $sqlQuery = "SELECT podcast_id, datum, nazev, podcast, youtube, active_podcast FROM RG_podcast2"; //echo $sqlQuery; $result = mysqli_query($conn, $sqlQuery, $cz); while ($row = mysqli_fetch_assoc($result)) { $array[] = $row; } $jsonData = array( "echo" => 1, "totalrecords" => count($array), "totaldisplayrecords" => count($array), "data" => $array ); echo json_encode($jsonData); ?>
Javaskript
$(function () { $("#podcast").DataTable( { "processing": true, "ajax": {"url": "load_data.php"}, "columns": [ {"data": "podcast_id"}, {"data": "datum"}, {"data": "nazev"}, {"data": "podcast"}, {"data": "youtube"}, {"data": "active_podcast"} ], "columnDefs": [{"type": "date-eu", targets: 1}], "order": [[ 0, "desc"]], "language": {"url": "//cdn.datatables.net/plug-ins/1.10.19/i18n/Czech.json"} }); });
Obrázek okna
Dobrý den,
Vaši zprávu jsem publikoval. Protože se přímo netýká našich služeb, necháváme ji k zodpovězení komunitě. Pokud Vám cca do 14 dnů nikdo neodpoví, vrátí se k Vašemu dotazu přímo zákaznická podpora WEDOS.