database in een Oscommerce shop

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan Douma

Jan Douma

11/04/2007 13:38:00
Quote Anchor link
Ik heb wat studieboeken over PHP en SQL en al die databse commando's

In een oscommerce shop wijken weer af ( de structuur is in principe hetzelfde )

Bijv ik wil een gewicht voor een bepaald produkt weergeven in de administratie van de shop als dit produkt is geselecteerd

-------------------------------------------------------------------------------------
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_PRICE_NINFO . ' ' . $currencies->format($pInfo->products_price) );
$get_tax_qry = tep_db_query("SELECT tr.tax_rate FROM " . TABLE_PRODUCTS . " p INNER JOIN " . TABLE_TAX_RATES . " tr ON (p.products_tax_class_id = tr.tax_class_id) WHERE (p.products_id = " . $pInfo->products_id . ")");
$get_tax_res = tep_db_fetch_array($get_tax_qry);
$products_price_with_tax = tep_add_tax($pInfo->products_price, $get_tax_res['tax_rate']);
$get_special_price_qry = tep_db_query("SELECT s.specials_new_products_price, s.`status` FROM ".TABLE_SPECIALS." s WHERE (s.products_id = '".$pInfo->products_id."')");
$get_special_price_res = tep_db_fetch_array($get_special_price_qry);
if($get_special_price_res){
$get_special_price_with_tax = tep_add_tax($get_special_price_res['specials_new_products_price'], $get_tax_res['tax_rate']);
}


// bof toegevoegd database query voor products_weigth : correct ?
$products_weight =tep_db_query("SELECT products_weight FROM " . TABLE_PRODUCTS . " WHERE (products_id = '".$pInfo->products_id."')");
// eof

----------------------------------------------------------------------
De toegevoegde code hieronder laat een tekstbox TEXT_PRODUCTS_WEIGHT zien in de admin.
In het nederlands(taal) word dit : gewicht product : ?  
Op de plaats van het vraagteken moet de query van het produktgewicht komen : zie hierboven wat ik voor een SELECT statement gebruikt heb om te proberen de gramwaarde uit de tabel PRODUCTS te krijgen
----------------------------------------------------------------------

  
// bof toegevoegd : products_weight in administratie
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_PRICE_INFO . ' ' . $currencies->format($products_price_with_tax) . '<br><br>' . TEXT_PRODUCTS_QUANTITY_INFO . ' ' . $pInfo->products_quantity . '<br><br>' . TEXT_PRODUCTS_WEIGHT_INFO . ' ' . $pInfo->products_weight);
// eof

if($get_special_price_with_tax >= '0' && $get_special_price_res['status'] =1) {
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_PRICE_SINFO . ' ' . $currencies->format($get_special_price_with_tax) );
}

----------------------------------------------------------------------------------

Je ziet ik heb al wat geprobeerd dor naar de structuur van de andere 2
tep_db_query("SELECT .................... te kijken

MAAR ik zie het gewichts getal nog niet in de admin komen
Misschien ziet iemand dit ?

Opm: je hebt helemaal gelijk met de code tags, maar dacht dat het ook automatisch ging


groet
Jan
Gewijzigd op 01/01/1970 01:00:00 door Jan Douma
 
PHP hulp

PHP hulp

22/11/2024 20:52:21
 
Dizzy

Dizzy

11/04/2007 13:40:00
Quote Anchor link
Code tags gebruiken :) [.code] [./code] (zonder puntje natuurlijk)

Edit:

200 \o/
Gewijzigd op 01/01/1970 01:00:00 door Dizzy
 
Jurgen assaasas

Jurgen assaasas

11/04/2007 14:40:00
Quote Anchor link
je code is nogal vrij onleesbaar. voeg eerst eens code tags toe en lijn je code netjes uit. Post ook alleen relevante code.
 
Frank -

Frank -

11/04/2007 14:43:00
Quote Anchor link
Hier en daar een enter, tab en/of spatie kan geen kwaad... Wordt de boel een stuk leesbaarder van!
 
Jan Douma

Jan Douma

11/04/2007 15:23:00
Quote Anchor link
zie codeaanpassing
 
Jan Douma

Jan Douma

11/04/2007 22:51:00
Quote Anchor link
De code beter geschreven :)
Toelichting :
Elk produkt heeft een ..products-id ( sleutel? ) en bij elk produkt hoort ook een opgegeven gewicht in de database "products"
Het is 1 tabel met een record ( rij ) product x en gewicht y ..toch?

De products -id is voor het product en word gebruikt als externe sleutel voor het gewicht ? .. deze bewering zou ik kunnen onderzoeken en kijken in de database op de shop ?

Zit ik in de goede richting of word het anders?
Opm: ik weet haast wel zeker dat dit een eitje( meest eenvoudige geval) is voor de echte database specialist


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//-- code netter geschreven
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_PRICE_NINFO . ' ' . $currencies->format($pInfo->products_price) );
$get_tax_qry = tep_db_query(
              "SELECT tr.tax_rate
                FROM " . TABLE_PRODUCTS . " p INNER JOIN " . TABLE_TAX_RATES . " tr
                  ON (p.products_tax_class_id = tr.tax_class_id)
                  WHERE (p.products_id = " . $pInfo->products_id . ")");
$get_tax_res = tep_db_fetch_array($get_tax_qry);
$products_price_with_tax = tep_add_tax($pInfo->products_price, $get_tax_res['tax_rate']);
$get_special_price_qry = tep_db_query(
              "    SELECT s.specials_new_products_price,
                s.`status` FROM ".TABLE_SPECIALS."
                s WHERE (s.products_id = '".$pInfo->products_id."')");
$get_special_price_res = tep_db_fetch_array($get_special_price_qry);
if($get_special_price_res)
{
$get_special_price_with_tax = tep_add_tax($get_special_price_res['specials_new_products_price'], $get_tax_res['tax_rate']);
}
// bof toegevoegd database query voor products_weigth : correct ?
$products_weight =tep_db_query(
                    "SELECT products_weight
                      FROM " . TABLE_PRODUCTS . "
                   WHERE (products_id = '".$pInfo->products_id."')");
// eof

//----------------------------------------------------------------------
Toelichting : De toegevoegde code hieronder laat een tekstbox TEXT_PRODUCTS_WEIGHT zien in de admin.
In het nederlands(taal) word dit : gewicht product : ?  
Op de plaats van het vraagteken moet de query van het produktgewicht komen : zie hierboven wat ik voor een SELECT statement gebruikt heb om te proberen de gramwaarde uit de tabel PRODUCTS te krijgen
//----------------------------------------------------------------------

  
// bof toegevoegd : products_weight in administratie
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_PRICE_INFO . ' ' . $currencies->format($products_price_with_tax) . '<br><br>' . TEXT_PRODUCTS_QUANTITY_INFO . ' ' . $pInfo->products_quantity . '<br><br>' . TEXT_PRODUCTS_WEIGHT_INFO . ' ' . $pInfo->products_weight);
// eof
if($get_special_price_with_tax >= '0' && $get_special_price_res['status'] =1)
{
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_PRICE_SINFO . ' ' . $currencies->format($get_special_price_with_tax) );
}
//


groet
Jan
 
Jan Douma

Jan Douma

13/04/2007 07:57:00
Quote Anchor link
De omliggende code van deze code is bedoeld als voorbeeld
Deze code was van een contributie ( extra functionaliteit) die van een bepaald produkt in de administratie de bruto en netto prijs laat zien

Mijn uitbreiding van deze contri is om ook het gewicht te laten zien van een produkt i.v.m verzending ( handig )
Hiervoor moet er dan uit de 1 tabel "products".....

De code hieronder heb ik uit de database products gehaald
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT COUNT( * ) AS `Rijen` , `products_weight`
FROM `products`
GROUP BY `products_weight`
ORDER BY `products_weight`
LIMIT 0 , 30  

Dit zouden dan alle produktgewichten zijn ?... terwijl ik er voor een bepaald produkt_id ( primaire sleutel?), maar 1 bijbehorend gewicht heb..toch?

Hiervoor het juiste SELECT commando opstellen en ook nog op de juiste manier a la oscommerce in een array opslaan ( daarvoor die omringende code om een idee hiervan te krijgen )

Jan
 
Jan Douma

Jan Douma

16/04/2007 13:45:00
Quote Anchor link
Komt erop neer dat ik een produkt gewicht en produkt model op de adminstratie bladzijde van de shop wil plaatsen

( ik moet nu 1400 produkten invoeren en sommige met dezelfde produktomschrijving word het erg omslachtig : dus een produkt model is nodig )

De vraag is dus hoe de code aan te passen ?
AANTAL STAPPEN TE NEMEN : ophalen waarde uit database(stap 1), een resultaatset in een array rij opslaan (stap 2), de arraywaarde uit 2 tonen(stap3)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Er is een variable : products_model opgeslagen in de database van elk produkt
Stap 1


 $get_products_model_qry : selectie van products_model (van een bepaald produkt) waarde uit tabel via :

$get_products_model_qry =tep_db_query("SELECT products_model FROM" . TABLE_PRODUCTS .  WHERE (p.products_id= " . $pinfo->products_id . ")");

Stap2
- een resultaatset (array):
$get_products_model_res=tep_db_fetch_array($get_products_model_qry );

Bovenstaande code zou dan voor een bepaal produkt ( via  p.products_id ) het produkt_model in een 1- regelige array opslaan

Deze waarde moet dan weer uitgelezen gaan worden in stap 3
Stap 3
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_MODEL_INFO . ' ' . $pInfo->$ get_products_model_res);


Zit ik zo in de goede richting?

Jan
Gewijzigd op 01/01/1970 01:00:00 door Jan Douma
 
Jan Douma

Jan Douma

16/04/2007 14:24:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$get_products_model_qry =tep_db_query("
       SELECT products_model
       FROM " . TABLE_PRODUCTS . "  WHERE (products_id= " . $pinfo->products_model . ")");

$get_products_model_res=tep_db_fetch_array($get_products_model_qry );

$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_MODEL_INFO . ' ' . $pInfo->get_products_model_res);


Ik heb dit er nu van gemaakt om het products_model uit de database te zoeken , opslaan en uitlezen
Zit ik zo in de goede richting?

Jan
ps hier een plaatje van het idee :
http://www.jdoumasluizen.nl/produktmodel_inadmin.gif
Gewijzigd op 01/01/1970 01:00:00 door Jan Douma
 
Jan Douma

Jan Douma

18/04/2007 22:08:00
Quote Anchor link
Ik kom er niet uit om het productgegevens : model en gewicht in de adminstratie telaten zien als er een produkt geselecteerd is

Ondanks dat ik weet dat het maar 1 record is ( via fetch_array() ) De product_id en 1 veld ( bijv produktmodel )

Ik begrijp de syntax niet goed : p.products_id en s. products_id bijv i.p.v products_id ?

Helaas
 
Jan Douma

Jan Douma

26/04/2007 14:34:00
Quote Anchor link
Is er iemand die me kan helpen ?

Het enigste wat ik wil dat een produktgewicht en produktmodel in de produktadministratie van de shop af te lezen is
In de tabel PRODUCTS staan deze 2 velden : productsmodel en products_weight

Het komt er in feite op neer dat bij een gekozen produkt ( met een product_id =primaire sleutel ?) er dus uit één tabel PRODUCTS de waarde van het veld products_model opgevraagd moet worden

En dan ook nog voor gewicht

Het meest eenvoudige geval geloof ik
Probleem is dit te doen op dezelfde manier als in de code van de shop
( schoolvoorbeeld is geen probleem )
Ik heb wat omringende code gepost om een idee te krijgen

Jan
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.