2012-01-22 13 views
0

誰かが私を助けてくれるかどうかは疑問です。親と子のテーブル一意のIDフィールド

私は、ユーザーが次の表に情報を保存することができますフォーム必要がありました:フォームの一部は、情報画像の保存を伴うだろう

親表

CREATE TABLE `finds` (
    `userid` int(6) NOT NULL, 
    `locationid` int(6) NOT NULL, 
    `findid` int(6) NOT NULL auto_increment, 
    `findosgb36lat` float(10,6) NOT NULL, 
    `findosgb36lon` float(10,6) NOT NULL, 
    `dateoftrip` varchar(10) NOT NULL, 
    `findcategory` varchar(15) NOT NULL, 
    `findname` varchar(35) NOT NULL, 
    `finddescription` varchar(150) NOT NULL, 
    `detectorid` int(6) NOT NULL, 
    `searchheadid` int(6) NOT NULL, 
    `detectorsettings` varchar(600) default NULL, 
    `pasref` varchar(30) default NULL, 
    `findimage` varchar(200) default NULL, 
    `additionalcomments` varchar(600) default NULL, 
    `makepublic` varchar(3) NOT NULL default 'no', 
    PRIMARY KEY (`findid`), 
    KEY `userid` (`userid`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

を次の表にユーザーが入力します。

子テーブル

CREATE TABLE `images` (
     `imageid` int(6) NOT NULL auto_increment, 
     `userid` int(6) NOT NULL, 
     `locationid` int(6) NOT NULL, 
     `findid` int(6) NOT NULL, 
     `filepath` varchar(50) NOT NULL, 
     PRIMARY KEY (`imageid`), 
     KEY `findid` (`findid`) 
    ) ENGINE=InnoDB 

DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

2が 'findid' ですリンクフィールド。誰かが、親テーブルにレコードを作成し、ユニークな 'findid'値を割り当てる方法と、同じユニークな 'findid'値を同時に子テーブルにコピーする方法を教えてもらえますか?レコード。

多くの感謝と種類について

フォーム

<form enctype="multipart/form-data" action="add.php" method="POST"> 
Photo: <input type="file" name="photo"><br> 
<input type="submit" value="Add"> 
</form> 

保存PHP

<?php 

//This is the directory where images will be saved 
$target = "images2/"; 
$target = $target . basename($_FILES['photo']['name']); 

//This gets all the other information from the form 
$pic=($_FILES['photo']['name']); 

// Connects to your Database 
mysql_connect("host","user","password") or die(mysql_error()) ; 
mysql_select_db("database") or die(mysql_error()) ; 

//Writes the information to the database 
mysql_query("INSERT INTO `test` VALUES ('$pic')") ; 

//Writes the photo to the server 
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
{ 

//Tells you if its all ok 
echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory"; 
} 
else { 

//Gives and error if its not 
echo "Sorry, there was a problem uploading your file."; 
} 
?> 
+0

こんにちは、多くのお返事いただきありがとうございます。私は画像フォームを追加して、私が達成しようとしているものについてもう少し情報を与える元の投稿にPHPスクリプトを保存しました。私が抱えている問題は、ファイルを保存していないことですが、おそらく私が初めてのため、ユニークな 'findid'が作成されていないときに親レコードと子レコードをリンクする方法親テーブル親切には – IRHM

+0

は常に問題の時間を取る...半分の問題はそこにしか解決されません...リーダーは質問を理解している... –

答えて

0

私は、これはあなたが求めているもので、完全にはよく分からないが、あなたはしている場合1つのテーブルに挿入する方法、そのテーブルから自動インクリメントされたIDを取得してから、右に回して次のテーブルのクエリで使用して見てPHP関数mysql_insert_id()で2つのINSERTクエリの間のその値を取得します。

+0

こんにちは、これのための多くのthnaks。これについてもう少し詳しく読んだところ、これはうまくいくと思います。敬具 – IRHM

関連する問題