On Sat, 2009-07-18 at 20:36 -0400, Jason Pruim wrote: > On Jul 18, 2009, at 5:54 PM, Phpster wrote: > > > > > > > On Jul 18, 2009, at 9:45 AM, Ashley Sheridan > > <ash@xxxxxxxxxxxxxxxxxxxx> wrote: > > > >> On Fri, 2009-07-17 at 14:01 -0400, Bastien Koert wrote: > >>> On Fri, Jul 17, 2009 at 1:54 PM, Jason Pruim<jason@xxxxxxxxxxxxxx> > >>> wrote: > >>>> > >>>> On Jul 17, 2009, at 11:56 AM, Bastien Koert wrote: > >>>> > >>>>> On Fri, Jul 17, 2009 at 11:51 AM, tedd<tedd.sperling@xxxxxxxxx> > >>>>> wrote: > >>>>>> > >>>>>> At 11:12 AM -0400 7/17/09, Jason Pruim wrote: > >>>>>>> > >>>>>>> Hi everyone! > >>>>>>> > >>>>>>> So some of you may have noticed that I have been away for quite > >>>>>>> awhile... > >>>>>>> Been trying to get settled (Moved across the country) and > >>>>>>> getting a job. > >>>>>>> > >>>>>>> And now that that is done I have a question about a project > >>>>>>> that I might > >>>>>>> be doing for my current employer and want to do it properly. > >>>>>>> > >>>>>>> If all goes through, I'll be writing an online database that > >>>>>>> upwards of > >>>>>>> 10 > >>>>>>> people will be using at various times through out the day. > >>>>>>> Basically, in > >>>>>>> a > >>>>>>> form they fill out a model number, customer name, phone number > >>>>>>> etc. > >>>>>>> etc.. > >>>>>>> And then submit the form. After submitting they need to write > >>>>>>> the log > >>>>>>> number > >>>>>>> on some paperwork. If I have 2 people submit the form at the > >>>>>>> same time, > >>>>>>> I'm > >>>>>>> thinking I could end up with a race condition and they might > >>>>>>> get the > >>>>>>> wrong > >>>>>>> log number (The log number is simply a consecutive record > >>>>>>> number) > >>>>>>> > >>>>>>> Do I need to be reading up on locking tables/rows? Or in my > >>>>>>> situation as > >>>>>>> I've briefly described it do I not have to worry about it? Or > >>>>>>> is there a > >>>>>>> third door with the magic bullet that will solve all my > >>>>>>> problems? :) > >>>>>>> > >>>>>>> Any advice is greatly appreciated as always, RTFMing is good > >>>>>>> as well, as > >>>>>>> long as M is defined :) > >>>>>>> > >>>>>>> I'm not afraid of google either, just need the right terms to > >>>>>>> hit it > >>>>>>> with > >>>>>>> so I don't go into "search overload" as the commercials for a > >>>>>>> rival > >>>>>>> search > >>>>>>> engine claim :) > >>>>>>> > >>>>>>> Thanks Everyone! > >>>>>> > >>>>>> Jason: > >>>>>> > >>>>>> Welcome back. > >>>>>> > >>>>>> Clearly if you have two or more people checkout the same record > >>>>>> at the > >>>>>> same > >>>>>> time and each edits the record then you ARE going to have > >>>>>> problems when > >>>>>> each > >>>>>> updates the record. > >>>>>> > >>>>>> You can solve this problem by using transactions -- here's a > >>>>>> link: > >>>>>> > >>>>>> http://dev.mysql.com/doc/refman/5.0/en/lock-tables-and-transactions.html > >>>>>> > >>>>>> When someone is editing a record, you also need to be able to > >>>>>> show the > >>>>>> next > >>>>>> person(s) that the record they want is currently busy and not > >>>>>> available. > >>>>>> However, I'm not sure as to how to notify the next user that > >>>>>> the table is > >>>>>> locked via php. Perhaps a table status might provide that > >>>>>> information. If > >>>>>> so, then use that to notify the next user. > >>>>>> > >>>>>> As for your log of activity, just create a another record (with > >>>>>> an > >>>>>> auto_increment index) in your activity log table and update > >>>>>> that record > >>>>>> with > >>>>>> the data you need to record, such as user id, timestamp, what > >>>>>> record they > >>>>>> accessed and whatever else you want after the transaction is > >>>>>> completed. > >>>>>> > >>>>>> Cheers, > >>>>>> > >>>>>> tedd > >>>>>> > >>>>>> -- > >>>>>> ------- > >>>>>> http://sperling.com http://ancientstones.com http://earthstones.com > >>>>>> > >>>>>> -- > >>>>>> PHP General Mailing List (http://www.php.net/) > >>>>>> To unsubscribe, visit: http://www.php.net/unsub.php > >>>>>> > >>>>>> > >>>>> > >>>>> As a further note to tedd's reply on transactions, you will need > >>>>> to > >>>>> use the INNODB engine in mysql should you want to use > >>>>> transactions. > >>>>> Transactions here are done a row locking level not table so you > >>>>> should > >>>>> have fewer issues. > >>>> > >>>> I also just found out that unless I can convince them to host it > >>>> off site, > >>>> it'll be on a windows machine.... So php & mssql... Does that > >>>> change alot? > >>>> > >>>> To answer some of the other questions the Log number is currently > >>>> just an > >>>> auto incrementing consuctive number. So an auto+increment would > >>>> work > >>>> perfectly. What I'm trying to avoid is: > >>>> > >>>> User1 > >>>> User2 > >>>> > >>>> User1 submits to log number 12345 > >>>> User2 submits to log number 12346 > >>>> > >>>> User1 is told their log number is 12346 > >>>> User2 is told their log number is 12346 > >>>> > >>>> But User1 & User2 are on different computers... And if it's as > >>>> easy as using > >>>> the equivelant for: SELECT * FROM table WHERE UserID="User1" > >>>> ORDER BY > >>>> lognumber desc LIMIT 1; Then I'm good... I know how to proceed > >>>> with writing > >>>> it... Just need to figure out how to bill/sell it! ;) > >>>> > >>>> > >>>> > >>>> > >>>> -- > >>>> PHP General Mailing List (http://www.php.net/) > >>>> To unsubscribe, visit: http://www.php.net/unsub.php > >>>> > >>>> > >>> > >>> MSSQL doesn't allow limit, but you can do a > >>> > >>> select top 1 * from table [where] [order by lognumber desc] > >>> > >>> -- > >>> > >>> Bastien > >>> > >>> Cat, the other other white meat > >>> > >> I believe more recent versions of MSSQL allow the LIMIT clause, but > >> what's wrong with MySQL on Windows? > >> > >> Thanks > >> Ash > >> www.ashleysheridan.co.uk > >> > > > > Nothing, but Jason indicated that mssql was predetermined. > > Absolutely right :) > > mssql is installed already so I'm trying to make it easy for them. > Personally I'd go MySQL but I should branch out some anyway ;) > > > > You'll end up regretting it ;) There doesn't seem to be any phpMyAdmin equivalent for MSSQL, and the darn Enterprise Manager software I used at my last job is probably one of the worst pieces of software I've ever encountered... Thanks Ash www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php