我目前正在开发一款Android应用程序,可让您为理发店创建约会。
使用URL传递StringRequest,将约会信息从应用程序发送到MySQL数据库。
我被困在如何运行查询,其中只有创建的约会显示在应用程序而不是所有约会。
我想从服务器而不是sharedPref检索数据,因为理发师或理发店可以通过管理页面删除/编辑约会。
我正在从SESSION中添加$ id(添加约会活动),但这不能按计划运行。
SELECT查询在应用和网络上运行完全正常,如果' id'在查询中使用变量进行硬编码。
顺便说一下,列表预约是另一项活动。
我该如何解决这个问题?
此查询仅在通过网络而非应用程序添加约会时有效: show.php
<?PHP
session_start();
date_default_timezone_set('UTC');
include 'wp-config.php';
global $id;
showAppts();
function showAppts() {
global $wpdb;
$id = $_SESSION['last_id'];
$list = $wpdb->get_results( $wpdb->prepare(
"
SELECT *
FROM wpmq_appts
WHERE id = $id
", $list));
header('Content-Type: application/json');
echo json_encode(array("wpmq_appts"=>$list));
}
?>
add.php
<?PHP
session_start();
date_default_timezone_set('UTC');
if($_SERVER["REQUEST_METHOD"]=="POST") {
require 'wp-config.php';
createAppt();
}
function createAppt() {
global $wpdb;
global $last_id;
$barberName = $_POST["barberName"];
$userDate = $_POST["userDate"];
$userTime = $_POST["userTime"];
$customerName = $_POST["customerName"];
$wpdb->insert(wpmq_appts, array(
'barberName' => $barberName,
'userDate' => $userDate,
'userTime' => $userTime,
'customerName' => $customerName
));
$last_id = $wpdb->insert_id;
}
$_SESSION['last_id'] = $last_id;
?>
系统在应用和网络上工作的示例&#39; show.php&#39;:
<?PHP
date_default_timezone_set('UTC');
include 'wp-config.php';
global $id;
showAppts();
function showAppts() {
global $wpdb;
$id = 150;
$list = $wpdb->get_results( $wpdb->prepare(
"
SELECT *
FROM wpmq_appts
WHERE id = $id
", $list));
header('Content-Type: application/json');
echo json_encode(array("wpmq_appts"=>$list));
}
?>
编辑1:添加了show.php和add.php。
$_SESSION['last_id']
仅适用于网络,而不适用于应用。我猜是因为我将浏览器指向服务器上的表单然后在添加约会后转到show.php页面。我认为逻辑不正确,但我需要一些指导。任何事情都会受到赞赏。谢谢!
编辑2: 我应该保存&#39; id&#39;在sharedPred?这样,我可以在show.php中添加隐藏文本表单,传递其值为&#39; id&#39;。我认为这是最好的方法,但我几个月前才开始学习编程。
编辑3: 我也可以通过添加登录来避免这种情况,但是在我最简单的应用程序启动并运行之后,这将在不久的将来实施。
编辑4:终于搞定了show.php:
<?PHP
session_start();
global $customerName;
date_default_timezone_set('UTC');
if($_SERVER["REQUEST_METHOD"]=="GET") {
require 'wp-config.php';
showAppts();
}
function showAppts() {
global $wpdb;
$customerName = $_GET['customerName'];
$query = $wpdb->prepare( " SELECT * FROM wpmq_appts WHERE customerName = %s", $customerName );
$result = $wpdb->get_results($query, ARRAY_A);
header('Content-Type: application/json');
echo json_encode(array("wpmq_appts"=>$result));
}
?>
已保存&#39; customerName&#39;在用户创建约会时使用sharedPref,然后添加链接show.php?customerName =&#39; customerName&#39;谷歌排球