Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting OSCommerce中QTPro中的属性排序_Sorting_Attributes_Oscommerce - Fatal编程技术网

Sorting OSCommerce中QTPro中的属性排序

Sorting OSCommerce中QTPro中的属性排序,sorting,attributes,oscommerce,Sorting,Attributes,Oscommerce,在我的OSCommerce网站上,我正在使用QTPro。这是一家服装店,我有一个不同尺寸的下拉列表。1倍,2倍,等等,现在,它们的顺序是什么。我希望它们始终按数字/字母顺序排列。这是'固定'与最新的更新,但它没有工作,为我在所有。下面是对其进行排序的代码 ////////////////////// $q=tep_db_query("select ps. products_stock_id, ps.products_id, ps.products_stock_attributes, ps.pro

在我的OSCommerce网站上,我正在使用QTPro。这是一家服装店,我有一个不同尺寸的下拉列表。1倍,2倍,等等,现在,它们的顺序是什么。我希望它们始终按数字/字母顺序排列。这是'固定'与最新的更新,但它没有工作,为我在所有。下面是对其进行排序的代码

//////////////////////

$q=tep_db_query("select ps. products_stock_id, ps.products_id, ps.products_stock_attributes, ps.products_stock_quantity, pov.products_options_values_id, pov.language_id, pov.products_options_values_name from " . TABLE_PRODUCTS_STOCK . " ps, products_options_values pov where ps.products_id=" . $VARS['product_id'] . " and pov.products_options_values_id = substring_index(ps.products_stock_attributes, '-', -1) order by pov.products_options_values_name desc");
    while($rec=tep_db_fetch_array($q)) {
      $val_array=explode(",",$rec[products_stock_attributes]);
      echo "<tr>";
      foreach($val_array as $val) {
        if (preg_match("/^(\d+)-(\d+)$/",$val,$m1)) {
          echo "<td class=smalltext>&nbsp;&nbsp;&nbsp;".tep_values_name($m1[2])."</td>";
        } else {
          echo "<td>&nbsp;</td>";
        }
      }
      for($i=0;$i<sizeof($options)-sizeof($val_array);$i++) {
        echo "<td>&nbsp;</td>";
      }
      echo "<td class=smalltext>&nbsp;&nbsp;&nbsp;&nbsp;$rec[products_stock_quantity]</td><td>&nbsp;</td></tr>";
    }
    echo "<tr>";
    reset($options);
    $i=0;
    while(list($k,$v)=each($options)) {
      echo "<td class=dataTableHeadingRow><select name=option$k>";
      foreach($v as $v1) {
        echo "<option value=".$v1[1].">".$v1[0];
      }
      echo "</select></td>";
      $i++;
    }
  } else {
    $i=1;
    echo "<td class=dataTableHeadingContent>Quantity</td>";
  }
  echo "<td class=dataTableHeadingRow><input type=text name=quantity size=4 value=\"" . $db_quantity . "\"><input type=hidden name=product_id value=\"" . $VARS['product_id'] . "\">&nbsp;</td><td width=\"100%\" class=dataTableHeadingRow>&nbsp;<input type=submit name=action value=" . ($flag?"Add":"Update") . ">&nbsp;</td><td width=\"100%\" class=dataTableHeadingRow>&nbsp;</td>";
?>
$q=tep\u db\u查询(“选择ps.products\u stock\u id、ps.products\u stock\u属性、ps.products\u stock\u数量、pov.products\u options\u values\u id、pov.language\u id、pov.products\u options\u values\u name from.”表中的“ps.products\u stock.”ps、products\u options\u values其中ps.products\u id=“.VARS[“product\u id”]。“和pov.products_options_values_id=子字符串_索引(ps.products_stock_属性,'-',-1)按pov.products_options_values_name desc排序”);
而($rec=tep\u db\u fetch\u数组($q)){
$val_array=explode(“,”,$rec[products_stock_attributes]);
回声“;
foreach($val_数组作为$val){
如果(预匹配(“/^(\d+)-(\d+)$/”,$val,$m1)){
echo“.tep_值_名称($m1[2])”;
}否则{
回声“;
}
}
对于($i=0;$i)
/////////////////////////////

$q=tep_db_query("select ps. products_stock_id, ps.products_id, ps.products_stock_attributes, ps.products_stock_quantity, pov.products_options_values_id, pov.language_id, pov.products_options_values_name from " . TABLE_PRODUCTS_STOCK . " ps, products_options_values pov where ps.products_id=" . $VARS['product_id'] . " and pov.products_options_values_id = substring_index(ps.products_stock_attributes, '-', -1) order by pov.products_options_values_name desc");
    while($rec=tep_db_fetch_array($q)) {
      $val_array=explode(",",$rec[products_stock_attributes]);
      echo "<tr>";
      foreach($val_array as $val) {
        if (preg_match("/^(\d+)-(\d+)$/",$val,$m1)) {
          echo "<td class=smalltext>&nbsp;&nbsp;&nbsp;".tep_values_name($m1[2])."</td>";
        } else {
          echo "<td>&nbsp;</td>";
        }
      }
      for($i=0;$i<sizeof($options)-sizeof($val_array);$i++) {
        echo "<td>&nbsp;</td>";
      }
      echo "<td class=smalltext>&nbsp;&nbsp;&nbsp;&nbsp;$rec[products_stock_quantity]</td><td>&nbsp;</td></tr>";
    }
    echo "<tr>";
    reset($options);
    $i=0;
    while(list($k,$v)=each($options)) {
      echo "<td class=dataTableHeadingRow><select name=option$k>";
      foreach($v as $v1) {
        echo "<option value=".$v1[1].">".$v1[0];
      }
      echo "</select></td>";
      $i++;
    }
  } else {
    $i=1;
    echo "<td class=dataTableHeadingContent>Quantity</td>";
  }
  echo "<td class=dataTableHeadingRow><input type=text name=quantity size=4 value=\"" . $db_quantity . "\"><input type=hidden name=product_id value=\"" . $VARS['product_id'] . "\">&nbsp;</td><td width=\"100%\" class=dataTableHeadingRow>&nbsp;<input type=submit name=action value=" . ($flag?"Add":"Update") . ">&nbsp;</td><td width=\"100%\" class=dataTableHeadingRow>&nbsp;</td>";
?>
我不知道它的头绪,但有没有什么东西不符合我的要求

谢谢

编辑:

我已经把范围缩小到这一行了,我只需要一种方法来分类


$products\u attributes\u query=tep\u db\u query(“选择count(*)作为“.TABLE\u products\u OPTIONS.”popt“.TABLE\u products\u attributes.”patrib where patrib.products\u id=”(int)$HTTP\u GET\u VARS['products\u id']”和patrib.OPTIONS\u id=popt.products\u OPTIONS\u id和popt.language\u id=“(int)$languages\u id.”;

将按名称升序排序。请将“asc”改为“desc”,尝试按名称降序排序".

编辑数据库以提高可读性编辑后,它什么也没做。什么可以覆盖它?我将把其余的代码添加到顶部。尝试回显数据库查询的结果,看看它是否按正确的顺序出现?似乎没有什么问题。好吧,这很有帮助,因为回显没有出现,所以我一直在寻找错误的位置因此,必须在这一行中正确排序;$products\U attributes\u query=tep\U db\u query(“选择count(*)作为来自“.TABLE\u products\u OPTIONS.”的总计。“popt,“.TABLE\u products\u attributes.”patrib where patrib.products\u id=”(int)$HTTP\u GET\u VARS['products\u id']。“'and patrib.options_id=popt.products_options_id and popt.language_id='”(int)$languages_id.“'”;