Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: eCommerce Shopsoftware Modul: Welcher Kunde Hat Was Gekauft ?
marcopolo
06.04.2007, 22:00
Wenn man im Admin seine Bestellung aufruft kann man bei den einzelnen Kunden sehen, was diese gekauft haben.
Gibt es evt. eine Übersnicht, die anzeigt welcher Artikel von welchen Kunden gekauft wurde ?
Also z.B.
Artikel xyz wurde gekauft von : Kunde abc - Emailadresse
Artikel xyz wurde gekauft von : Kunde def - Emailadresse
Artikel ggg wurde gekauft von : Kunde ihj - Emailadresse
fiese möpp
07.04.2007, 12:18
In PHPMyAdmin
select op.orders_products_id, op.products_model, o.customers_id, o.customers_name, o.customers_email_address
from orders o, orders_products op
where o.orders_id = op.orders_id
marcopolo
07.04.2007, 19:44
und wie bekomme ich das in meinen Adminbereich ?
Sorry, kenn mich wirklich nicht so gut aus
fiese möpp
08.04.2007, 11:41
''>ZITAT(marcopolo @ Apr 7 2007, 19:44) 24249
und wie bekomme ich das in meinen Adminbereich ?
Sorry, kenn mich wirklich nicht so gut aus
[/b]
Hier ne´ Quick'n'dirty Lösung. Basiert auf stats_products_purchased.php
<?php
/ --------------------------------------------------------------
** $Id: stats_products_purchased.php 899 2005-04-29 02:40:57Z hhgag $**
** XT-Commerce - community made shopping
** http://www.xt-commerce.com
** Copyright (c) 2003 XT-Commerce
** --------------------------------------------------------------
** based on:
** (c) 2000-2001 The Exchange Project**(earlier name of osCommerce)
** (c) 2002-2003 osCommerce(stats_products_purchased.php,v 1.27 2002/11/18); www.oscommerce.com
** (c) 2003**** nextcommerce (stats_products_purchased.php,v 1.9 2003/08/18); www.nextcommerce.org
** Released under the GNU General Public License
** -------------------------------------------------------------- /
**require('includes/application_top.php');
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Tranistional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['language_charset']; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<table border="0" width="100%" cellspacing="2" cellpadding="2">
**<tr>
****<td class="columnLeft2" width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
********</table></td>
****<td class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
******<tr>
********<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
**<tr>
****<td width="80" rowspan="2"><?php echo xtc_image(DIR_WS_ICONS.'heading_statistic.gif'); ?></td>
****<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
**</tr>
**<tr>
****<td class="main" valign="top">XT Statistics</td>
**</tr>
</table></td>
******</tr>
******<tr>
********<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
**********<tr>
************<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
**************<tr class="dataTableHeadingRow">
****************<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_NUMBER; ?></td>
****************<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
****************<td class="dataTableHeadingContent" align="center"><?php echo "Kunde"; ?></td>
**************</tr>
<?php
**if ($_GET['page'] > 1) $rows = $_GET['page'] '20' - '20';
//**$products_query_raw = "select p.products_id, p.products_ordered, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pd.language_id = '" . $_SESSION['languages_id'] . "' and p.products_ordered > 0 group by pd.products_id order by p.products_ordered DESC, pd.products_name";
**$products_query_raw = "select op.products_id, op.products_model, o.customers_id, o.customers_name, o.customers_email_address from orders o, orders_products op where o.orders_id = op.orders_id";
**$products_split = new splitPageResults($_GET['page'], '20', $products_query_raw, $products_query_numrows);
**$products_query = xtc_db_query($products_query_raw);
**while ($products = xtc_db_fetch_array($products_query)) {
****$rows++;
****if (strlen($rows) < 2) {
******$rows = '0' . $rows;
****}
?>
**************<tr>
****************<td class="dataTableContent"><?php echo $rows; ?>.</td>
****************<td class="dataTableContent"><?php echo $products['products_id'].' - '.$products['products_model']; ?></td>
****************<td class="dataTableContent" align="center"><?php echo $products['customers_id'].' - '. $products['customers_name'].' - '.$products['customers_email_address']; ?></td>
**************</tr>
<?php
**}
?>
************</table></td>
**********</tr>
**********<tr>
************<td colspan="3"><table border="0" width="100%" cellspacing="0" cellpadding="2">
**************<tr>
****************<td class="smallText" valign="top"><?php echo $products_split->display_count($products_query_numrows, '20', $_GET['page'], TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
****************<td class="smallText" align="right"><?php echo $products_split->display_links($products_query_numrows, '20', MAX_DISPLAY_PAGE_LINKS, $_GET['page']); ?></td>
**************</tr>
************</table></td>
**********</tr>
********</table></td>
******</tr>
****</table></td>
**</tr>
</table>
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
Einfach irgendwie in den Adminbereich einbinden.
''>ZITAT(fiese möpp @ Apr 8 2007, 11:41) 24266
Hier ne´ Quick'n'dirty Lösung. Basiert auf stats_products_purchased.php
Einfach irgendwie in den Adminbereich einbinden.
[/b]
Sauber danke Dir !
''>ZITAT(fiese möpp @ Apr 8 2007, 11:41) 24266
Einfach irgendwie in den Adminbereich einbinden.
[/b]
eine php anlegen mit dem oben genannten Inhalt und diese nennst du customproducts.php
dann:
in die /lang/german/admin/german.php
//custom
define('BOX_CUSTOMPRODUCTS','gekauft von');
in die admin/includes/application_top.php
**//customprods
**define('FILENAME_CUSTOMPRODUCTS', 'customproducts.php');
und in die admin/includes/column_left.php
am besten unter den Kundenangaben
**if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['customproducts'] == '1')) echo ' -' . BOX_CUSTOMPRODUCTS . ' (' . xtc_href_link(FILENAME_CUSTOMPRODUCTS, '', 'NONSSL') . ')
';
einfügen.
Über PhpAdmin dann noch
ALTER TABLE `admin_access` ADD `customproducts` INT( 1 ) NOT NULL DEFAULT '1';
ausführen fertig
gruss Deecoo
P.S.
Ich hab diese Datei noch etwas angepasst.
- es wird nun nach Bestellungen sortiert (neueste zuerst)
- es wird der Artikelname anstatt der ArtikelID angezeigt
- und der Artikel wurde nun zur Produktansnicht verlinkt ( wobei ich es besser finden würde, wenn man das Produkt so verlinkt, das alle Käufer angezeigt werden, die dieses Produkt gekauft haben.. Viellenicht hat da ja noch jemand eine Idee)
DL: [attachmentid=1079]
Gruss DeeCoo und ein dank nochmal an Fiese Möpp B)
bluemoon
08.04.2007, 13:46
und hier gibts noch zusätzlich die Bestellnummer dazu;
klickt man auf die Bestellnummer kommt man direkt zur Bestellung
wer nach Produkt auflisten will muss folgendes ändern :
das suchen : (Zeile 65 )
order by o.date_purchased DESC
und hiermit ersetzen :
order by op.products_id DESC
war noch ein kleiner Anzeige-Fehler drin ..
NEU : [attachmentid=1081]
fiese möpp
08.04.2007, 19:16
Habe das nochmal ein wenig umgestrickt....
Nun kann man beliebig viele unterschiedlische SQL-Scripte gegen die Datenbank feuern. Es wird automatisch die notwendige Tabelle dargestellt. Links zur product_info.php, admin/orders.php und admin/customers.php werden bei den jewailigen ID's generiert. Kann man ggf. erweitern (zB: zur category usw)
Einziger Nachteil ist, dass keine Begrenzung mehr auf 20 Zeilen pro Seite vorhanden ist, da xtc bei komplizierten Abfragen ansonsten leider einen Fehler ausgibt. Kann man aber wieder einbauen, da komplexe Abfragen nur die wenigsten benutzen werden. Die benötigten Zeilen sind nur auskommentiert.
(83,118,119)
Drei Bernichte sind bereits enthalten. Für weitere Bernichte ab Zeile 130 einfügen
(Vorgehensweise siehe vorhandene Bernichte Zeile 127-129).
Wie gesagt ist Quick'n'Dirty. Und wie man die Datei im Admin einbindet ist ja oben beschrieben. THX@DeeCoo
DayWalker
10.04.2007, 12:33
sorry... für welche version ist das ??? ich habe die 304 SP1 und da funzt das nicht...
bluemoon
10.04.2007, 12:57
was funktioniert denn nicht ?
es geht in der SP1 , SP2.1 und Gambio
DayWalker
10.04.2007, 13:04
also ich habe die report.php in den admin eingebaut und wenn ich z.b. auf "Welcher Kunde hat was gekauft" gehe dann kommt folgender fehler:
1065 - Query was empty
;
[XT SQL Error]
bluemoon
10.04.2007, 13:13
ja, die report.php geht anscheinend wirklich nicht ;
nimm die customproducts.php aus dem Beitrag obendrüber
fiese möpp
10.04.2007, 14:23
''>ZITAT(DayWalker @ Apr 10 2007, 13:04) 24390
also ich habe die report.php in den admin eingebaut und wenn ich z.b. auf "Welcher Kunde hat was gekauft" gehe dann kommt folgender fehler:
1065 - Query was empty
;
[XT SQL Error]
[/b]
Bei mir funktioniert es.... Was steht denn in deinem Browser in der Addresssleiste?
Habe aber mal getestet und den Fehler auch bei mir hinbekommen. Er erscheint, wenn in der Adressleiste '?query=' ohne Inhalt steht.
Nun sollte es funktionieren.
DayWalker
10.04.2007, 15:31
also ich hab den fehler immernoch !!!
DayWalker
10.04.2007, 16:10
ich hab jetzt die customproducts.php genommen und die funzt supi... hab sie noch etwas verändert.. mehr links rein und so...
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.