Re: [PHP-DB] multiple tables insert

2002-01-12 Thread Miles Thompson

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 '-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

Re: [PHP-DB] multiple tables insert

2002-01-11 Thread Barry Rumsey

 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 '-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]




Re: [PHP-DB] multiple tables insert

2002-01-11 Thread Barry Rumsey

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 '-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