Antworten auf deine Fragen:
Neues Thema erstellen

Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

Drauka

Noch nicht viel geschrieben

Hallo zusammen.

Ich habe folgendes Problem und steh irgendwie auf dem Schlauch was die Umsetzung anbelangt.

Ich habe eine Tabelle mit folgenden Feldern:

id, kunde, sku (=Artikelnummer), stock, sellout, kw (=Kalenderwoche), jahr

Nun möchte ich folgende Abfrage machen (Beispiel):
Zeige mir Stock und Sellout für KW 44 bis KW 46 im Jahr 2009 für Kunde K.
Diese Abfrage ist grundsätzlich ja nicht schwierig, aber dargestellt soll mir das so werden (Tabelle):

SKU | Stock KW 44 | Stock KW 45 | Stock KW 46 | Sellout KW 44 | Sellout KW 45 | Sellout KW 46



Hat da jemand eine Idee, wie ich das umsetzen könnte? Kann ich das schon bei der SQL-Abfrage oder reicht mir überhaupt eine Abfrage?

Danke für die HIlfe.
 

jacek

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

hallo, wie speicherst du kw ab? machst das wirklich manuell?
und dann noch das jahr?
sinnvoller wäre ein datumseintrag, zb timestamp und diesen nach bedarf (monat, kw, jahr) abfragen
 

Drauka

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

kw ist int und wird "manuell" (was auch immer Du damit meinst) gespeichert.
Da ich die Daten nach KW bekomme, macht timestamp ja nicht direkt Sinn. Vor allem wenn man ältere Daten importieren will.
Inwiefern hilft mir das beim Problem?
 

jacek

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

es war nur eine anregung die viele vorteile mit sich bringen würde, aber das ist wohl uninteressant.

schau dir mal an
 

Drauka

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

Das Problem ist doch eher, wie sortiere ich richtig, damit ich die oben genannte Darstellung realisieren kann.
Die momentane Abfrage:

Code:
SELECT * FROM report WHERE kunde=xyz AND kw >= 44 AND kw <= 46 AND jahr=2009

Liefert mir ja alle nötigen Ergebnisse, nur halt in einer "falschen" Reihenfolge. Meine Frage ist daher, kann ich das schon in der Abfrage realisieren, dass ich obige Darstellung bekomme, oder brauche ich evtl. mehrere voneinander abhängige Abfragen oder aber kann ich es auch irgendwie mit obiger Abfrage im PHP realisieren?
 

Drauka

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

Steh ich jetzt auf dem Schlauch oder Du?
 

Drauka

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

Nein, ich weiß wie ich sortieren kann, aber ich brauche diese Ausgabe:

SKU | Stock KW 44 | Stock KW 45 | Stock KW 46 | Sellout KW 44 | Sellout KW 45 | Sellout KW 46

Und wenn ich normal (mit while-Schleife) auslese, dann bekomm ich nur:

SKU | Stock KW44 | Sellout KW44
...
...
...
SKU | Stock KW45 | Sellout KW45
...
...
usw
 

Drauka

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

PHP:
$sql = "SELECT * from report WHERE customer='$search_customer' AND kw >= '$kw_start' AND kw <= '$kw_end'  AND jahr = '$jahr' ORDER BY kw";
        $result = @mysql_query($sql,$connection) or die (mysql_error());
        
        
        echo '<table><tr><td>SKU</td><td>STOCK</td><td>SELLOUT</td><td>KW</td></tr>';
        
        while ($row = mysql_fetch_array($result)) {
/* Wenn es bei der Abfrage nicht anders geht, dann liegt hier der Hund begraben,
denn ich muss ja die Felder des Arrays ($row) irgendwie ansprechen,
 so dass ich auf das komme, was ich brauche! Ich weiß nur nicht wie. */
            echo '<tr>';
            echo '<td>'.$row[SKU].'</td>';
            echo '<td>'.$row[STOCK].'</td>';
            echo '<td>'.$row[SELLOUT].'</td>';
            echo '<td>'.$row[KW].'</td>';
            echo '</tr>';
        }
        echo '</table>';
 

jacek

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

ok, kann ich noch einen dump deiner tabelle haben?
 

Drauka

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

Code:
-- phpMyAdmin SQL Dump
-- version 3.1.3.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 20. November 2009 um 11:23
-- Server Version: 5.1.33
-- PHP-Version: 5.2.9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Datenbank: `preisliste`
--

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

--
-- Tabellenstruktur für Tabelle `report`
--

CREATE TABLE IF NOT EXISTS `report` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `CUSTOMER` varchar(20) NOT NULL,
  `SKU` varchar(15) NOT NULL,
  `STOCK` int(11) NOT NULL,
  `SELLOUT` int(11) NOT NULL,
  `KW` int(11) NOT NULL,
  `JAHR` int(4) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=70415 ;

--
-- Daten für Tabelle `report`
--

INSERT INTO `report` (`ID`, `CUSTOMER`, `SKU`, `STOCK`, `SELLOUT`, `KW`, `JAHR`) VALUES
(68979, 'xyz', '11124-00-20R', 0, 5, 44, 2009),
(68980, 'xyz', '11124-00-20R', 490, 29, 44, 2009),
(69042, 'xyz', '11124-00-40R', 0, 2, 44, 2009),
(69043, 'xyz', '11124-00-40R', 55, 4, 44, 2009),
(68966, 'xyz', '11125-00-21R', 0, 16, 44, 2009),
(68967, 'xyz', '11125-00-21R', 1014, 57, 44, 2009),
(69045, 'xyz', '11125-02-21R', 276, 24, 44, 2009),
(68981, 'xyz', '11125-05-26R', 0, 1, 44, 2009),
(68982, 'xyz', '11125-05-26R', 690, 49, 44, 2009),
(69040, 'xyz', '11125-10-21R', 0, 11, 44, 2009),
(69041, 'xyz', '11125-10-21R', 980, 74, 44, 2009),
(69030, 'xyz', '11125-21-21R', 0, 3, 44, 2009),
(69031, 'xyz', '11125-21-21R', 23, 11, 44, 2009),
(68989, 'xyz', '11125-25-20R', 109, 6, 44, 2009),
(68990, 'xyz', '11125-26-20R', 0, 5, 44, 2009),
(68991, 'xyz', '11125-26-20R', 95, 2, 44, 2009),
(69014, 'xyz', '11127-55-20R', 27, 3, 44, 2009),
(68970, 'xyz', '11129-02-20R', 44, 26, 44, 2009),
(69027, 'xyz', '11129-02-20R', 0, 84, 44, 2009),
(68971, 'xyz', '11133-00-40R', 10, 1, 44, 2009),
(68963, 'xyz', '11133-17-40R', 0, 4, 44, 2009),
(69020, 'xyz', '11138-15-20R', 0, 7, 44, 2009),
(69021, 'xyz', '11138-15-20R', 84, 78, 44, 2009),
(69000, 'xyz', '11138-15-40R', 13, 3, 44, 2009),
(68999, 'xyz', '11138-15-40R', 0, 2, 44, 2009),
(69035, 'xyz', '11138-33-20R', 97, 0, 44, 2009),
(69002, 'xyz', '11138-33-40R', 8, 3, 44, 2009),
(69001, 'xyz', '11138-33-40R', 0, 1, 44, 2009),
(69004, 'xyz', '11138-34-20R', 0, 11, 44, 2009),
(69003, 'xyz', '11138-34-20R', 47, 14, 44, 2009),
(68964, 'xyz', '11138-34-20R', 2, 0, 44, 2009),
(68969, 'xyz', '11139-00-40R', 10, 20, 44, 2009),
(68968, 'xyz', '11139-00-40R', 0, 3, 44, 2009),
(68965, 'xyz', '11140-11-20R', 31, 1, 44, 2009),
(69044, 'xyz', '11140-11-40R', 50, 0, 44, 2009),
(68988, 'xyz', '11140-13-20R', 0, 3, 44, 2009),
(68987, 'xyz', '11140-13-20R', 52, 17, 44, 2009),
(69008, 'xyz', '11140-13-40R', 3, 0, 44, 2009),
(69015, 'xyz', '11140-18-40R', 1, 0, 44, 2009),
(69012, 'xyz', '11140-28-20R', 0, 1, 44, 2009),
(69013, 'xyz', '11140-28-20R', 45, 2, 44, 2009),
(69032, 'xyz', '11140-28-40R', 27, 1, 44, 2009),
(69037, 'xyz', '11140-30-20R', 7, 2, 44, 2009),
(69036, 'xyz', '11140-30-20R', 0, 1, 44, 2009),
(69022, 'xyz', '11140-30-40R', 56, 4, 44, 2009),
(68977, 'xyz', '11140-37-20R', 34, 1, 44, 2009),
(68976, 'xyz', '11140-37-20R', 0, 2, 44, 2009),
(68994, 'xyz', '11141-05-20R', 1395, 85, 44, 2009),
(68995, 'xyz', '11141-05-20R', 0, 82, 44, 2009),
(68993, 'xyz', '11141-06-20R', 1, 15, 44, 2009),
(68992, 'xyz', '11141-06-20R', 0, 5, 44, 2009),
(69010, 'xyz', '11142-07-20R', 220, 48, 44, 2009),
(69009, 'xyz', '11142-07-20R', 0, 25, 44, 2009),
(69029, 'xyz', '11142-08-20R', 352, 25, 44, 2009),
(69028, 'xyz', '11142-08-20R', 0, 1, 44, 2009),
(68978, 'xyz', '11142-09-20R', 40, 7, 44, 2009),
(68972, 'xyz', '11142-10-20R', 0, 5, 44, 2009),
(68973, 'xyz', '11142-10-20R', 89, 18, 44, 2009),
(69024, 'xyz', '11142-18-20R', 775, 130, 44, 2009),
(69023, 'xyz', '11142-18-20R', 0, 23, 44, 2009),
(68974, 'xyz', '11148-02-20R', 0, 2, 44, 2009),
(68975, 'xyz', '11148-02-20R', 42, 13, 44, 2009),
(69019, 'xyz', '11149-01-40R', 18, 0, 44, 2009),
(69018, 'xyz', '11149-01-40R', 0, 2, 44, 2009),
(68985, 'xyz', '11150-05-20R', 0, 6, 44, 2009),
(68986, 'xyz', '11150-05-20R', 374, 49, 44, 2009),
(68984, 'xyz', '11150-05-40R', 0, 7, 44, 2009),
(68983, 'xyz', '11150-05-40R', 1, 17, 44, 2009),
(69034, 'xyz', '11150-11-20R', 0, 1, 44, 2009),
(69033, 'xyz', '11150-11-20R', 78, 0, 44, 2009),
(68996, 'xyz', '11150-11-40R', 106, 2, 44, 2009),
(69026, 'xyz', '11156-01-20R', 0, 4, 44, 2009),
(69025, 'xyz', '11156-01-20R', 16, 18, 44, 2009),
(68997, 'xyz', '11160-00-20R', 0, 10, 44, 2009),
(68998, 'xyz', '11160-00-20R', 192, 19, 44, 2009),
(69007, 'xyz', '11164-00-20R', 2, 8, 44, 2009),
(69011, 'xyz', '21149-00-40R', 10, 5, 44, 2009),
(69038, 'xyz', '21161-00-50R', 0, 9, 44, 2009),
(69039, 'xyz', '21161-00-50R', 0, 2, 44, 2009),
(69016, 'xyz', '21162-00-50R', 0, 28, 44, 2009),
(69017, 'xyz', '21162-00-50R', 0, 2, 44, 2009),
(69005, 'xyz', '21163-00-20R', 0, 51, 44, 2009),
(69006, 'xyz', '21163-00-20R', 18, 31, 44, 2009),
(69050, 'xyz', '4C000-02-40R', 48, 1, 44, 2009),
(69051, 'xyz', '52024-00-40R', 5, 0, 44, 2009),
(69052, 'xyz', '52026-00-40R', 7, 0, 44, 2009),
(69053, 'xyz', '52026-01-40R', 0, 3, 44, 2009),
(69054, 'xyz', '52026-01-40R', 95, 0, 44, 2009),
(69055, 'xyz', '52031-00-40R', 0, 1, 44, 2009),
(69047, 'xyz', 'AD00012-R2', 406, 232, 44, 2009),
(69046, 'xyz', 'AD00012-R2', 0, 10, 44, 2009),
(69049, 'xyz', 'AD00025-R0', 6, 7, 44, 2009),
(69048, 'xyz', 'AD00025-R0', 0, 1, 44, 2009),
(69792, 'xyz', '11124-00-20R', 0, 1, 45, 2009),
(69791, 'xyz', '11124-00-20R', 461, 28, 45, 2009),
(69834, 'xyz', '11124-00-40R', 0, 5, 45, 2009),
(69835, 'xyz', '11124-00-40R', 47, 3, 45, 2009),
(69785, 'xyz', '11125-00-21R', 0, 31, 45, 2009),
(69784, 'xyz', '11125-00-21R', 899, 84, 45, 2009),
(69846, 'xyz', '11125-02-21R', 251, 23, 45, 2009),
(69847, 'xyz', '11125-02-21R', 0, 2, 45, 2009),
(69794, 'xyz', '11125-05-26R', 637, 50, 45, 2009),
(69793, 'xyz', '11125-05-26R', 0, 3, 45, 2009),
(69845, 'xyz', '11125-10-21R', 0, 13, 45, 2009),
(69844, 'xyz', '11125-10-21R', 842, 127, 45, 2009),
(69828, 'xyz', '11125-21-21R', 0, 5, 45, 2009),
(69827, 'xyz', '11125-21-21R', 29, 9, 45, 2009),
(69797, 'xyz', '11125-25-20R', 0, 6, 45, 2009),
(69798, 'xyz', '11125-25-20R', 99, 4, 45, 2009),
(69799, 'xyz', '11125-26-20R', 0, 2, 45, 2009),
(69800, 'xyz', '11125-26-20R', 89, 4, 45, 2009),
(69817, 'xyz', '11127-55-20R', 21, 5, 45, 2009),
(69818, 'xyz', '11127-55-20R', 0, 1, 45, 2009),
(69838, 'xyz', '11129-02-20R', 9, 11, 45, 2009),
(69837, 'xyz', '11129-02-20R', 0, 44, 45, 2009),
(69820, 'xyz', '11132-34-20R', 0, 10, 45, 2009),
(69787, 'xyz', '11133-00-40R', 8, 2, 45, 2009),
(69861, 'xyz', '11138-15-20R', 0, 22, 45, 2009),
(69860, 'xyz', '11138-15-20R', 130, 272, 45, 2009),
(69807, 'xyz', '11138-15-40R', 2, 8, 45, 2009),
(69808, 'xyz', '11138-15-40R', 0, 3, 45, 2009),
(69833, 'xyz', '11138-33-20R', 0, 1, 45, 2009),
(69832, 'xyz', '11138-33-20R', 93, 3, 45, 2009),
(69809, 'xyz', '11138-33-40R', 2, 6, 45, 2009),
(69856, 'xyz', '11138-34-20R', 30, 36, 45, 2009),
(69855, 'xyz', '11138-34-20R', 0, 1, 45, 2009),
(69783, 'xyz', '11138-34-20R', 2, 0, 45, 2009),
(69786, 'xyz', '11139-00-40R', 1, 9, 45, 2009),
(69848, 'xyz', '11140-11-20R', 67, 2, 45, 2009),
(69849, 'xyz', '11140-11-20R', 0, 2, 45, 2009),
(69836, 'xyz', '11140-11-40R', 50, 0, 45, 2009),
(69858, 'xyz', '11140-12-20R', 64, 42, 45, 2009),
(69859, 'xyz', '11140-12-20R', 0, 4, 45, 2009),
(69853, 'xyz', '11140-13-20R', 0, 3, 45, 2009),
(69854, 'xyz', '11140-13-20R', 81, 8, 45, 2009),
(69812, 'xyz', '11140-13-40R', 2, 1, 45, 2009),
(69819, 'xyz', '11140-18-40R', 1, 0, 45, 2009),
(69857, 'xyz', '11140-23-20R', 20, 0, 45, 2009),
(69841, 'xyz', '11140-28-20R', 41, 1, 45, 2009),
(69840, 'xyz', '11140-28-20R', 0, 3, 45, 2009),
(69829, 'xyz', '11140-28-40R', 22, 5, 45, 2009),
(69865, 'xyz', '11140-30-20R', 38, 6, 45, 2009),
(69864, 'xyz', '11140-30-20R', 0, 3, 45, 2009),
(69822, 'xyz', '11140-30-40R', 52, 2, 45, 2009),
(69821, 'xyz', '11140-30-40R', 0, 2, 45, 2009),
(69790, 'xyz', '11140-37-20R', 25, 3, 45, 2009),
(69789, 'xyz', '11140-37-20R', 0, 6, 45, 2009),
(69802, 'xyz', '11141-05-20R', 1253, 123, 45, 2009),
(69801, 'xyz', '11141-05-20R', 0, 19, 45, 2009),
(69867, 'xyz', '11141-06-20R', 96, 1, 45, 2009),
(69866, 'xyz', '11141-06-20R', 0, 4, 45, 2009),
(69813, 'xyz', '11142-07-20R', 0, 53, 45, 2009),
(69814, 'xyz', '11142-07-20R', 0, 167, 45, 2009),
(69863, 'xyz', '11142-08-20R', 339, 172, 45, 2009),
(69862, 'xyz', '11142-08-20R', 0, 1, 45, 2009),
(69852, 'xyz', '11142-09-20R', 178, 9, 45, 2009),
(69850, 'xyz', '11142-10-20R', 0, 8, 45, 2009),
(69851, 'xyz', '11142-10-20R', 169, 12, 45, 2009),
(69823, 'xyz', '11142-18-20R', 0, 46, 45, 2009),
(69824, 'xyz', '11142-18-20R', 110, 619, 45, 2009),
(69788, 'xyz', '11148-02-20R', 34, 8, 45, 2009),
(69843, 'xyz', '11149-01-40R', 0, 3, 45, 2009),
(69842, 'xyz', '11149-01-40R', 9, 6, 45, 2009),
(69795, 'xyz', '11150-05-20R', 346, 19, 45, 2009),
(69796, 'xyz', '11150-05-20R', 0, 9, 45, 2009),
(69839, 'xyz', '11150-05-40R', 0, 1, 45, 2009),
(69830, 'xyz', '11150-11-20R', 0, 2, 45, 2009),
(69831, 'xyz', '11150-11-20R', 74, 2, 45, 2009),
(69803, 'xyz', '11150-11-40R', 0, 3, 45, 2009),
(69804, 'xyz', '11150-11-40R', 100, 3, 45, 2009),
(69826, 'xyz', '11156-01-20R', 82, 31, 45, 2009),
(69825, 'xyz', '11156-01-20R', 0, 3, 45, 2009),
(69806, 'xyz', '11160-00-20R', 91, 94, 45, 2009),
(69805, 'xyz', '11160-00-20R', 0, 7, 45, 2009),
(69811, 'xyz', '11164-00-20R', 2, 0, 45, 2009),
(69815, 'xyz', '21149-00-40R', 6, 3, 45, 2009),
(69816, 'xyz', '21149-00-40R', 0, 1, 45, 2009),
(69810, 'xyz', '21163-00-20R', 18, 0, 45, 2009),
(69871, 'xyz', '4C000-02-40R', 0, 1, 45, 2009),
(69872, 'xyz', '4C000-02-40R', 47, 0, 45, 2009),
(69873, 'xyz', '52024-00-40R', 4, 1, 45, 2009),
(69874, 'xyz', '52026-00-40R', 6, 1, 45, 2009),
(69875, 'xyz', '52026-01-40R', 95, 0, 45, 2009),
(69876, 'xyz', '52031-00-40R', 10, 0, 45, 2009),
(69869, 'xyz', 'AD00012-R2', 323, 77, 45, 2009),
(69868, 'xyz', 'AD00012-R2', 0, 6, 45, 2009),
(69870, 'xyz', 'AD00025-R0', 6, 10, 45, 2009),
(70056, 'xyz', '11124-00-20R', 436, 23, 46, 2009),
(70055, 'xyz', '11124-00-20R', 0, 2, 46, 2009),
(70089, 'xyz', '11124-00-40R', 47, 0, 46, 2009),
(70048, 'xyz', '11125-00-21R', 741, 124, 46, 2009),
(70047, 'xyz', '11125-00-21R', 0, 34, 46, 2009),
(70100, 'xyz', '11125-02-21R', 0, 27, 46, 2009),
(70099, 'xyz', '11125-02-21R', 209, 15, 46, 2009),
(70058, 'xyz', '11125-05-26R', 599, 23, 46, 2009),
(70057, 'xyz', '11125-05-26R', 0, 15, 46, 2009),
(70097, 'xyz', '11125-10-21R', 780, 35, 46, 2009),
(70098, 'xyz', '11125-10-21R', 0, 27, 46, 2009),
(70083, 'xyz', '11125-21-21R', 20, 28, 46, 2009),
(70084, 'xyz', '11125-21-21R', 0, 1, 46, 2009),
(70119, 'xyz', '11125-25-20R', 111, 4, 46, 2009),
(70118, 'xyz', '11125-25-20R', 0, 4, 46, 2009),
(70061, 'xyz', '11125-26-20R', 66, 21, 46, 2009),
(70062, 'xyz', '11125-26-20R', 0, 2, 46, 2009),
(70075, 'xyz', '11127-55-20R', 0, 1, 46, 2009),
(70076, 'xyz', '11127-55-20R', 16, 6, 46, 2009),
(70092, 'xyz', '11129-02-20R', 0, 9, 46, 2009),
(70050, 'xyz', '11133-00-40R', 6, 2, 46, 2009),
(70054, 'xyz', '11133-17-20R', 50, 0, 46, 2009),
(70110, 'xyz', '11138-15-20R', 170, 21, 46, 2009),
(70111, 'xyz', '11138-15-20R', 0, 59, 46, 2009),
(70070, 'xyz', '11138-15-40R', 0, 1, 46, 2009),
(70069, 'xyz', '11138-15-40R', 0, 1, 46, 2009),
(70087, 'xyz', '11138-33-20R', 70, 23, 46, 2009),
(70071, 'xyz', '11138-33-40R', 2, 0, 46, 2009),
(70046, 'xyz', '11138-34-20R', 2, 0, 46, 2009),
(70106, 'xyz', '11138-34-20R', 0, 30, 46, 2009),
(70088, 'xyz', '11138-34-40R', 48, 2, 46, 2009),
(70049, 'xyz', '11139-00-40R', 3, 3, 46, 2009),
(70101, 'xyz', '11140-11-20R', 64, 3, 46, 2009),
(70090, 'xyz', '11140-11-40R', 0, 2, 46, 2009),
(70091, 'xyz', '11140-11-40R', 47, 1, 46, 2009),
(70108, 'xyz', '11140-12-20R', 134, 59, 46, 2009),
(70109, 'xyz', '11140-12-20R', 0, 1, 46, 2009),
(70105, 'xyz', '11140-13-20R', 72, 6, 46, 2009),
(70104, 'xyz', '11140-13-20R', 0, 3, 46, 2009),
(70073, 'xyz', '11140-13-40R', 2, 0, 46, 2009),
(70077, 'xyz', '11140-18-40R', 1, 0, 46, 2009),
(70107, 'xyz', '11140-23-20R', 0, 20, 46, 2009),
(70094, 'xyz', '11140-28-20R', 0, 2, 46, 2009),
(70093, 'xyz', '11140-28-20R', 38, 1, 46, 2009),
(70126, 'xyz', '11140-28-40R', 39, 3, 46, 2009),
(70131, 'xyz', '11140-30-20R', 73, 5, 46, 2009),
(70078, 'xyz', '11140-30-40R', 49, 3, 46, 2009),
(70052, 'xyz', '11140-37-20R', 0, 6, 46, 2009),
(70053, 'xyz', '11140-37-20R', 15, 4, 46, 2009),
(70064, 'xyz', '11141-05-20R', 1141, 58, 46, 2009),
(70063, 'xyz', '11141-05-20R', 0, 54, 46, 2009),
(70114, 'xyz', '11141-06-20R', 0, 3, 46, 2009),
(70115, 'xyz', '11141-06-20R', 82, 11, 46, 2009),
(70074, 'xyz', '11142-07-20R', 350, 0, 46, 2009),
(70113, 'xyz', '11142-08-20R', 0, 3, 46, 2009),
(70112, 'xyz', '11142-08-20R', 261, 75, 46, 2009),
(70103, 'xyz', '11142-09-20R', 169, 5, 46, 2009),
(70102, 'xyz', '11142-09-20R', 0, 4, 46, 2009),
(70130, 'xyz', '11142-10-20R', 149, 18, 46, 2009),
(70129, 'xyz', '11142-10-20R', 0, 2, 46, 2009),
(70079, 'xyz', '11142-18-20R', 0, 33, 46, 2009),
(70080, 'xyz', '11142-18-20R', 443, 133, 46, 2009),
(70051, 'xyz', '11148-02-20R', 32, 2, 46, 2009),
(70116, 'xyz', '11148-05-20R', 20, 0, 46, 2009),
(70096, 'xyz', '11149-01-40R', 0, 1, 46, 2009),
(70095, 'xyz', '11149-01-40R', 4, 4, 46, 2009),
(70059, 'xyz', '11150-05-20R', 0, 42, 46, 2009),
(70060, 'xyz', '11150-05-20R', 0, 304, 46, 2009),
(70085, 'xyz', '11150-11-20R', 63, 8, 46, 2009),
(70086, 'xyz', '11150-11-20R', 0, 3, 46, 2009),
(70066, 'xyz', '11150-11-40R', 0, 7, 46, 2009),
(70065, 'xyz', '11150-11-40R', 76, 17, 46, 2009),
(70082, 'xyz', '11156-01-20R', 83, 26, 46, 2009),
(70081, 'xyz', '11156-01-20R', 0, 23, 46, 2009),
(70067, 'xyz', '11160-00-20R', 38, 43, 46, 2009),
(70068, 'xyz', '11160-00-20R', 0, 30, 46, 2009),
(70117, 'xyz', '11160-01-20R', 6, 4, 46, 2009),
(70072, 'xyz', '11164-00-20R', 2, 0, 46, 2009),
(70122, 'xyz', '21149-00-40R', 0, 5, 46, 2009),
(70123, 'xyz', '21149-00-40R', 0, 1, 46, 2009),
(70128, 'xyz', '21161-00-50R', 2, 4, 46, 2009),
(70127, 'xyz', '21161-00-50R', 0, 4, 46, 2009),
(70125, 'xyz', '21162-00-50R', 0, 6, 46, 2009),
(70124, 'xyz', '21162-00-50R', 2, 12, 46, 2009),
(70121, 'xyz', '21163-00-20R', 2, 23, 46, 2009),
(70120, 'xyz', '21163-00-20R', 0, 23, 46, 2009),
(70137, 'xyz', '4C000-02-40R', 44, 2, 46, 2009),
(70136, 'xyz', '4C000-02-40R', 0, 1, 46, 2009),
(70138, 'xyz', '52024-00-40R', 4, 0, 46, 2009),
(70139, 'xyz', '52026-00-40R', 6, 0, 46, 2009),
(70140, 'xyz', '52026-01-40R', 95, 0, 46, 2009),
(70141, 'xyz', '52031-00-40R', 29, 1, 46, 2009),
(70133, 'xyz', 'AD00012-R2', 0, 23, 46, 2009),
(70132, 'xyz', 'AD00012-R2', 238, 62, 46, 2009),
(70134, 'xyz', 'AD00025-R0', 0, 1, 46, 2009),
(70135, 'xyz', 'AD00025-R0', 11, 4, 46, 2009);
 

Drauka

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

nein auf customer, es sollen alle SKUs dargestellt werden, die in diesem Zeitraum gefunden werden, es müsste also das ORDER BY kw erweitert werden zu ORDER BY kw,sku
 

saila

Moderatorle

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

kw ist int und wird "manuell" (was auch immer Du damit meinst) gespeichert.
Da ich die Daten nach KW bekomme, macht timestamp ja nicht direkt Sinn. Vor allem wenn man ältere Daten importieren will.
Inwiefern hilft mir das beim Problem?

Zum einen macht timestamp immer Sinn, weil du auch damit die KW ermitteln kannst und zum anderen ist mit Manuel speichern gemeint: du trägst das händisch nach.

Zum Query: GROUP BY kw ORDER BY 'was auch immer du willst'.

Du kann wenn du die kw's in einer Zeile haben möchtest das lediglich über einen Sub-Select steuern. Grund - mit einer Abfrage wie bisher bekommst du ja alle Zeilen mit der jeweiligen KW. Sprich KW tritt pro Zeile nur einmal auf. Du willst aber das es bis maximal 52 KW's pro Zeile gibt und das geht nur über einen zweiten Query oder einen Sub-Query.
Oder die primitifste Variante ist, in der while nochmals einen Query starten für die KW's - Würde ich aber nicht empfehlen. Allerdings als Anregung für den Sub-Query nutzen.
 

saila

Moderatorle

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

nein auf customer, es sollen alle SKUs dargestellt werden, die in diesem Zeitraum gefunden werden, es müsste also das ORDER BY kw erweitert werden zu ORDER BY kw,sku

Na überleg mal wie ORDER BY arbeitet bei ORDER BY kw, sku?
 

Drauka

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

SUBQUERY klingt gut. Muss ich mal rumtesten, ich kenn mich da nicht ganz so stark aus.

Mh, wie sollte das ORDER BY kw,sku arbeiten? Er sortiert erst nach kw und innerhalb dieser Sortierung nach sku.
Das mit dem Timestamp bringt mir hier nicht direkt einen Vorteil. Vor allem bei nachträglichem Import. Die KW und das Jahr stehen in der zu importierenden CSV-Datei, daher ist die Umwandlung eher ein Schritt zu viel.
 

jacek

Noch nicht viel geschrieben

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

evtl bringt dich das weiter:
PHP:
$sql = "
    SELECT 
        * 
    FROM 
        report 
    WHERE 
        customer = '$search_customer' AND 
        kw BETWEEN '$kw_start' AND '$kw_end' AND 
        jahr = '$jahr' 
    ORDER BY 
        KW, SKU
";
$result = @mysql_query($sql) or die (mysql_error());

$num = mysql_num_rows($result);
if ($num) {

    echo '<h1>Gesucht: '.$search_customer.' ('.$num.')</h1>
<table>
    <tr>
        <td>SKU</td>
        <td>STOCK</td>
        <td>SELLOUT</td>
        <td>KW</td>
    </tr>';

    $myCurrentSKU = "";
    $myNewRow = false;

    while ($row = mysql_fetch_array($result)) {

//testen, ob neuer SKU kommt, wenn ja dann neue Zeile beginnen
        if ($myCurrentSKU != $row[SKU]) {
            $myCurrentSKU = $row[SKU];
            $myNewRow = true;
            echo '    <tr>
        <td>'.$row[SKU].'</td>';
        }

        echo '        <td>'.$row[STOCK].'</td>
        <td>'.$row[SELLOUT].'</td>
        <td>'.$row[KW].'</td>';

        if ($myCurrentSKU != $row[SKU]) {
            echo '    </tr>';
            $myNewRow = false;
        }
    }
    echo '</table>';
}

else {
    echo 'keine Ergebnisse';
}
 

saila

Moderatorle

AW: Problem Datenbankabfrage (MySQL) bzw. deren Darstellung (PHP)

SUBQUERY klingt gut. Muss ich mal rumtesten, ich kenn mich da nicht ganz so stark aus.

Mh, wie sollte das ORDER BY kw,sku arbeiten? Er sortiert erst nach kw und innerhalb dieser Sortierung nach sku.
Das mit dem Timestamp bringt mir hier nicht direkt einen Vorteil. Vor allem bei nachträglichem Import. Die KW und das Jahr stehen in der zu importierenden CSV-Datei, daher ist die Umwandlung eher ein Schritt zu viel.

Soll dir sagen, dass order by kw, ... nicht wirklich weiterhilft zu deiner Problemstellung.

Das Thema timestamp ist lediglich der Hinweis, dass dies natürlich auch per timestamp gelöst werden könnte. Hätte zudem den Vorteil, dass einige Tebellen-Felder entfallen würden. Sprich - nicht künstlich aufgeblasen.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben