Flashhilfe.de - Flash Community

MySQL-Tabelle sortieren, aber wie

 


AntwortenRegistrieren Seite1  

Ric0#1
Benutzerbild von Ric0
Beiträge: 5
Wohnort: Köln
Registriert: Jan 2011

22.03.2011, 15:07

Ich grüße alle miteinander,
da ich hier schon einmal gute Tipps bekommen habe, versuche ich erneut, bei einem - zwar fast Flash-fremden Thema - Hilfe zu bekommen. Ich habe eine Datenbank erstellt, die Farbwerte enthält. So enthält sie eine Spalte für Rot, eine für Grün und eine für Blau (auch noch welche für cmyk). Ziel ist es, einen CMYK-ColorPicker für Flash zu erstellen. Deswegen ist es notwendig, die bisherige Ordnung zu ändern und die Tabelle neu zu sortieren. Kennt sich da jemand aus? Das "ORDER BY xxx DESC/ASC" ist mir bekannt, doch wie läßt sich eine Ordnung schaffen, die dem zweiten Bild entspricht?
Schon im voraus vielen Dank für's Durchlesen und Gedankenmachen.
Mat

Originalgröße anzeigen




Angehängte Dateien:
Bild Bildschirmfoto 2011-03-22 um 15.01.16.png45.13 KB
Schlagwörter: MySQL ORDER BY
Geändert von Ric0 am 22.03.11 um 15:07 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


springer#2
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

22.03.2011, 21:13

hi,
müssen die farben denn aus einer datenbank kommen?
ansonsten könntest du doch einfach das bild oben nehmen, und dann per getPixel()/getPixel32() den farbwert aus dem bitmap auslesen... und wenn du eine andere farbpalette brauchst, kannst du einfach das bild austauschen..
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Geändert von springer am 22.03.11 um 21:14 Uhr
Ric0#3
Benutzerbild von Ric0
Beiträge: 5
Wohnort: Köln
Registriert: Jan 2011

Themenautor/in

23.03.2011, 08:09

Leider müssen die Farbwerte aus einer Datenbank stammen, da genaue Druckwerte nötig sind. Denn eigentlich geht es mir um die darin hinterlegten CMYK-Werte.
springer#4
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

23.03.2011, 08:13

und wenn du die rgb werte in hex umwandelst ( LINK ) und nach diesen sortierst ?
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Werbung
Beiträge: 0
Registriert: Feb 2016


vindel#5
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

23.03.2011, 12:02

Hallo,

um das richtig auszulesen, musst erstmal verstanden werden, dass immer ein Wert 0 ist, einer die Helligkeit angibt und einer variabel ist. So kannst du dann für jeden Farbverlauf deine Informationen auslesen und sortieren.
Hier mal ein Beispiel:
PHP:
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
41
42
43
function drawBox($r,$g,$b) {
    return "<div style=\" height: 3px; width: 3px; display: inline-block; background-color: rgb(".$r.",".$g.",".$b.");\"></div>";
}

function readColor($i) {
    // Rot-Gelb
    $res = mysql_query("SELECT * FROM farben WHERE (r='".$i."' AND b='0') ORDER BY g DESC");
    if(mysql_num_rows($res)) {
        while($row = mysql_fetch_assoc($res)) echo drawBox($row['r'], $row['g'], $row['b']);
    }
    // Gelb-Gr&uuml;n
    $res = mysql_query("SELECT * FROM farben WHERE (g='".$i."' AND b='0') ORDER BY r ASC");
    if(mysql_num_rows($res)) {
        while($row = mysql_fetch_assoc($res)) echo drawBox($row['r'], $row['g'], $row['b']);
    }

    // Gr&uuml;n-cyan
    $res = mysql_query("SELECT * FROM farben WHERE (g='".$i."' AND r='0') ORDER BY b DESC");
    if(mysql_num_rows($res)) {
        while($row = mysql_fetch_assoc($res)) echo drawBox($row['r'], $row['g'], $row['b']);
    }
    // Cyan-Blau
    $res = mysql_query("SELECT * FROM farben WHERE (b='".$i."' AND r='0') ORDER BY g ASC");
    if(mysql_num_rows($res)) {
        while($row = mysql_fetch_assoc($res)) echo drawBox($row['r'], $row['g'], $row['b']);
    }

    // Blau-Magenta
    $res = mysql_query("SELECT * FROM farben WHERE (r='".$i."' AND g='0') ORDER BY b DESC");
    if(mysql_num_rows($res)) {
        while($row = mysql_fetch_assoc($res)) echo drawBox($row['r'], $row['g'], $row['b']);
    }
    // Magenta-Rot
    $res = mysql_query("SELECT * FROM farben WHERE (g='".$i."' AND g='0') ORDER BY r ASC");
    if(mysql_num_rows($res)) {
        while($row = mysql_fetch_assoc($res)) echo drawBox($row['r'], $row['g'], $row['b']);
    }
    echo "<br>";
}
for($i = 255; $i > 0; $i = $i -10) {
    readColor($i);
}

Dabei wird immer ein Farbverauf für eine helligkeit erstellt. Ind iesem Fall in 10er Schritten von 255.
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
Geändert von vindel am 23.03.11 um 12:02 Uhr
Ric0#6
Benutzerbild von Ric0
Beiträge: 5
Wohnort: Köln
Registriert: Jan 2011

Themenautor/in

25.03.2011, 09:36

Danke für Deinen Tipp,
ich konnte mir einiges von Dir abschauen, wie man eine ordentliche Suche ausführen lassen kann. :-)
vindel#7
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

26.03.2011, 10:28

Mit fällt noch ein: Dieser Code funktioniert nur bei reinen RGB-Farben und beinhaltet keine unbundheit (also es sind kein "weiß" und Grautöne möglich). Da dann noch eine 4. Variable hinzu kommt, die die Variable der letzten for-Schleife wäre!
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de