Avatar billede ra__mus Nybegynder
15. maj 2004 - 17:20 Der er 28 kommentarer og
1 løsning

gange variabel med en faktor

Hej.
Jeg skal have ganget prisen (p.products_price) med en faktor inden den udskrives. Ved bare ikke lige hvordan jeg skal gøre det ??

// We are asked to show only a specific category
        $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";
      } else {
// We show them all
        $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";
      }
    } else {
// show the products in a given categorie
      if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {
// We are asked to show only specific catgeory
        $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
      } else {
// We show them all
        $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
      }
    }

    if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) {
      for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
        if ($column_list[$i] == 'PRODUCT_LIST_NAME') {
          $HTTP_GET_VARS['sort'] = $i+1 . 'a';
          $listing_sql .= " order by pd.products_name";
          break;
        }
      }
    } else {
Avatar billede ra__mus Nybegynder
15. maj 2004 - 17:21 #1
her er prisen :
$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " .
Avatar billede ra__mus Nybegynder
15. maj 2004 - 17:22 #2
og her vil jeg tro den bliver udskrevet :
if ($column_list[$i] == 'PRODUCT_LIST_NAME') {
          $HTTP_GET_VARS['sort'] = $i+1 . 'a';
          $listing_sql .= " order by pd.products_name";
          break;
        }
Avatar billede ra__mus Nybegynder
15. maj 2004 - 17:23 #3
men hvordan sætter jeg prisen til at blive multipliceret med en faktor x ??
Avatar billede avlund Nybegynder
15. maj 2004 - 17:25 #4
Kan det passe at du i det du har skrevet her kun laver SQL-sætningerne til at hente med? Jeg foreslår at du henter data som normalt og så multiplicerer lige inden du skriver ud.
Avatar billede Slettet bruger
15. maj 2004 - 17:37 #5
Jeg er enig med avlund, og jeg vil derudover foreslå, at du tilretter din kode, så den bliver lettere at læse. Det der er jo nærmest ulæseligt.
Avatar billede ra__mus Nybegynder
15. maj 2004 - 18:02 #6
nu har jeg ikke selv lavet koden, ved ikke om den skriver ud i det jeg har skrevet herover ??
Avatar billede ra__mus Nybegynder
15. maj 2004 - 18:03 #7
eller er det her den udskriver ??:
case 'PRODUCT_LIST_PRICE':
          $listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
          break;
Avatar billede Slettet bruger
15. maj 2004 - 18:08 #8
Nej, den udskriver intet som helst i noget af den kode, du har vist os indtil nu.
Avatar billede ra__mus Nybegynder
15. maj 2004 - 18:29 #9
er det måske her der udskrives ?? :

$list_box_contents = array();

  for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
    switch ($column_list[$col]) {
      case 'PRODUCT_LIST_MODEL':
        $lc_text = TABLE_HEADING_MODEL;
        $lc_align = '';
        break;
      case 'PRODUCT_LIST_NAME':
        $lc_text = TABLE_HEADING_PRODUCTS;
        $lc_align = '';
        break;
      /*Products_Short_Descriptions_V1; added by kir;start*/
      case 'PRODUCT_LIST_INFO':
        $lc_text = TABLE_HEADING_INFO;
        $lc_align = '';
        break;
      /*Products_Short_Descriptions_V1; added by kir;end*/
      case 'PRODUCT_LIST_MANUFACTURER':
        $lc_text = TABLE_HEADING_MANUFACTURER;
        $lc_align = '';
        break;
      case 'PRODUCT_LIST_PRICE':
        $lc_text = TABLE_HEADING_PRICE;
        $lc_align = 'right';
        break;
      case 'PRODUCT_LIST_QUANTITY':
        $lc_text = TABLE_HEADING_QUANTITY;
        $lc_align = 'right';
        break;
      case 'PRODUCT_LIST_WEIGHT':
        $lc_text = TABLE_HEADING_WEIGHT;
        $lc_align = 'right';
        break;
      case 'PRODUCT_LIST_IMAGE':
        $lc_text = TABLE_HEADING_IMAGE;
        $lc_align = 'center';
        break;
      case 'PRODUCT_LIST_BUY_NOW':
        $lc_text = TABLE_HEADING_BUY_NOW;
        $lc_align = 'center';
        break;
    }
Avatar billede olebole Juniormester
15. maj 2004 - 18:44 #10
<ole>

Det ville nok være en god idé at lære lidt grundlæggende PHP/MySQL først  :)

/mvh
</bole>
Avatar billede ra__mus Nybegynder
15. maj 2004 - 18:50 #11
har jeg også, men kan ikke lige gennemskue hvor der udskrives. Kender echo og print feks.
Avatar billede olebole Juniormester
15. maj 2004 - 18:56 #12
Så er det nok det, du skal kikke efter ... mon ikke?  :)
Avatar billede ra__mus Nybegynder
15. maj 2004 - 18:57 #13
der er måske ikke andre udsmrivnings kommandoer ??
Avatar billede ra__mus Nybegynder
15. maj 2004 - 19:06 #14
udskrivning sku der ha stået !
Avatar billede olebole Juniormester
15. maj 2004 - 19:15 #15
Jo, men det må vist høre under grundlæggende PHP/MySQL. Det vil føre for vidt at beskrive alle muligheder her
Avatar billede ra__mus Nybegynder
15. maj 2004 - 19:36 #16
kan godt være det hører under grundlæggende, men derfor kan man vel få hjælp her alligevel, det er vel det som exp er til for ??
Avatar billede Slettet bruger
15. maj 2004 - 19:48 #17
Jo, men hvis du ikke kan grundlæggende PHP/MySQL, burde du måske holde dig fra at prøve at rette i avanceret kode.
Avatar billede ra__mus Nybegynder
15. maj 2004 - 19:55 #18
det er jo lige præcis det jeg kan, men vil gerne have hjælp her til at finde ud af hvor der udskrives henne !
Hvorfor kan folk ikke bare holde sig væk når de ikke gider at svare ??
Avatar billede Slettet bruger
15. maj 2004 - 20:07 #19
Hvis du ikke kan se, at al den kode du har vist os kun putter noget indhold i variable og ikke udskriver noget som helst, så kan du ikke grundlæggende PHP.

Og dine indlæg 17:22:32 og 18:03:41 viser, at du heller ikke har styr på SQL, da den kode bare definerer sortering.

Hvis du finder stedet, hvor det bliver udskrevet, vil vi gerne hjælpe, men ellers så kan vi ikke uden at skulle se hele koden igennem. Hvor har du koden fra?
Avatar billede ra__mus Nybegynder
15. maj 2004 - 21:01 #20
fra oscommerce.com
Avatar billede Slettet bruger
15. maj 2004 - 21:11 #21
Hvad er forresten grunden til at du ikke bare kan ændre prisen?
Avatar billede ra__mus Nybegynder
15. maj 2004 - 21:34 #22
Der bliver vist udskrevet her, men hvor kan jeg multiplicere prisen med en faktor ??

$customer_group_query = tep_db_query("select customers_group_id from " . TABLE_CUSTOMERS . " where customers_id =  '" . $customer_id . "'");
$customer_group = tep_db_fetch_array($customer_group_query);
$customer_group_price_query = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where products_id = '" . $listing['products_id'] . "' and customers_group_id =  '" . $customer_group['customers_group_id'] . "'");
if ( $customer_group['customers_group_id'] != 0) {
  if ($customer_group_price = tep_db_fetch_array($customer_group_price_query)) {
    $listing['products_price'] = $customer_group_price['customers_group_price'];
  }
}
//per customer prices Nick end           
            if (tep_not_null($listing['specials_new_products_price'])) {
              $lc_text = '&nbsp;<s>' .  $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s>&nbsp;&nbsp;<span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span>&nbsp;';
            } else {
              $lc_text = '&nbsp;' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '&nbsp;';
            }
Avatar billede ra__mus Nybegynder
15. maj 2004 - 21:36 #23
her udskrives vist : display_price($listing['products_price']

Sandbox --> fordi prisen er afhængig af hvem brugeren er !
Avatar billede ra__mus Nybegynder
15. maj 2004 - 23:32 #24
Hvordan får jeg disse priser ---->  $listing['products_price']
multipliceret med en faktor ???
Avatar billede Slettet bruger
15. maj 2004 - 23:39 #25
Prøv at skrive $listing['products_price']*$faktor

Så skal du bare have sat $faktor til noget passende inden.
Avatar billede ra__mus Nybegynder
16. maj 2004 - 00:14 #26
så bliver priserne lig 0 og $faktor=2;
Avatar billede ra__mus Nybegynder
16. maj 2004 - 00:21 #27
nej det er fint !
Avatar billede ra__mus Nybegynder
16. maj 2004 - 00:22 #28
så kan jeg selv lave prisdifferentieringen ! Tak
Avatar billede Slettet bruger
16. maj 2004 - 00:38 #29
Så kommer der et svar her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester