Я работаю над кроссплатформенным приложением, и у меня возникли проблемы с моими данными.
На самом деле у меня есть полный веб-сайт с большим количеством php, и я работаю с Intel XDK, чтобы сделать нативное приложение для этого сайта.
Но вот в чем дело, я знаю, что могу запускать php в своем родном приложении, поэтому я пытаюсь выполнить несколько сценариев непосредственно на моем сервере и получить результат с помощью ajax-запроса.
Вот код: (Javascript)
var games = location.search;
var res = games.split("=");
$.ajax({ //create an ajax request to a page that prints the address.
url: "http://tonight-app.fr/php/mobile_app/getGamesLists.php", //url for the address page
data: {"name": res[1]},
success: function(result){
var games = result; //create a variable and give it the value of the response data
var gamesSplit = games.split(";");
for(i=0;i<gamesSplit.length;i++){
var gamesSplit2 = gamesSplit[i].split(",");
test(gamesSplit2[0]);
}
}
});
function test(gamesSplit2) {
console.log(gamesSplit2);
var ul = document.createElement("ul");
ul.id = "email-list";
ul.innerHTML = gamesSplit2;
document.getElementById('test').appendChild(ul);
}
Вот php на сервере (по этому адресу упоминается в URL ajax)
<?php
require_once("connect_database.php");
mysqli_set_charset($con, "utf8");
$name = $_GET["name"];
$sql="SELECT * FROM `games`";
$reponse = mysqli_query($con, $sql);
while ($row = mysqli_fetch_array($reponse, MYSQL_NUM)) {
if ($row[2] == $name) {
echo $result = '
<a href="gamesReceipes.php?id=',$row[0],'">
<li class="unread clickable-row">
<div class="name">
',$row[1],'
</div>
<div class="message">
Voir la préparation
</div>
</li>;';
}
}
echo $result;
?>
Для пояснения, я выполняю свой php-скрипт, который дал мне $ result, и я должен отобразить этот результат в моем Ajax.
Он работает на эмуляторе в Intel XDK, но не после того, как я создаю приложение! (Конечно, на моем телефоне активирован 4g)
Это должно быть так на дисплее:
[Я надеюсь, что вы можете понять мою проблему здесь … Спасибо, ребята!
По этой ссылке:
Спасибо @OldGeeksGuide, который дал мне эту ссылку! Мне просто нужно было добавить ссылку на мой скрипт в intel xdk, и это сработало! Спасибо !
Вы, кажется, пытаетесь повторить одно и то же дважды. возврат данных в вызов AJAX должен быть выполнен один раз, и последнее, что вы делаете в скрипте.
<?php
require_once("connect_database.php");
mysqli_set_charset($con, "utf8");
$name = $_GET["name"];
$sql="SELECT * FROM `games`";
$reponse = mysqli_query($con, $sql);
// init the $result var
$result = '';
// incorrect parameter constant
//while ($row = mysqli_fetch_array($reponse, MYSQL_NUM)) {
while ($row = mysqli_fetch_array($reponse, MYSQLI_NUM)) {
if ($row[2] == $name) {
//echo $result = '
$result .= '
<a href="gamesReceipes.php?id=' . $row[0] . '">
<li class="unread clickable-row">
<div class="name">
' . $row[1] . '
</div>
<div class="message">
Voir la préparation
</div>
</li>;';
}
}
echo $result;
?>
Вы также можете упростить это.
Как вы проходите name
игры в этот сценарий, вы можете добавить это к запросу в качестве критерия поиска, а затем удалить много ненужной обработки.
<?php
require_once("connect_database.php");
mysqli_set_charset($con, "utf8");
// init the $result var
$result = '';
if ( isset($_GET['name'] ) {
$name = $_GET["name"];
$sql="SELECT * FROM `games` WHERE `name` = '$name'";
$reponse = mysqli_query($con, $sql);
// I assume there is only one ro w that contains this name
// so the loop is not required now
while ($row = mysqli_fetch_array($reponse, MYSQLI_NUM)) {
$result .= '
<a href="gamesReceipes.php?id=' . $row[0] . '">
<li class="unread clickable-row">
<div class="name">' . $row[1] . '</div>
<div class="message">Voir la préparation</div>
</li>;';
}
} else {
$result = 'No name parameter passed';
}
echo $result;
exit;
?>