Phones.CSP — MVBasic Code
Next we add an MVBasic code, inside <script></script> tags, to Phones.CSP. This routine opens MVFILE.PERSON and retrieves the record with an item-ID matching the value passed from Person.CSP in the %request object. It then displays the NAME attribute and all of the values of the PHONES attribute.
Add the following code to Phones.CSP between the closing </caption> and the closing </table> tags.
<script language="mvbasic" runat="server">
OPEN "DICT", "PERSON" ELSE PRINT "DICT NOT OPEN";GOTO 100
READV NAME.AMC FROM "NAME",2
READV PHONE.AMC FROM "PHONE",2
OPEN "PERSON" TO PERSFILE ELSE PRINT "FILE NOT OPEN";GOTO 100
ID = %request->Get("ID")
READV NAME FROM PERSFILE, ID, NAME.AMC ELSE PRINT "Name Not Found";GOTO 100
PRINT "<tr>"
PRINT "<td>":NAME:"</td>"
PRINT "<td>"
GOSUB PHONES
PRINT "</td>"
PRINT "</tr>"
GOTO 100
PHONES:
VM=CHAR(253)
READV ATTR FROM PERSFILE, ID, PHONE.AMC ELSE PRINT "Phone Not Found"; GOTO 100
VNO=0
LOOP
VNO=VNO+1
VALUE=FIELD(ATTR,VM,VNO)
WHILE COL2() <>0 DO
PRINT VALUE: "</br>"
REPEAT
RETURN
100
</script>
Note the following about the code:
-
This line of code: ID = %request->Get("ID") retrieves the item-ID value from %request. Person.CSP passes this value to Phones.CSP using the %request object.
-
As in the case of Person.CSP the PRINT statements output HTML tags in addition to MVFILE.PERSON data. These tags format the data into HTML table cells.