Следующая страница, для редактирования данных

-4

Я сделал код ПОИСКА, что-то вроде этого.

--pageone.cfm--

<cfparam name="Form.studNo" default="" />

<form action="pagetwo.cfm" method="POST">
<label> Please insert ID:
<input name="studNo" value="<cfoutput>#Form.studNo#</cfoutput>" />
</label>
<input type="submit" value="Search" />
</form>

--pagetwo--

SELECT * FROM students
WHERE students_ID IN (#Form.studNo#)

На второй странице я покажу детали информации о студенте, и пользователь может редактировать новую информацию, если данные неверны.

Я думаю, показывая данные одного ученика на странице, и пользователь может нажать "Далее" для следующих студентов (ID, который был вставлен) на страницеone.cfm

Может ли кто-нибудь помочь мне с этим?

@Генри. Я попробовал что-то вроде этого.

--example. cfm--

<CFPARAM NAME="StartRow" DEFAULT="1">
<CFPARAM NAME="DisplayRows" DEFAULT="1">

<CFQUERY NAME="getStudent" DATASOURCE="#dsn#"
CACHEDWITHIN="#CreateTimeSpan(0,0,15,0)#">
SELECT *
FROM students
</CFQUERY>

<CFSET ToRow = StartRow + (DisplayRows - 1)>
<CFIF ToRow GT getStudent.RecordCount>
<CFSET ToRow = getStudent.RecordCount>
</CFIF>

<HTML>
<HEAD>
<TITLE>Next/Previous Record Browsing</TITLE>
</HEAD>

<BODY>

<CFOUTPUT>
<H4>Displaying records #StartRow# - #ToRow# from the
#getStudent.RecordCount# data inserted.</H4>
</CFOUTPUT>

<!--- create the header for the table --->
<TABLE CELLPADDING="3" CELLSPACING="0">
<TR BGCOLOR="#888888">
<TH>Name</TH>
<TH>ID</TH>
<TH>Gender</TH>
<TH>E-mail</TH>
</TR>

<CFOUTPUT QUERY="getStudent" STARTROW="#StartRow#"
MAXROWS="#DisplayRows#">
<TR BGCOLOR="##C0C0C0">
<TD>#Name#</TD>
<TD>#ID#</TD>
<TD>#Gender#</TD>
<TD>#Email#</TD>
</TR>
</CFOUTPUT>
</TABLE>

<CFSET Next = StartRow + DisplayRows>
<CFSET Previous = StartRow - DisplayRows>

<!--- Create a previous records link if the records being displayed aren't the
first set --->
<CFOUTPUT>
<CFIF Previous GTE 1>
<A HREF="example.cfm?StartRow=#Previous#"><B>Previous #DisplayRows#
Records</B></A>
<CFELSE>
Previous Records
</CFIF>

<CFIF Next LTE getStudent.RecordCount>
<A HREF="example.cfm?StartRow=#Next#"><B>Next
<CFIF (getStudent.RecordCount - Next) LT DisplayRows>
#Evaluate((getStudent.RecordCount - Next)+1)#
<CFELSE>
#DisplayRows#
</CFIF> Records</B></A>
<CFELSE>
Next Records
</CFIF>
</CFOUTPUT>

</BODY>
</HTML>

спросил(а) 2014-02-20T05:16:00+04:00 6 лет, 9 месяцев назад
0
116

Ваш подход в порядке, но я бы рекомендовал использовать существующие библиотеки, которые делают трюк разбиения на страницы и даже на создание HTML для отображения кнопок с номерами страниц, следующих предыдущих ссылок, а что нет.

Пожалуйста, пересмотреть http://paginationcfc.riaforge.org/ - проект ColdFusion, который довольно хорошо справляется с разбиением на страницы, и его очень легко реализовать, экономя ваши тонны работы. Вы даже можете установить его, чтобы отображать одну запись на странице, а остальные (следующие предыдущие кнопки и, возможно, "номера страниц") были бы автоматически выполнены компонентом разбиения на страницы.

Ах, делая это (один большой запрос и последующие подзапросы), я настоятельно рекомендую кеширование. НТН.

ответил(а) 2014-02-20T06:23:00+04:00 6 лет, 9 месяцев назад
41

Вы можете использовать сеанс для хранения указанных идентификаторов в файле pageone.cfm, затем пройти через массив идентификаторов и использовать индекс массива в качестве текущего номера страницы и длину массива в качестве общего количества страниц.


Однако в наши дни использование JS для отображения записи в то время имеет больше смысла.

ответил(а) 2014-02-20T05:40:00+04:00 6 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема