Sorting OSCommerce中QTPro中的属性排序
在我的OSCommerce网站上,我正在使用QTPro。这是一家服装店,我有一个不同尺寸的下拉列表。1倍,2倍,等等,现在,它们的顺序是什么。我希望它们始终按数字/字母顺序排列。这是'固定'与最新的更新,但它没有工作,为我在所有。下面是对其进行排序的代码 //////////////////////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
$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> ".tep_values_name($m1[2])."</td>";
} else {
echo "<td> </td>";
}
}
for($i=0;$i<sizeof($options)-sizeof($val_array);$i++) {
echo "<td> </td>";
}
echo "<td class=smalltext> $rec[products_stock_quantity]</td><td> </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'] . "\"> </td><td width=\"100%\" class=dataTableHeadingRow> <input type=submit name=action value=" . ($flag?"Add":"Update") . "> </td><td width=\"100%\" class=dataTableHeadingRow> </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> ".tep_values_name($m1[2])."</td>";
} else {
echo "<td> </td>";
}
}
for($i=0;$i<sizeof($options)-sizeof($val_array);$i++) {
echo "<td> </td>";
}
echo "<td class=smalltext> $rec[products_stock_quantity]</td><td> </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'] . "\"> </td><td width=\"100%\" class=dataTableHeadingRow> <input type=submit name=action value=" . ($flag?"Add":"Update") . "> </td><td width=\"100%\" class=dataTableHeadingRow> </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.“'”;