脚本宝典收集整理的这篇文章主要介绍了使用PHP计算Oracle中的SELECTED行数,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
使用MySQL这很简单,我只是查询数据库并使用MysqL_num_rows(),但是oci_num_rows()对于SELECT语句的工作不尽相同.
if(is_numeric($mid) && $mid > 0) { $stid = oci_parse($db,'SELECT COUNT(*) AS NUM_ROWS From movies WHERE mid = '.$mid ); oci_define_by_name($stid,'NUM_ROWS',$num_rows); oci_execute($stid); oci_fetch($stid); if($num_rows > 0) { $stid = oci_parse($db,'SELECT tITle,year,synopsis,poster_url From movies WHERE mid = '.$mid ); oci_execute($stid); $info = oci_fetch_assoc($stid); $stid = oci_parse($db,'SELECT COUNT(*) AS NUM_ROWS FROM genres g,movies_genres mg WHERE mg.mid = '.$mid.' AND g.gid = mg.gid' ); oci_define_by_name($stid,$num_rows); oci_execute($stid); oci_fetch($stid); $stid = oci_parse($db,'SELECT g.name AS genre FROM genres g,movies_genres mg WHERE mg.mid = '.$mid.' AND g.gid = mg.gid'); oci_execute($stid); $genres_list = null; while($row = oci_fetch_assoc($stid)) { $genres_list .= $row['GENRE']; if($num_rows > 1) { $genres_list .= ' | '; $num_rows--; } } $Template->assignReferences(array( 'Index:LinkURI' => $link_uri,'Movie:Title' => $info['TITLE'],'Movie:Year' => $info['YEAR'],'Movie:GenresList' => $genres_list,'Movie:Synopsis' => $info['SYNOPSIS'],'Movie:PosterURL' => $info['POSTER_URL'] // FIX: Handle empty poster link )); $Template->renderTemplate('movieinfo'); } else { // TODO: How to handle this error? } } else { // TODO: How to handle this error? }
但我不喜欢我总是需要进行2次查询来计算行数,然后选择实际的数据,并且有太多的代码行仅用于计算行数.
这段代码没有显示(还没有完成,因为我正在寻找一个更好的解决方案),但我也需要做同样的电影导演/作家.
我可以在fetch循环中添加分隔符,直到完成,然后使用PHP函数从字符串中修剪最后一个分隔符,但对于此项目,我被迫使用SEQUENCES,VIEWS,FUNCTIONS,PROCEDURES和TRIGGERS.这些有助于解决我的问题吗?
我知道SEQUENCES是什么,我已经在使用它们,但我看不到他们如何帮助.
对于VIEWS,他们可能不会简化代码(它基本上是存储的查询权利?).对于功能,程序和触发器,据我所知,我看不出他们有什么帮助.
解决方案?
'SELECT title,poster_url,COUNT(*) OVER (PARTITION BY mid) mcount FROM movies WHERE mid = '.$mid
同样适用于您的流派选择.
编辑:
oracle文档在Analytic Functions link.我发现分析有点难以从Oracle文档中获取. Analytic functions by Example by Shouvik Basu提供了一些关于如何使用它们并帮助我的简单指导.
以上是脚本宝典为你收集整理的使用PHP计算Oracle中的SELECTED行数全部内容,希望文章能够帮你解决使用PHP计算Oracle中的SELECTED行数所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。