DL Neil, Thanks for your response.
> =As a general comment, it is always dangerous to "replicate" when shifting platforms, better to reverse engineer > and then implement anew and taking advantages of the strengths of the new tools. This particularly when moving > into the relational field... Perhaps the use of the word 'replicate' was wrong. I am in fact re-engineering based on my knowledge of how the whole operation is performed (as I designed and built the original Filemaker/Lasso system) and trying to preserve the look and feel of the web pages. > =you will need to describe the 'internal calculations' before this question can be easily/sufficiently answered. > However many people fail to appreciate that the (My)SQL language offers a lot of power/functionality. In your > case you are going for the PHP combination so I will be quite surprised if you 'run out' of functionality! The original Filemaker (FM) databases use calculations stored internally. You define a field to store the result of a calculation. This could be something quite complex or a static number (or string) or data from a related database. Filemaker requires a separate database to represent the equivalent of a table in standard SQL databases. Some calculation fields can be indexed and some cannot (esp those containing related data). I expect that I can replace these calculations with functions which I define. > =as you can see, without giving a little more information, it is very difficult to give a satisfactory answer. > How about listing your table definitions/schema. Almost any retrieval operation that does not select all of the > records in a table will speed up when indexes are employed. If speed is a concern then that argues against the > earlier suggestion of PostGres. > I think that the table definition list would be far too long for this list. Speed is an issue as at the moment I am doing all this under my own steam in my own time (partly to extend my skills) and hope to be able to persuade my bosses that this would be a beneficial move (they are very conservative). Performance improvements would help. > =you are talking as if there are numerous queries. What's wrong with performing a join, or am I missing some > significance? No but I probably am. I have been working almost exclusively with Filemaker for the past 7 years moving from Mac to Win NT in the process, with a short flirtation with MS Access and ASP. I'm really a SQL newbie and am gradually getting to grips with what is possible. JOINs are alien to me and I'll ned to read up and experiment with them to see how they work and how I can best use them. > > > >Dates > > >I played around with my learning site over the holidays and found that I was > > >not able to easily handle dates between the format required by users > > >(dd/mm/yyyy) and that used by MySQL (yyyy-mm-dd) and therefore I wrote > > >functions to parse the data both ways. All the example I could find on Dates > > >used 'today' as the example. I want to be able to play around with stored > > >dates. Is my function method the correct way or is there another way? > > Yes - but why can't we convert the world to that oh-so-simple date format > > of year,month,day which sorts and indexes so beautifully and is completely > > unambiguous. > > =Are you talking about functions implemented in PHP? Refer above, my earlier comments on the power of SQL, check > out: > > SELECT DATE_FORMAT( colNm, format ) FROM tblNm > > in the manual at 6.3.4 Date and Time Functions. I'll be surprised if the long list of 'formats' doesn't give > you more than enough options to keep (even Uni students) quiet! I wrote my own functions to handle dates in the way I am comfortable with. In dbdate() $input is the date pulled from MySQL and in revdate() $input is the dd/mm/yyyy date being grabbed from the users form data. function dbdate($input) { $today = explode("-",$input); $month = $today[1]; $day = $today[2]; $year = $today[0]; $p_date = $day . "/" . $month . "/" . $year ; return $p_date; } function revdate($input) { $ztoday = explode("/",$input); $day = $ztoday[0]; $month = $ztoday[1]; $year = $ztoday[2]; $revdate = $year . "-" . str_pad($month, 2, "0", STR_PAD_LEFT) . "-" . str_pad($day, 2, "0", STR_PAD_LEFT); return $revdate; } By the way, my site is for university staff not sudents. I welcome any comments and hope to learn by implementation. Regards George --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.307 / Virus Database: 168 - Release Date: 11/12/01 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com -- 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]