Janardhanam Julapalli Ответов: 2

Проблема чтение молекулярной формулы из базы данных с помощью jquery ajax PHP


У меня есть несколько тысяч химических продуктов в базе данных. Мне нужно динамически обновлять их на веб-сайте с 15 на страницу вместе с разбиением на страницы. Я использую приведенный ниже код для получения данных из БД. Он отлично работает в Localhost, но при загрузке на сервер молекулярная формула не отображается должным образом.
Экс:
C??H??N?NAO?


<?php

/*** mysql hostname ***/
$hostname = 'localhost';

/*** mysql username ***/
$username = 'admin_bio';

/*** mysql password ***/
$password = 'bio_organics';

$page_number = $_GET['pageNumber'];

$start = $page_number * 15;

$products_per_page = 15;

$dbname = 'bio_organics';

$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);

$response = $dbh->query("SELECT * FROM products LIMIT $start,$products_per_page ")->fetchAll(PDO::FETCH_ASSOC);

echo json_encode($response);

$dbh = null;

?>


Что я уже пробовал:

Я попытался визуализировать вышеуказанные данные json на веб-странице с помощью jQuery ajax.

& lt;скрипт>
jQuery (документ).готово(функция()
{
var pageNumber = окно.location.href. split ("=") [1];
if (pageNumber= = undefined)
{
номер страницы = 0;
}
ещё
{
pageNumber = pageNumber - 1;
}
на jQuery.Аякс(
{
типа:"вам",
тип данных: "JSON",
URL-адрес:"products_list.РНР?значение pagenumber="+значение pagenumber,
успех: функция(данные)
{
ВАР product_listing = ";
for (i=0;i< jquery(data).длина; i++)>
{
ВАР номера страниц = '&ЛТ;значение параметра="'+ данные[я].ИД +'"&ГТ;'+ данные[я].ИД +'&ЛТ;/вариант&ГТ;'
если(product_listing==")
{
product_listing = '
&ЛТ;ИМГ стиль="высота: 100 пикселей;" СРЦ="'+ данные[я].url_изображения +'" АЛТ="товар" /&ГТ;

'+ данные[я].chemical_name +'

валовая формула :'+ данные[я].mol_formula +'

Но. ::'+ данные[я].cas_number +'

Спрашивать
';
}
ещё
{
product_listing = product_listing + '
&ЛТ;ИМГ стиль="высота: 100 пикселей;" СРЦ="'+ данные[я].url_изображения +'" АЛТ="товар" /&ГТ;

'+ данные[я].chemical_name +'

валовая формула :'+ данные[я].mol_formula +'

Но. ::'+ данные[я].cas_number +'

Спрашивать
';
}
}

jQuery ("#all_products"). html(product_listing);
}
});
});
< / script>

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Я использую приведенный ниже код для получения данных из БД. Он отлично работает в Localhost, но при загрузке на сервер молекулярная формула не отображается должным образом.
Разделите вашу проблему на 2 более простые задачи.
- Убедитесь, что вы всегда получаете правильные данные из базы данных на локальном хосте и на сервере.
- проверьте, что рендеринг выполняется с теми же данными и что в этом случае рендеринг является правильным.

результат этой проверки подскажет вам, где искать.

[Обновление]
Цитата:
Я правильно получаю ответ json в localhost, но не на сервере. Кроме того, такие названия, как натриевая соль абакавира 5’-β-D-Глюкуронида, становятся нулевыми. Если я удалю одинарную кавычку после буквы 5, она отобразит имя.
Таким образом, вы знаете, что проблема заключается в базе данных сервера или ее доступе.
Теперь вы знаете, что проблема заключается в содержании базы данных сервера или в доступе к базе данных сервера.
Вам нужно проверить содержимое базы данных сервера с помощью другого инструмента.


Janardhanam Julapalli

Я правильно получаю ответ json в localhost, но не на сервере. Кроме того, такие названия, как натриевая соль абакавира 5’-β-D-Глюкуронида, становятся нулевыми. Если я удалю одинарную кавычку после буквы 5, она отобразит имя.

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.

Рейтинг:
2

Janardhanam Julapalli

Я исправил эту проблему, добавив кодировку UTF8

mysql_set_charset("UTF8");
внутри файла. php, который дает мне вывод json.