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.
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