Php 如何将多个记录添加到数据库
我一直在写表格。我想将表单中的信息添加到数据库中,这样我就可以在网站上其他人的日历中显示它 我在网上找到了一些其他代码,但它只适用于1个值。由于某种原因,只有一次。 现在有这个工作在wordpress顺便说一句Php 如何将多个记录添加到数据库,php,mysql,database,wordpress,Php,Mysql,Database,Wordpress,我一直在写表格。我想将表单中的信息添加到数据库中,这样我就可以在网站上其他人的日历中显示它 我在网上找到了一些其他代码,但它只适用于1个值。由于某种原因,只有一次。 现在有这个工作在wordpress顺便说一句 function elh_insert_into_db() { global $wpdb; // creates my_table in database if not exists $table = $wpdb->prefix . "table_form"; $charset
function elh_insert_into_db() {
global $wpdb;
// creates my_table in database if not exists
$table = $wpdb->prefix . "table_form";
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE IF NOT EXISTS $table (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
`email` text NOT NULL,
`date` text NOT NULL,
`starttijd` text NOT NULL,
`eindtijd` text NOT NULL,
`opmerkingen` text NOT NULL,
UNIQUE (`id`)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
// starts output buffering
ob_start();
?>
<form action="#v_form" method="post" id="v_form">
<label for="visitor_name"><h3>Naam:</h3></label>
<input type="text" name="visitor_name" id="visitor_name" />
<label for="visitor_email"><h3>E-mail:</h3></label>
<input type="email" name="visitor_email" id="visitor_email" />
<label for="visitor_date"><h3>Datum:</h3></label>
<input type="date" name="visitor_date" id="visitor_date" />
<label for="visitor_start_time"><h3>Starttijd:</h3></label>
<input type="time" name="visitor_start_time" id="visitor_start_time" />
<label for="visitor_end_time"><h3>Eindtijd:</h3></label>
<input type="time" name="visitor_end_time" id="visitor_end_time" />
<label for="visitor_text"><h3>Opmerkingen:</h3></label>
<input type="text" name="visitor_text" id="visitor_text" />
<input type="submit" name="submit_form" value="Aanvragen" />
</form>
<?php
$html = ob_get_clean();
// does the inserting, in case the form is filled and submitted
if ( isset( $_POST["submit_form"] ) && $_POST["visitor_name"] != "" ) {
$table = $wpdb->prefix."table_form";
$name = strip_tags($_POST["visitor_name"], "");
$wpdb->insert(
$table,
array(
'name' => $name
)
);
$html = "<p>check this is inserted in the database <strong>$name, $email, $date , $starttijd,
$eindtijd, $opmerkingen</strong> what a succes!</p>";
}
// if the form is submitted but the name is empty
if ( isset( $_POST["submit_form"] ) && $_POST["visitor_name"] == "" )
$html .= "<p>You need to fill the required fields.</p>";
// outputs everything
return $html;
}
// adds a shortcode you can use: [insert-into-db]
add_shortcode('elh-db-insert', 'elh_insert_into_db');
您只能从代码中处理/插入名称:
$name = strip_tags($_POST["visitor_name"], "");
$wpdb->insert(
$table,
array(
'name' => $name
)
)
修改这段代码以添加其他信息。您的$u帖子中的每个项目都需要处理
表单和其他很多东西的良好起点!: 那么这是起作用了,还是不起作用了?现在不起作用了什么不起作用了?它应该做什么?它实际上在做什么?它应该把表单中的信息放入一个名为table_form的数据库中。在这一点上,它只将名称放入这个数据库中,并且只用于第一次输入。如果你再填一次表格,它什么也做不了
function elh_insert_into_db() {
global $wpdb;
// creates nizam_table in database if not exists
$table = $wpdb->prefix . "nizam_table";
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE IF NOT EXISTS $table (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
`email` text NOT NULL,
UNIQUE (`id`)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
// starts output buffering
ob_start();
?>
<form action="#v_form" method="post" id="v_form">
<label for="visitor_name"><h3>Hello there! What is your name?</h3></label>
<input type="text" name="visitor_name" id="visitor_name" />
<input type="text" name="visitor_email" id="visitor_email" />
<input type="submit" name="submit_form" value="submit" />
</form>
<?php
$html = ob_get_clean();
// does the inserting, in case the form is filled and submitted
if ( isset( $_POST["submit_form"] ) && $_POST["visitor_name"] && $_POST["visitor_email"] != "" ) {
$table = $wpdb->prefix."nizam_table";
$name = strip_tags($_POST["visitor_name"], "");
$email = strip_tags($_POST["visitor_email"], "");
$wpdb->insert(
$table,
array(
'name' => $name,
'email' => $email
)
);
$html = "<p>Your name <strong>$name</strong> was successfully recorded. Thanks!!</p>";
}
// if the form is submitted but the name is empty
if ( isset( $_POST["submit_form"] ) && $_POST["visitor_name"] == "" )
$html .= "<p>You need to fill the required fields.</p>";
// outputs everything
return $html;
}
// adds a shortcode you can use: [insert-into-db]
add_shortcode('elh-db-insert', 'elh_insert_into_db');