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.

 

powered by

powered by