Это может быть глупый вопрос, но я пытаюсь вызвать один и тот же запрос на две разные страницы, но как только я перезвоню во второй раз, ссылка на страницу больше не будет работать. На данный момент я настроил его так, что все страницы в приложении находятся в одном файле (index.php). Я ссылаюсь на каждую страницу, используя идентификатор (href = «# page2»). Если я вызову один и тот же запрос, в зависимости от порядка страниц, будет работать только «верхняя» страница, или в этом случае страница 1. Я попытался изменить имена переменных, чтобы они воспринимались как другой вызов, но безрезультатно.
Я разрабатываю это приложение с помощью Phonegap Build, и было бы очень полезно, если бы кто-нибудь мог помочь.
Страница 1
<div data-role="page" id="page1">
<form action="post-comment.php" method="POST">
<h3>COMMENT</h3>
<input type="text" name="name" placeholder="Name"><br />
<textarea name="comment" cols="50" rows="2" placeholder="Enter Comment"></textarea><br />
<input type="submit" value="comment" onClick="javascript.ajax_post()"></input><br />
</form>
<?php
$find_comments = mysql_query("SELECT * FROM COMMENTS");
while($row = mysql_fetch_assoc($find_comments))
{
$comment_name = $row['name'];
$comment = $row['comment'];
echo "$comment_name - $comment<br />" ;
}
?>
</div>
Страница 2
<div data-role="page" id="page2">
<?php
$find_comments1 = mysql_query("SELECT * FROM COMMENTS");
while($row = mysql_fetch_assoc($find_comments1))
{
$comment_name1 = $row['name'];
$comment1 = $row['comment'];
echo "$comment_name1 - $comment1<br />" ;
}
?>
</div>
Я предлагаю использовать PDO
— DOC вместо mysql
Я бы сделал это так:
Подключитесь к вашей базе данных:
$hostdb = "your_host";
$namedb = "db_name";
$userdb = "user_name";
$passdb = "pass";
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING);
try {
$db = new PDO("mysql:host=$hostdb; dbname=$namedb; charset=utf8", $userdb, $passdb, $options);
return $db;
} catch (PDOException $e) {
$err = "DB Connection Error, because: ". $e->getMessage();
print $err;
}
Теперь вы можете использовать $db
подключиться к вашей базе данных в вашем скрипте и получить комментарии:
<div data-role="page" id="page1">
<form action="post-comment.php" method="POST">
<h3>COMMENT</h3>
<input type="text" name="name" placeholder="Name"><br />
<textarea name="comment" cols="50" rows="2" placeholder="Enter Comment"></textarea><br />
<input type="submit" value="comment" onClick="javascript.ajax_post()"></input><br />
</form>
<?php
$find_comments ="SELECT * FROM COMMENTS";
$stmt = $db->prepare($find_comments);
if(!$stmt->execute()){
print "error";
} else {
$comments = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($comments as $comment) {
echo $comment['name']."</br>";
echo $comment['comment'] ;
}
$stmt->closeCursor(); // Close connection
}
?>
</div>
тогда в вашей Page2 просто сделайте то же самое, что и Page1. Вы можете определить оператор SQL как глобальную переменную и повторно использовать его во втором запросе. просто убедитесь, что используете closeCursor();
закрыть ваше соединение с БД.
Других решений пока нет …