php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 19-02-2011, 12:18
hamalblues
 Registrierter Benutzer
Links : Onlinestatus : hamalblues ist offline
Registriert seit: Jan 2010
Beiträge: 6
hamalblues befindet sich auf einem aufstrebenden Ast
Standard Boolesche Werte in MySQL

Hallo,

ich weiß nicht wonach ich suchen soll, weil ich mein Problem nicht so einfach beschreiben kann

ich habe folgendes Problem, bzw. ich finde keinen funktionierenden Weg.
Die Datenbank ist folgendermaßen aufgebaut:

--
-- Tabellenstruktur für Tabelle `products`
--

CREATE TABLE IF NOT EXISTS `products` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`service_a` int(1) NOT NULL,
`service_b` int(1) NOT NULL,
`service_c` int(1) NOT NULL,
`service_d` int(1) NOT NULL,
`service_e` int(1) NOT NULL,
`service_f` int(1) NOT NULL,
`service_g` int(1) NOT NULL,
`service_h` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

--
-- Tabellenstruktur für Tabelle `usettings`
--

CREATE TABLE IF NOT EXISTS `usettings` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`service_a1` int(1) NOT NULL DEFAULT '1',
`service_a2` int(1) NOT NULL DEFAULT '1',
`service_b1` int(1) NOT NULL DEFAULT '1',
`service_b2` int(1) NOT NULL DEFAULT '1',
`service_c1` int(1) NOT NULL DEFAULT '1',
`service_c2` int(1) NOT NULL DEFAULT '1',
`service_d1` int(1) NOT NULL DEFAULT '1',
`service_d2` int(1) NOT NULL DEFAULT '1',
`service_e1` int(1) NOT NULL DEFAULT '1',
`service_e2` int(1) NOT NULL DEFAULT '1',
`service_f1` int(1) NOT NULL DEFAULT '1',
`service_f2` int(1) NOT NULL DEFAULT '1',
`service_g1` int(1) NOT NULL DEFAULT '1',
`service_g2` int(1) NOT NULL DEFAULT '1',
`service_h1` int(1) NOT NULL DEFAULT '1',
`service_h2` int(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


ich möchte eine SQL-Abfrage machen, welche mir nur die Boolesche Werte deren Status 1 gesetzt wurde (Standard sind die Bits vom usettings true) "zeilenweise" die mySQL Daten in Tabelle products anzeigt.
Mit Zitat antworten
  #2 (permalink)  
Alt 19-02-2011, 12:34
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

diese Datenbank sieht nicht normalisiert aus. Für boolesche Werte gibt es geeignetere Datentypen als int(1). Prüfen/filtern kann man sie ganz normal mit einer Where-Klausel: WHERE bool_spalte = 1

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 19-02-2011, 16:50
hamalblues
 Registrierter Benutzer
Links : Onlinestatus : hamalblues ist offline
Registriert seit: Jan 2010
Beiträge: 6
hamalblues befindet sich auf einem aufstrebenden Ast
Standard

Erst mal danke für die Antwort!

Sry für die schlechte SQL Tabelle. int(1) wurde ersetzt mit tinyint(1) und sql tabelle wurde normalisiert.

PHP-Code:
       public function getProducts($uname)
      {
          global 
$db;         
          
$today date("Y/n/j"time());
          
$current_month date("n"$this->time);
          
$current_year date("Y"$this->time);
          
$current_month_text date("F Y"$this->time);
          
$total_days_of_current_month date("t"$this->time);
          
          
$order "id DESC";
          
$sql "SELECT DISTINCT p.*, b.*, u.*, DATE_FORMAT(p.date, '%d.%m.%Y') as created," 
          
"\n DATE_FORMAT(date_start,'".$this->short_date."') AS sdate," 
          
"\n DATE_FORMAT(time_start,'%H:%i') AS stime," 
          
"\n DATE_FORMAT(date_end,'".$this->short_date."') AS edate," 
          
"\n DATE_FORMAT(time_end,'%H:%i') AS etime" 
          
"\n FROM products AS p" 
          
"\n LEFT JOIN payments AS b ON p.id = b.product_id"
          
"\n LEFT JOIN usersettings AS u ON u.uid = '".$uname."'"
          
"\n WHERE date_start BETWEEN  '$current_year/$current_month/01'"
          
" \n AND '$current_year/$current_month/$total_days_of_current_month'"
          
"\n AND p.approved= 'yes'"
          
"\n AND p.active = '1'"
          
"\n AND b.status = '1'"
          
"\n AND u.budget_a = '1'"
          
"\n AND u.budget_b = '1'"
          
"\n AND u.budget_c = '1'"
          
"\n AND u.budget_d = '1'"
          
"\n AND u.budget_d = '1'"
          
"\n AND u.budget_f = '1'"
          
"\n AND u.budget_g = '1'"
          
"\n AND u.budget_h = '1'"
          
"\n AND u.gebiet_a = '1'"
          
"\n AND u.gebiet_b = '1'"
          
"\n AND u.gebiet_c = '1'"
          
"\n AND u.gebiet_d = '1'"
          
"\n AND u.gebiet_e = '1'"
          
"\n AND u.gebiet_f = '1'"
          
"\n AND u.gebiet_g = '1'"
          
"\n AND u.gebiet_h = '1'"
          
"\n AND u.gebiet_i = '1'"
          
"\n AND u.gebiet_j = '1'"
          
"\n AND u.gebiet_k = '1'"
          
"\n AND u.gebiet_l = '1'"
          
"\n AND u.gebiet_m = '1'"
          
"\n AND u.gebiet_n = '1'"
          
"\n AND u.gebiet_o = '1'"
          
"\n AND u.gebiet_p = '1'"
          
"\n AND u.service_a = '1'"
          
"\n AND u.service_b = '1'"
          
"\n AND u.service_c = '1'"
          
"\n AND u.service_d = '1'"
          
"\n AND u.service_e = '1'"
          
"\n AND u.service_f = '1'"
          
"\n AND u.service_g = '1'"
          
"\n AND u.service_h = '1'"
          
"\n AND u.service_i = '1'"
          
"\n AND u.service_j = '1'"
          
"\n AND u.service_k = '1'"
          
"\n AND u.service_l = '1'"
          
"\n AND u.service_n = '1'"
          
"\n AND u.service_m = '1'"
          
"\n AND u.service_o = '1'"
          
"\n AND u.service_p = '1'"
          
"\n AND u.service_q = '1'"
          
"\n AND u.service_r = '1'"
          
"\n AND u.service_s = '1'"
          
"\n AND u.service_t = '1'"
          
"\n AND u.service_u = '1'"
          
"\n AND u.service_v = '1'"
          
"\n AND u.service_w = '1'"
          
"\n AND u.service_y = '1'"
          
"\n AND u.service_z = '1'"
          
"\n AND u.service_aa = '1'"
          
"\n AND u.service_bb = '1'"
          
"\n AND u.service_cc = '1'"
          
"\n AND u.service_dd = '1'"
          
"\n AND u.service_ee = '1'"
          
"\n AND u.service_ff = '1'"
          
"\n AND u.service_gg = '1'"
          
"\n AND u.service_hh = '1'"
          
"\n AND u.service_ii = '1'"
          
"\n AND u.service_jj = '1'"
          
"\n AND u.service_kk = '1'"
          
"\n AND u.service_ll = '1'"
          
"\n AND u.service_nn = '1'"
          
"\n AND u.service_mm = '1'"
          
"\n AND u.service_oo = '1'"
          
"\n AND u.service_pp = '1'"
          
"\n AND u.service_qq = '1'"
          
"\n AND u.service_rr = '1'"
          
"\n AND u.service_ss = '1'"
          
"\n AND u.service_tt = '1'"
          
"\n AND u.service_uu = '1'"
          
"\n AND u.service_vv = '1'"
          
"\n AND u.service_ww = '1'"
          
"\n AND u.service_yy = '1'"
          
"\n AND u.service_zz = '1'"  
          
"\n AND u.service_aaa = '1'"
          
"\n AND u.service_bbb = '1'"
          
"\n AND u.service_ccc = '1'"
          
"\n AND u.service_ddd = '1'"
          
"\n AND u.service_eee = '1'"
          
"\n AND u.service_fff = '1'"
          
"\n AND u.service_ggg = '1'"
          
"\n AND u.service_hhh = '1'"
          
"\n AND u.service_iii = '1'"
          
"\n AND u.service_jjj = '1'"
          
"\n AND u.service_kkk = '1'"
          
"\n AND u.service_lll = '1'"
          
"\n AND u.service_nnn = '1'"
          
"\n AND u.service_mmm = '1'"
          
"\n AND u.service_ooo = '1'"
          
"\n AND u.service_ppp = '1'"
          
"\n AND u.service_qqq = '1'"
          
"\n ORDER BY " $order;
          
$row $db->fetch_all($sql);
          
          return 
$row;

      } 
Irgendwie scheint das nicht zu funktionieren

Geändert von hamalblues (19-02-2011 um 21:51 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 19-02-2011, 16:54
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Die Tabelle ist nicht normalisiert. Dann wären deine Spalten nicht durchnummeriert.
Mit Zitat antworten
  #5 (permalink)  
Alt 19-02-2011, 21:12
hamalblues
 Registrierter Benutzer
Links : Onlinestatus : hamalblues ist offline
Registriert seit: Jan 2010
Beiträge: 6
hamalblues befindet sich auf einem aufstrebenden Ast
Standard

ich habe gerade meine SQL-Abfrage korrigiert

also für Datenbank normalisieren muss man doch studieren

Zitat:
Zitat von h3ll Beitrag anzeigen
Die Tabelle ist nicht normalisiert. Dann wären deine Spalten nicht durchnummeriert.
[I]

/**Ich komme nicht weiter Vielleicht kann mir jemand weiterhelfen
Mit Zitat antworten
  #6 (permalink)  
Alt 20-02-2011, 08:36
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Auch wenn du mit Buchstaben durchnummerierst, macht es das Design nicht besser.

Normalisierung (Datenbank) ? Wikipedia
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Variablen] mysql werte auslesen andrew PHP Developer Forum 13 30-01-2008 13:01
php/mysql werte auslesen und speichern DarksoldierXX PHP Developer Forum 8 24-01-2007 14:35
[MySQL 4.1] Werte tauschen uschi SQL / Datenbanken 15 15-10-2003 20:52
sum der werte einer mysql spalte mukraker SQL / Datenbanken 9 14-08-2003 09:54
Werte aus MySQL DB alphapetisch anzeigen lassen Normi PHP Developer Forum 9 22-07-2003 12:06

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:49 Uhr.