我正在编写一段代码,用于根据多个数据创建发票。
使用html表单插入数据。相关的代码行是,
<form method="post" action="">
<label id="icon" for="debtor_id_invoice">Debtor :</label><?php echo debtors_dropdown(); ?>
这会调用位于同一文件中的debtors_dropdown函数。下拉函数是,
function debtors_dropdown() {
global $wpdb;
$sql_debtor = "SELECT `debtors_companyname`, `debtors_id`, `debtors_initials`, `debtors_surname` FROM `debtors` ORDER BY `debtors_surname`";
$rows = $wpdb->get_results($sql_debtor);
echo "<select name=debtor_invoice_id=''>Debtor</option>";
foreach ($rows as $row){
echo "<option value=>{$row->debtors_id} - {$row->debtors_surname}, {$row->debtors_initials}</option>";}
echo "</select>";
}
根据我的表格,我使用变量, $ debtor_id_invoice = $ _ POST [&#39; debtor_id_invoice&#39;];
我的全部意义是, 我确实从下拉列表中获取了从SQL中提取的正确值。但我不太确定如何将所选值存储在POST信息中。因为在那一刻我的变量保持空白。 (我做了一个双重检查以回显变量,看它是否真的是空的。)
有人能指出将下拉选项存储在POST变量中的解决方案吗? (谷歌搜索,但可能是错误的价值观或东西,我被困:-S)
谢谢, 严峻
答案 0 :(得分:0)
创建选择的部分看起来不对。尝试:
echo '<select name="debtor_invoice_id">Debtor</option>';
foreach ($rows as $row){
echo '<option value="'.$row->debtors_id.'">'.$row->debtors_surname.', '.$row->debtors_initials.'</option>'; }
echo "</select>";
}
答案 1 :(得分:0)
我认为选择名称在$ _POST ['debtor_id_invoice']中是错误的。这是debtor_invoice_id
答案 2 :(得分:0)
您的变量名称不正确。在您的表单中,您有name="debtor_invoice_id"
然而,在你的$_POST
中; $debtor_id_invoice=$_POST['debtor_id_invoice'];
您的帖子应为$debtor_invoice_id=$_POST['debtor_invoice_id'];
答案 3 :(得分:0)
我在你的代码中发现了一些问题(最后一个是你在哪里寻找的):
$wpdb->prefix
。 Wordpress使用它来为所有表添加前缀(你也应该这样)。</option>
value="{your data}"
function debtors_dropdown() {
global $wpdb;
$sql_debtor = "SELECT `debtors_companyname`, `debtors_id`, `debtors_initials`, `debtors_surname`
FROM `".$wpdb->prefix."debtors` ORDER BY `debtors_surname`";
$rows = $wpdb->get_results($sql_debtor);
echo "<select name=debtor_invoice_id=''><option>Debtor</option>";
foreach ($rows as $row){
echo "<option value='{$row->debtors_id}'> {$row->debtors_surname}, {$row->debtors_initials} </option>";}
echo "</select>";
}