Barry, Hey, you're digging into it and making progress. You will end up with what you want, although it will seem like a long process.
So you are welcome - Miles Thompson At 03:21 PM 1/12/2002 +1300, Barry Rumsey wrote: >I had been looking for a pre made script for a lyric site like phpnuke but >the only one I could find was myphplyrics which is quite hopeless ,so I've >had no choice but to try and make my own any way I would like to thank you >for all your help so far. > >B.J.Rumsey. >----- Original Message ----- >From: "Miles Thompson" <[EMAIL PROTECTED]> >To: "Barry Rumsey" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> >Sent: Saturday, January 12, 2002 12:51 PM >Subject: Re: [PHP-DB] multiple tables insert > > > > Barry, > > > > Good question, and you have discovered one of MySQL's limitations, it does > > not enforce functional constraints. To put it another way, you can design > > parent-child relationships, but the db will never say "You can't add this > > because the parent record doesn't exist". So you have to do it in code, >not > > a big deal,and it's been done that way for years with other flat file, > > pseudo-relational database -- FoxPro, dBase, etc. > > > > You work around it by capturing the auto_increment value using the > > mysql_insert_id() function. Hence you can insert the values for the artist > > table, call mysql_insert_id() and assign it to a variable, say >$art_id_key, > > and use it in the insert for the album table. Then repeat, calling > > mysql_insert_id() and assigning it to $album_id_key after the insert into > > the album table so that you will have it for the insert into the tracks > > table. And so forth. > > > > You will be doing all these inserts on the same thread, so if someone else > > inserts into the same table you should be safe, according to the > > documentation. If A inserts into artist, B inserts into artist, then A > > calls mysql_insert_id() the value returned is for A's insert, not B's. > > MySQL has a separate thread for each of A and B. > > > > Now, don't trust me. Read up on the last_insert_id() and mysql_insert_id() > > functions in both the MySQL and PHP docs. > > > > I'll toss this out - what if you decide to capture other information, such > > as the name of the producer. Can your design handle that? What changes > > might you have to make to accommodate the change? > > > > Regards - Miles Thompson > > > > At 10:17 AM 1/12/2002 +1300, Barry Rumsey wrote: > > > Thanks for that. > > >But it has brought up another question. I'll list the tables so you'll >know > > >what i'm on about. > > >TABLE 1 : Album > > >alb_id int(11) NOT NULL auto_increment, > > > art_id int(11) NOT NULL default '0', > > > alb_name varchar(255) NOT NULL default '', > > > alb_image varchar(255) NOT NULL default '', > > > alb_year date NOT NULL default '0000-00-00', > > > alb_genre varchar(100) NOT NULL default '', > > > PRIMARY KEY (alb_id) > > > > > >TABLE 2 : Artist > > >art_id int(11) NOT NULL auto_increment, > > > art_name varchar(255) NOT NULL default '', > > > art_details mediumtext NOT NULL, > > > PRIMARY KEY (art_id) > > > > > >TABLE 3 : Songs > > >song_id int(11) NOT NULL auto_increment, > > > song_name varchar(255) NOT NULL default '', > > > song_lyrics mediumtext NOT NULL, > > > song_info mediumtext NOT NULL, > > > PRIMARY KEY (song_id) > > > > > >TABLE 4 : Tracks > > >track_id int(11) NOT NULL auto_increment, > > > alb_id int(11) NOT NULL default '0', > > > art_id int(11) NOT NULL default '0', > > > song_id int(11) NOT NULL default '0', > > > PRIMARY KEY (track_id) > > > > > >Ok I'll be able to work out the simple part of the inserts, but what >about > > >the auto_increment parts thatt relie on the information in the other >files. > > >eg: 'artist.art_id' should be the same as 'album.art_id' the problem is > > >that 'artist.art_id' is auto_increment and 'album.art_id' is not. So if >I > > >added an artist in the artist table and the auto_increment gave it the >value > > >of 5, how would I update the 'album.art_id' with the same value? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >----- Original Message ----- > > >From: "Miles Thompson" <[EMAIL PROTECTED]> > > >To: "Barry Rumsey" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > > >Sent: Saturday, January 12, 2002 9:50 AM > > >Subject: Re: [PHP-DB] multiple tables insert > > > > > > > > > > Barry > > > > > > > > See below ... > > > > > > > > At 09:09 AM 1/12/2002 +1300, Barry Rumsey wrote: > > > > >Two questions: > > > > >1) If I have a url in the db that points to a image , how do I get >php to > > > > >get this image and display it ? > > > > > > > > Check the <IMG> tag in an HTML reference > > > > > > > > > > > > >2) I have 4 tables in the db and would like to know of a good >tutorial on > > > > >inserting to multiple tables form a single form. > > > > > > > > There are many tutorials, the one I most frequently recommend is by >Julie > > > > Meloni at http://www.thickbook.com pick the one on custom error >messages > > > > as she develops it very nicely. > > > > > > > > As for the inserts, in the "processing" part of the script, you'll >know > > > > what I mean when you examine the tutorial, execute an INSERT for the >data > > > > you want to insert in each of the tables. INSERT acts on one table at >a > > > > time, so you'll have four of them. > > > > > > > > That should get you going - Miles Thompson > > > > > > > > > > > > > > > > -- > > > > PHP Database Mailing List (http://www.php.net/) > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > To contact the list administrators, e-mail: >[EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > >-- > > >PHP Database Mailing List (http://www.php.net/) > > >To unsubscribe, e-mail: [EMAIL PROTECTED] > > >For additional commands, e-mail: [EMAIL PROTECTED] > > >To contact the list administrators, e-mail: [EMAIL PROTECTED] > > > > > > > >-- >PHP Database Mailing List (http://www.php.net/) >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] >To contact the list administrators, e-mail: [EMAIL PROTECTED] -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]