Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
One of the strengths of working with dynamic data is the ability to have the data displaying on the page change based on certain conditions. In this exercise, we'll begin the process of having one page respond to information passed from another. This technique literally lets you build dozens, even hundreds of pages, using just a few pages that respond and change the data on the page based on requests and parameters from other pages. So you can see we have the lynda.com website up; this is a website you have probably seen before.
I'm just going to browse to Lynda's class listings. Now I want to point out the page that we are on right now. We are on a page called modlisting.asp. So we are going to browse through the rather extensive library at lynda.com and as we scroll down, we can see here some Dreamweaver training. Here is Dreamweaver CS3 Dynamic Development as a matter of fact, so I am going to click on that. And when I do I go to the page called modPage and I notice there is something on the tail end of the URL. It says ID=424, okay.
So I am going to hit the Back button and maybe I am also interested in the Essential Training title. So I click on that. And once again I find myself on the modPage.asp. So we haven't gone to another page; we are still on the modPage. But we've passed a new ID, this one is 410. So the modlisting page is passing what's known as a URL parameter, and this parameter is ID=410. So several areas on this page are setup to respond to the data based on the parameter that's being passed. One of those parameters for example is the description of the title, right there.
So that's what we are going to do with our Artists page and our Bio page. So I am going to close out of Firefox and jump back into our artists.php file. So if you are following along the exercise list, let's go back and open up the Artists page. Now we have our Artists page pretty much finished up. So we need to work on the other page, the one that's going to be receiving these parameters, and we don't really have a bio's page yet so we are just going to go ahead and open up one of the existing bio pages and just sort of use it as a template more or less. So since Aimee's name comes first, we'll go ahead and open up her file again.
So here is the bio's page. And the bio's page has several elements that change with each artist and we need to be aware of what those elements are. We have the banner graphic and we have her name again, we have her head shot one more time. And we have some dummy text here to indicate where the bio is going to go, and as I scroll down we have a link to Aimee's Gallery. We have made another decision too. Even though we have a Gallery page, we'd like to showcase at least one painting here on this page. So we are going to modify this page a little bit. We are going to go ahead and modify this page a little bit and place a larger image on the page as well.
So in order for us to use this file in our server-side workflow it needs to be a PHP file. Right now I notice that this is aimee.htm. We are just going to use this as a template for Bio page anyway. So we are going to go up to File and do a Save As, and I am going to save this in my root directory. So I'll save it in our root directory and I am going to save it as bio.php. So remember to add the PHP extension and we'll click Save. It's going to ask me if I want to update links, and I am going to go ahead and just click Yes. All the links in it are now relative to the root directory and we're going in good shape.
So we have a file here to use as a template. In our next exercise we'll replace the placeholder data, but we still have one more thing we have to do here and we'll need another recordset. If you'll notice, the recordset that we defined in our artists.php page isn't in the Bindings panel anymore, and the reason for that is the recordset really is just a SQL query on the Artists page. So we don't have that SQL query on the Bio page. So our Bindings panel doesn't display our recordset. Now, you can copy and paste recordsets from one page to another. There is nothing wrong with doing that, but the recordset on the Artists page does not contain the information that we need on the Bio page.
As a matter of fact, the Bio page needs to be very selective about which information displays because we only want to display information from one artist and not all of them. So we are going to do a brand new recordset and as we create the recordset, we'll talk about filtering data. So I am going to go up to the Bindings panel, and click on the plus symbol and you will notice that I have recordset available to me so I am going to click on that. I have to give this another name and this time I am going to go ahead and call this rsArtistDetail.
So I like to be descriptive in my recordsets because this is the name of the query and if you are looking in Code view you really would like to know what type of data this query is collecting. So I am going to go ahead in Connection and choose dsArtists from our data source and once again we see artists come up as the selected table. Now again I could select all of my data, which I don't want, or I could just do Selected. That's what I need here. So we're going to choose id. We want that because that's going to help us identify which Chris we are dealing with. We will need our firstName and our lastName, and again you may want to hold down the Ctrl or the Command key, so you can select non-contiguous items.
We need shortName. We don't need tagLine, however, but we do need bio, we need smImg because that's our headshot, we need lgImg and we need imageCaption. So you can see we need the majority of the data. The only thing we're sort of leaving behind is the tagLine. Now here's where we need to understand what filtering can do for us. I am going to grab the Filter pulldown menu and notice that I can filter by any of the items in the table. The item that does the best job of identifying which record it is, is the id and that is a unique identifier for each of the items in our table.
So I'll choose id and I can make the value Equal To or Greater Than so I can filter out by any of these compound operators. So I am going to choose Equal To. We've got different types of parameters and variables that we can search for. A URL Parameter is what we saw in the example at lynda.com where it's attached in the query string. We also have a Form Variable and that might be like form data that sent using the post method and we've got session variables, server variables that you can go ahead and set. So we have lots of different ways to get information onto the page.
Well, we are going to stick with the URL Parameter. Now I am free to go ahead and name this anything that I'd like. A lot of people just go ahead and leave at the generic id, but I also like to be very descriptive in my variable name. So I am going to go ahead and call this artistID and I am going to use a capital I and a capital D on the end. Just call it artistID. And we can sort these but it's not going to make a lot of sense to sort them because we are just going to return one record and that record is going to be whichever artist we're asking for. Now once again you always want to test your query before you click OK, so I am going to choose Test and this time Dreamweaver is going to prompt me for something because Dreamweaver is going to say okay, you are filtering this data out.
What value do you want to test against? So I can just go ahead and type in say number 4 and if I click OK, I get the artist Dan Keys because he is the fourth record. I click OK again, I could click Test again, pass in a different parameter. This time may be I am going to pass in say 10. Click OK. Now I'll get William Everhart. So by passing in that parameter, that variable, that ID value, I am getting just that particular recordset back and that's exactly what we are looking for.
So I am going to click OK. Click OK one more time. My Bindings panel is now displaying my recordset and we are ready on our next exercise to replace the placeholder data and then add the interactivity between the Artists page and the Bio page.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.
Your file was successfully uploaded.