在使用codeigniter时我已经在会话中保存了当前查询,这样我就可以在详细页面中显示分页意味着上一个/下一个按钮详细信息屏幕。但是当我在查询中使用LIKE%10%时它在主页中显示它存储在会话中但是当我去详细页面时它不在会话中。任何猜测 我没有在user guide
中记录的数据库中存储会话我的查询很简单
SELECT Contac.cm_id
FROM Contact
LEFT JOIN Employer
ON (Contact.c_id = Employer.ei_contact_id)
AND (Employer.ei_primary_employer = "Y")
WHERE ( Contact.cm_staff_name LIKE '%s%'
AND Contact.cm_staff_name NOT LIKE 'NULL' )
ORDER BY Contact.cm_id ASC
所以当Contact.cm_staff_name LIKE '%03%'
中有03时,它没有通过会话将查询从一个页面传递到另一个页面。
另外请建议更好的解决方案,而不是使用会话。
任何猜测
答案 0 :(得分:1)
将程序存储在任何地方都没有意义 程序必须以常量形式编写,并使用动态变量。
使用会话进行分页也是错误的想法 - 例如google - 他们总是使用查询字符串来传递下一页的变量。它会让用户为某些页面添加书签或将其发送给朋友或其他任何内容。当朋友向您发送链接但您没有他们的会话但看不到他们看到的内容时,总是很痛苦。
因此,请在代码中写下您的查询
通过GET查询字符串
传递所有变量
并使用预备语句将变量插入到查询