 |
 |
 |
 |
#216772 - 05/19/02 08:27 PM
Re: Pal 4.3 - Speeding up a bit
[Re: numbnutz]
|
That 70's Guy
Registered: 06/24/01
Posts: 4097
|
I was looking this over and was thinking that it adds another query but then I realized that I am pulling the boards keywords out already for other queries so it is a matter of fomatting.<br /><br />In the 4.3 index page you will see this...<br /><pre><font class="small">code:</font><hr><br /> $Grouparray = split("-",$Groups);<br /> $gsize = sizeof($Grouparray);<br /> $groupquery = "AND (";<br /> $g = 0;<br /> for ($i=0; $i<$gsize;$i++) {<br /> if (!ereg("^[0-9]",$Grouparray[$i])) { continue; };<br /> $g++;<br /> if ($g > 1) {<br /> $groupquery .= " OR ";<br /> }<br /> $groupquery .= "Bo_Read_Perm LIKE '%-$Grouparray[$i]-%'"; <br /> }<br /> $groupquery .= ")";<br /><br /> $query = "<br /> SELECT Bo_Keyword,Bo_Title<br /> FROM w3t_Boards<br /> WHERE Bo_Keyword != ''<br /> $groupquery<br /> ";<br /> $sth = $dbh -> do_query($query);<br /> $boardquery = "AND (";<br /> $boardquery2 = "AND (";<br /> $g = 0;<br /> while (list ($BKeyword,$BTitle) = $dbh -> fetch_array($sth)) {<br /> $palBkeyword[$g] = "$BKeyword";<br /> $palBtitle[$g] = "$BTitle";<br /> $g++;<br /> if ($g > 1) {<br /> $boardquery .= " OR ";<br /> $boardquery2 .= " OR ";<br /> }<br /> $boardquery .= "B_Board = '$BKeyword'";<br /> $boardquery2 .= "w3t_Posts.B_Board = '$BKeyword'"; <br /> }<br /> $dbh -> finish_sth($sth);<br /> $boardquery .= ")";<br /> $boardquery2 .= ")";<br /></pre><hr><br /><br />The above code would be changed to this?....<br /><br /><pre><font class="small">code:</font><hr><br /> $Grouparray = split("-",$Groups);<br /> $gsize = sizeof($Grouparray);<br /> $groupquery = "AND (";<br /> $g = 0;<br /> for ($i=0; $i<$gsize;$i++) {<br /> if (!ereg("^[0-9]",$Grouparray[$i])) { continue; };<br /> $g++;<br /> if ($g > 1) {<br /> $groupquery .= " OR ";<br /> }<br /> $groupquery .= "Bo_Read_Perm LIKE '%-$Grouparray[$i]-%'"; <br /> }<br /> $groupquery .= ")";<br /><br /> $query = "<br /> SELECT Bo_Keyword,Bo_Title<br /> FROM w3t_Boards<br /> WHERE Bo_Keyword != ''<br /> $groupquery<br /> ";<br /> $sth = $dbh -> do_query($query);<br /> $boardquery = "B_Board IN (";<br /> $boardquery2 = "AND (";<br /> $g = 0;<br /> while (list ($BKeyword,$BTitle) = $dbh -> fetch_array($sth)) {<br /> $palBkeyword[$g] = "$BKeyword";<br /> $palBtitle[$g] = "$BTitle";<br /> $g++;<br /> if ($g > 1) {<br /> $boardquery .= ",'$BKeyword'";<br /><br /> }<br /> else {<br /> $boardquery .= "'$BKeyword'";<br /> }<br /> if ($g > 1) {<br /> $boardquery2 .= " OR ";<br /> }<br /> $boardquery .= "B_Board = '$BKeyword'";<br /> $boardquery2 .= "w3t_Posts.B_Board = '$BKeyword'"; <br /> }<br /> $dbh -> finish_sth($sth);<br /> $boardquery .= ")";<br /> $boardquery2 .= ")";<br /></pre><hr> <br /><br />After making the changes to the query formatting it produced many sql errors. Is this simular to what you have done as far as the above code is concerned?<br /><br />Also, just wanted to note that in 5.0(coming soon, well eventualy) the $boardquery2 is no longer needed/present. <img src="/forum/images/icons/smile.gif" alt="" />
|
|
Top
|
|
|
|
 |
 |
 |
 |
|
|