1

私は PHP と MySQL が初めてで、基本的な連絡先フォーム追跡データベースを構築しようとしています。私の用語を許してください。

変数を接続して挿入する方法は知っていますが、チェックボックスの送信をデータベースに挿入し、それを送信した顧客に関連付ける方法を理解しようとしています。

基本的な例:

HTML フォーム: 名前 電子メール 関心のある分野

チェックボックスの対象地域部分には 5 つのオプションがあります。複数のチェックボックスをチェックして、そのデータをデータベースに挿入して追跡できるようにする必要があります。

複数のテーブルが必要ですか? もしそうなら、情報に関する今後の報告のために、この 2 つをどのように関連付ければよいでしょうか?

これが理にかなっていることを願っています。私は困惑しています。


素晴らしい例...ありがとう。私は自分自身で多くのタイプミスを見つけ、それらを修正し、いくつかのフィールドを追加し、ニーズに合わせて名前を変更しましたが、オブジェクト以外のエラーでメンバー関数 fetch_assoc() への同じ呼び出しに遭遇します

ご覧ください

<?php 
$mysqli=new mysqli("localhost","flyoasis_admin","oasis225826","flyoasis_main");

if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$email_address=$_POST['email_address'];
$phone=$_POST['phone'];
$refer=$_POST['refer'];

$first_name=$mysqli->real_escape_string($first_name);
$last_name=$mysqli->real_escape_string($last_name);
$email_address=$mysqli->real_escape_string($email_address);
$phone=$mysqli->real_escape_string($phone);
$refer=$mysqli->real_escape_string($refer);
$interest=array();

$mysqli->query("INSERT INTO 'contacts2'('first_name', 'last_name', 'email_address', 'phone', 'refer')    VALUES('".$first_name."','".$last_name."','".$email_address."','".$phone."','".$refer."')");
$result=$mysqli->query("SELECT 'id' FROM 'contacts2' WHERE 'email_address'='".$email_address."'");
$result=$result->fetch_assoc();
$customer_id=$result['id'];

$sql="";
foreach ($_POST['interest'] as $interest) {
$interest=$mysqli->real_escape_string($interest);
$sql.="('".$customer_id."','".$interest."'),";
}
$sql=substr($sql,0,-1);

$mysqli->query("INSERT INTO 'interest_areas'('customer_id','interest') VALUES".$sql);

$mysqli->close();

?>

これまでご支援いただき、誠にありがとうございました。

4

2 に答える 2