【发布时间】:2016-06-23 03:39:07
【问题描述】:
Wordpress 4.4.2 Theme= 来自 WPZoom 的 Meeta
我创建了一个自定义模板,其中包含自定义狗表的 SQL 查询。查询通过 WPDB 类工作正常,我可以以可接受的格式显示输出数据。
现在我在同一个自定义模板中插入一个 php 表单以允许用户输入搜索条件。
表单显示正常,但查询立即执行,无需等待用户点击提交,因此我无法输入任何搜索条件。在提交表单之前,我应该怎么做才能保留查询?
如果我在其他地方引入错误,我已经多次摆弄这个问题,显示恢复到主页而不显示错误。我必须打开错误显示还是将其发送到某个地方的日志。
<?php the_content(); ?>
//=================================
<?php
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
// set variables to wildcard
$dog_name = "%";
?>
<h2>Chercher dans la base</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Dog_name: <input type="text" dog_name="dog_name" value="<?php echo $dog_name;?>">
<input type="submit" name="submit" value="Submit">
</form>
<?php
$dog_name = test_input($_POST["dog_name"]);
global $wpdb;
$query = "SELECT offspring.dog_name, offspring.sex, offspring.color, offspring.dob, offspring.cotation, offspring.titles, offspring.hd, offspring.titles, offspring.eyes, offspring.dna, offspring.born_in, offspring.prod_prop, sire.dog_name AS sire, dam.dog_name AS lice
FROM BP_dog AS offspring
JOIN BP_dog AS sire ON sire.dog_id = offspring.sire_id
JOIN BP_dog AS dam ON dam.dog_id = offspring.dam_id
ORDER BY dog_name";
word
$results = $wpdb->get_results($query);
$num_rows = $wpdb->num_rows;
print "Number of rows = $num_rows.<br>";
foreach ($wpdb->get_results($query)as $row) {
print $row->dog_name . "\t";
print $row->sex . "\t";
print $row->dob . "\t";
print $row->color . "\t";
print $row->cotation . "\t";
print $row->titles . "\t";
print $row->hd . "\t";
print $row->eyes . "\t";
print $row->dna . "\t";
print $row->born_in . "<br>";
print "Sire = " . $row->sire . "\t";
print "Lice = " . $row->lice . "<br>";
print $row->prod_prop . "<br><br>";
}
?>
【问题讨论】:
标签: php forms templates wordpress