Kibővítjük a math táblát az SQαβ oszlopokkal és eltároljuk a bennük a rendezés sorrendjét. (célszerű már ebben a formában létrehozni)
CREATE TABLE `math` (
`id` int(11) NOT NULL auto_increment,
`a` int(11) default NULL,
`b` int(11) default NULL,
`c` int(11) default NULL,
`k` int(11) default NULL,
`u` int(11) default NULL,
`t` int(11) default NULL,
`q` int(11) default NULL,
`s` int(11) default NULL,
`w` int(11) default NULL,
`SQab` int(11) default NULL,
`SQac` int(11) default NULL,
`SQak` int(11) default NULL,
`SQau` int(11) default NULL,
`SQat` int(11) default NULL,
`SQaq` int(11) default NULL,
`SQas` int(11) default NULL,
`SQaw` int(11) default NULL,
`SQba` int(11) default NULL,
`SQbc` int(11) default NULL,
`SQbk` int(11) default NULL,
`SQbu` int(11) default NULL,
`SQbt` int(11) default NULL,
`SQbq` int(11) default NULL,
`SQbs` int(11) default NULL,
`SQbw` int(11) default NULL,
`SQca` int(11) default NULL,
`SQcb` int(11) default NULL,
`SQck` int(11) default NULL,
`SQcu` int(11) default NULL,
`SQct` int(11) default NULL,
`SQcq` int(11) default NULL,
`SQcs` int(11) default NULL,
`SQcw` int(11) default NULL,
`SQka` int(11) default NULL,
`SQkb` int(11) default NULL,
`SQkc` int(11) default NULL,
`SQku` int(11) default NULL,
`SQkt` int(11) default NULL,
`SQkq` int(11) default NULL,
`SQks` int(11) default NULL,
`SQkw` int(11) default NULL,
`SQua` int(11) default NULL,
`SQub` int(11) default NULL,
`SQuc` int(11) default NULL,
`SQuk` int(11) default NULL,
`SQut` int(11) default NULL,
`SQuq` int(11) default NULL,
`SQus` int(11) default NULL,
`SQuw` int(11) default NULL,
`SQta` int(11) default NULL,
`SQtb` int(11) default NULL,
`SQtc` int(11) default NULL,
`SQtk` int(11) default NULL,
`SQtu` int(11) default NULL,
`SQtq` int(11) default NULL,
`SQts` int(11) default NULL,
`SQtw` int(11) default NULL,
`SQqa` int(11) default NULL,
`SQqb` int(11) default NULL,
`SQqc` int(11) default NULL,
`SQqk` int(11) default NULL,
`SQqu` int(11) default NULL,
`SQqt` int(11) default NULL,
`SQqs` int(11) default NULL,
`SQqw` int(11) default NULL,
`SQsa` int(11) default NULL,
`SQsb` int(11) default NULL,
`SQsc` int(11) default NULL,
`SQsk` int(11) default NULL,
`SQsu` int(11) default NULL,
`SQst` int(11) default NULL,
`SQsq` int(11) default NULL,
`SQsw` int(11) default NULL,
`SQwa` int(11) default NULL,
`SQwb` int(11) default NULL,
`SQwc` int(11) default NULL,
`SQwk` int(11) default NULL,
`SQwu` int(11) default NULL,
`SQwt` int(11) default NULL,
`SQwq` int(11) default NULL,
`SQws` int(11) default NULL,
PRIMARY KEY (`id`)
)A szükséges php kódrészlet:
$querys="SELECT id FROM math ORDER BY ";
$mainresult=array();
foreach($order as $key=>$item){
$query="select id,".$item." from math order by ".$item." ASC";
$result=mysql_query($query) or die('Query failed:'.mysql_error());
$i=1;
while($proba=mysql_fetch_array($result)){
$update="update math set ".$oszlop[$key]."=".$i." where id=".$proba[0].";";
$result1=mysql_query($update) or die('Query failed:'.mysql_error());
$i++;
}
}
Lényegében a math táblából lekérdezzünk egy sorrendet a megfelelő alfa béta párosításban. Az order tömb tartalmazza az összes alfa béta párosítást, a lekérdezéshez szükséges formában. pl.: "b,a" Így könnyen meghatározható egy sorrend.