Announcement

Collapse
No announcement yet.

MySQL Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL Abfrage

    Hallo Zusammen,
    ich stehe gerade etwas auf dem Schlauch.
    Ich habe eine Tabelle mit vielen Spalten. Die Spalten begrenzen sich auf ID (Einzigarte ID), user (Benutzername) und anschließend Spalten mit dem Wert 0 oder 1.
    Die Abfrage soll mir nun alle Spalten ausgeben, die den Wert 1 enthalten (natürlich jeweils auf die ID und den user beschränkt).

    Hättet ihr vielleicht einen Ansatz für mich?
    Danke im Voraus.

    Edit:
    Ich habe eine Tabelle reports.
    In der Tabelle werden jeweils die ID (einzigartig), der Benutzername und anschließend noch einige Spalten (ich nenne jetzt mal z.B. rep_1_1), die nur den Wert 0 oder 1 haben können.
    Als default ist 0 angegeben.
    Meine Abfrage soll jetzt auf den jeweiligen Nutzer bezogen (ID und Benutzername) alle Spalten durchgehen und prüfen, ob der Wert 1 eingetragen ist.
    Sobald dieser Wert vorhanden ist, soll mir die Spalte ausgegeben werden.(Es ist natürlich vorher unbekannt, welche Spalte welchen Wert hat)
    Beispiel:
    Code:
    ID = "1";
    Benutzername = "test1234";
    rep_1_1 = 0; rep_1_2 = 1; rep_1_3 = 0;
    
    Abfrage soll ausgeben (auf den Benutzer test1234 mit der ID 1 bezogen):
    rep_1_2
    Edit2:
    Habe mal eine Test php erstellt und den array einfach mal mit var_dump ausgelesen.
    Code:
    include('assets/include/config.php'); require_once('assets/include/function.php');
    	
    	$sql = "SELECT
    				*
    			FROM
    				reports
    			WHERE 
                    ID = 1
    				AND (`rep_1_1` = 1 OR `rep_1_2` = 1 OR `rep_1_3` = 1 OR `rep_1_4` = 1 OR `rep_1_5` = 1 OR `rep_1_6` = 1 OR `rep_2_1` = 1 OR `rep_2_2` = 1 OR `rep_2_3` = 1 OR `rep_2_4` = 1 OR `rep_2_5` = 1 OR `rep_2_6` = 1 OR `rep_2_7` = 1 OR `rep_2_8` = 1 OR `rep_3_1` = 1 OR `rep_3_2` = 1 OR `rep_3_3` = 1 OR `rep_3_4` = 1 OR `rep_3_5` = 1 OR `rep_3_6` = 1 OR `rep_3_7` = 1 OR `rep_3_8` = 1 OR `rep_3_9` = 1 OR `rep_3_10` = 1 OR `rep_4_1` = 1 OR `rep_4_2` = 1 OR `rep_4_3` = 1 OR `rep_4_4` = 1 OR `rep_4_5` = 1 OR `rep_4_6` = 1 OR `rep_4_7` = 1 OR `rep_4_8` = 1 OR `rep_4_9` = 1 OR `rep_4_10` = 1 OR `rep_4_11` = 1 OR `rep_4_12` = 1 OR `rep_4_13` = 1 OR `rep_4_14` = 1 OR `rep_5_1` = 1 OR `rep_5_2` = 1 OR `rep_5_3` = 1 OR `rep_5_4` = 1 OR `rep_5_5` = 1 OR `rep_5_6` = 1 OR `rep_5_7` = 1 OR `rep_5_8` = 1 OR `rep_5_9` = 1 OR `rep_5_10` = 1 OR `rep_5_11` = 1 OR `rep_5_12` = 1 OR `rep_5_13` = 1 OR `rep_5_14` = 1 OR `rep_5_15` = 1 OR `rep_5_16` = 1 OR `rep_5_17` = 1 OR `rep_5_18` = 1 OR `rep_5_19` = 1 OR `rep_5_20` = 1 OR `rep_5_21` = 1 OR `rep_5_22` = 1 OR `rep_6_1` = 1 OR `rep_6_2` = 1 OR `rep_6_3` = 1 OR `rep_6_4` = 1 OR `rep_6_5` = 1 OR `rep_6_6` = 1 OR `rep_6_7` = 1 OR `rep_6_8` = 1 OR `rep_6_9` = 1 OR `rep_6_10` = 1 OR `rep_6_11` = 1 OR `rep_6_12` = 1 OR `rep_6_13` = 1 OR `rep_6_14` = 1 OR `rep_6_15` = 1 OR `rep_6_16` = 1 OR `rep_6_17` = 1 OR `rep_6_18` = 1 OR `rep_7_1` = 1 OR `rep_7_2` = 1 OR `rep_7_3` = 1 OR `rep_7_4` = 1 OR `rep_7_5` = 1 OR `rep_7_6` = 1 OR `rep_7_7` = 1 OR `rep_7_8` = 1 OR `rep_7_9` = 1 OR `rep_7_10` = 1 OR `rep_7_11` = 1 OR `rep_7_12` = 1 OR `rep_7_13` = 1 OR `rep_7_14` = 1 OR `rep_7_15` = 1 OR `rep_7_16` = 1 OR `rep_8_1` = 1 OR `rep_8_2` = 1 OR `rep_8_3` = 1 OR `rep_8_4` = 1 OR `rep_8_5` = 1 OR `rep_8_6` = 1 OR `rep_8_7` = 1 OR `rep_8_8` = 1 OR `rep_8_9` = 1 OR `rep_8_10` = 1 OR `rep_8_11` = 1 OR `rep_8_12` = 1 OR `rep_8_13` = 1 OR `rep_8_14` = 1 OR `rep_8_15` = 1 OR `rep_8_16` = 1 OR `rep_9_1` = 1 OR `rep_9_2` = 1 OR `rep_9_3` = 1 OR `rep_9_4` = 1 OR `rep_9_5` = 1 OR `rep_9_6` = 1 OR `rep_9_7` = 1 OR `rep_9_8` = 1 OR `rep_9_9` = 1 OR `rep_9_10` = 1 OR `rep_9_11` = 1 OR `rep_9_12` = 1 OR `rep_9_13` = 1 OR `rep_9_14` = 1 OR `rep_9_15` = 1 OR `rep_9_16` = 1 OR `rep_9_17` = 1 OR `rep_9_18` = 1 OR `rep_9_19` = 1 OR `rep_9_20` = 1 OR `rep_10_1` = 1 OR `rep_10_2` = 1 OR `rep_10_3` = 1 OR `rep_10_4` = 1 OR `rep_10_5` = 1 OR `rep_10_6` = 1 OR `rep_10_7` = 1 OR `rep_10_8` = 1 OR `rep_11_1` = 1 OR `rep_11_2` = 1 OR `rep_11_3` = 1 OR `rep_11_4` = 1 OR `rep_11_5` = 1 OR `rep_11_6` = 1 OR `rep_11_7` = 1 OR `rep_11_8` = 1 OR `rep_12_1` = 1 OR `rep_12_2` = 1 OR `rep_12_3` = 1 OR `rep_12_4` = 1 OR `rep_12_5` = 1 OR `rep_12_6` = 1 OR `rep_12_7` = 1 OR `rep_12_8` = 1 OR `rep_12_9` = 1 OR `rep_12_10` = 1)
    		";
    	$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
    	$row = mysql_fetch_assoc($result);
    	var_dump($row);
    var_dump($row):
    Spoiler:
    Code:
    array (size=158)
      'ID' => string '1' (length=1)
      'Benutzername' => string 'brandmeier.fichtl' (length=17)
      'rep_1_1' => string '1' (length=1)
      'rep_1_2' => string '1' (length=1)
      'rep_1_3' => string '1' (length=1)
      'rep_1_4' => string '1' (length=1)
      'rep_1_5' => string '1' (length=1)
      'rep_1_6' => string '1' (length=1)
      'rep_2_1' => string '0' (length=1)
      'rep_2_2' => string '0' (length=1)
      'rep_2_3' => string '0' (length=1)
      'rep_2_4' => string '0' (length=1)
      'rep_2_5' => string '0' (length=1)
      'rep_2_6' => string '0' (length=1)
      'rep_2_7' => string '0' (length=1)
      'rep_2_8' => string '0' (length=1)
      'rep_3_1' => string '0' (length=1)
      'rep_3_2' => string '0' (length=1)
      'rep_3_3' => string '0' (length=1)
      'rep_3_4' => string '0' (length=1)
      'rep_3_5' => string '0' (length=1)
      'rep_3_6' => string '0' (length=1)
      'rep_3_7' => string '0' (length=1)
      'rep_3_8' => string '0' (length=1)
      'rep_3_9' => string '0' (length=1)
      'rep_3_10' => string '0' (length=1)
      'rep_4_1' => string '0' (length=1)
      'rep_4_2' => string '0' (length=1)
      'rep_4_3' => string '0' (length=1)
      'rep_4_4' => string '0' (length=1)
      'rep_4_5' => string '0' (length=1)
      'rep_4_6' => string '0' (length=1)
      'rep_4_7' => string '0' (length=1)
      'rep_4_8' => string '0' (length=1)
      'rep_4_9' => string '0' (length=1)
      'rep_4_10' => string '0' (length=1)
      'rep_4_11' => string '0' (length=1)
      'rep_4_12' => string '0' (length=1)
      'rep_4_13' => string '0' (length=1)
      'rep_4_14' => string '0' (length=1)
      'rep_5_1' => string '0' (length=1)
      'rep_5_2' => string '0' (length=1)
      'rep_5_3' => string '0' (length=1)
      'rep_5_4' => string '0' (length=1)
      'rep_5_5' => string '0' (length=1)
      'rep_5_6' => string '0' (length=1)
      'rep_5_7' => string '0' (length=1)
      'rep_5_8' => string '0' (length=1)
      'rep_5_9' => string '0' (length=1)
      'rep_5_10' => string '0' (length=1)
      'rep_5_11' => string '0' (length=1)
      'rep_5_12' => string '0' (length=1)
      'rep_5_13' => string '0' (length=1)
      'rep_5_14' => string '0' (length=1)
      'rep_5_15' => string '0' (length=1)
      'rep_5_16' => string '0' (length=1)
      'rep_5_17' => string '0' (length=1)
      'rep_5_18' => string '0' (length=1)
      'rep_5_19' => string '0' (length=1)
      'rep_5_20' => string '0' (length=1)
      'rep_5_21' => string '0' (length=1)
      'rep_5_22' => string '0' (length=1)
      'rep_6_1' => string '0' (length=1)
      'rep_6_2' => string '0' (length=1)
      'rep_6_3' => string '0' (length=1)
      'rep_6_4' => string '0' (length=1)
      'rep_6_5' => string '0' (length=1)
      'rep_6_6' => string '0' (length=1)
      'rep_6_7' => string '0' (length=1)
      'rep_6_8' => string '0' (length=1)
      'rep_6_9' => string '0' (length=1)
      'rep_6_10' => string '0' (length=1)
      'rep_6_11' => string '0' (length=1)
      'rep_6_12' => string '0' (length=1)
      'rep_6_13' => string '0' (length=1)
      'rep_6_14' => string '0' (length=1)
      'rep_6_15' => string '0' (length=1)
      'rep_6_16' => string '0' (length=1)
      'rep_6_17' => string '0' (length=1)
      'rep_6_18' => string '0' (length=1)
      'rep_7_1' => string '0' (length=1)
      'rep_7_2' => string '0' (length=1)
      'rep_7_3' => string '0' (length=1)
      'rep_7_4' => string '0' (length=1)
      'rep_7_5' => string '0' (length=1)
      'rep_7_6' => string '0' (length=1)
      'rep_7_7' => string '0' (length=1)
      'rep_7_8' => string '0' (length=1)
      'rep_7_9' => string '0' (length=1)
      'rep_7_10' => string '0' (length=1)
      'rep_7_11' => string '0' (length=1)
      'rep_7_12' => string '0' (length=1)
      'rep_7_13' => string '0' (length=1)
      'rep_7_14' => string '0' (length=1)
      'rep_7_15' => string '0' (length=1)
      'rep_7_16' => string '0' (length=1)
      'rep_8_1' => string '0' (length=1)
      'rep_8_2' => string '0' (length=1)
      'rep_8_3' => string '0' (length=1)
      'rep_8_4' => string '0' (length=1)
      'rep_8_5' => string '0' (length=1)
      'rep_8_6' => string '0' (length=1)
      'rep_8_7' => string '0' (length=1)
      'rep_8_8' => string '0' (length=1)
      'rep_8_9' => string '0' (length=1)
      'rep_8_10' => string '0' (length=1)
      'rep_8_11' => string '0' (length=1)
      'rep_8_12' => string '0' (length=1)
      'rep_8_13' => string '0' (length=1)
      'rep_8_14' => string '0' (length=1)
      'rep_8_15' => string '0' (length=1)
      'rep_8_16' => string '0' (length=1)
      'rep_9_1' => string '0' (length=1)
      'rep_9_2' => string '0' (length=1)
      'rep_9_3' => string '0' (length=1)
      'rep_9_4' => string '0' (length=1)
      'rep_9_5' => string '0' (length=1)
      'rep_9_6' => string '0' (length=1)
      'rep_9_7' => string '0' (length=1)
      'rep_9_8' => string '0' (length=1)
      'rep_9_9' => string '0' (length=1)
      'rep_9_10' => string '0' (length=1)
      'rep_9_11' => string '0' (length=1)
      'rep_9_12' => string '0' (length=1)
      'rep_9_13' => string '0' (length=1)
      'rep_9_14' => string '0' (length=1)
      'rep_9_15' => string '0' (length=1)
      'rep_9_16' => string '0' (length=1)
      more elements...


    Ist es nicht möglich jetzt einfach nach der 1 zu filtern? Wenn ja, hättet ihr einen Ansatz?
    Zuletzt editiert von Keon; 16.11.2014, 00:08.
    - There are 10 types of people in the world: Those who understand binary, and those who don't... -

  • #2
    Du musst die Abfrage der Spalten mit OR verwenden. Dann erhälst Du alle Datensätze, die in den fraglichen Feldern den gewünschten Wert enthalten.
    Natürlich kommt es dann vor, dass in einer Zeile auch Felder enthalten sind, die 0 Werte beinhalten. Wie auch immer, die Abfrage garantiert, dass mindestens ein Feld den Wert 1 enthält.

    [highlight=SQL]
    SELECT *
    FROM reports
    WHERE id = 1 -- user id
    AND (rep_1_1 = 1
    OR rep_1_2 = 1
    OR rep_1_3 = 1)
    [/highlight]

    P.S.: Ich seh grad, Du willst nur die Spalten mit 1 ausgegeben haben. Oder ist das ein Tippfehler? Wenn nicht, das ist nicht so einfach möglich, da die Spalten für eine Abfrage immer fest sind. Kenne die Möglichkeiten von mySQL nicht so gut. Ggf wäre das über eine Prozedure am einfachsten, also Programmierung, keine Abfrage.
    Dazu noch eine Anmerkung: Deine Tabelle "REPORTS" klingt so, als ob es sich schon um eine aufbereitete Tabelle handelt, also nicht die original Datenquelle. Falls Du an die Originaldaten / Tabelle kommst, wo die Daten ggf in mehreren Zeilen vorliegen, kann man vielleicht anders da ran gehen.

    P.S.2: Hab hier was gefunden, was von der Technik her Deine Anforderung lösen kann-wenn ich sie richtig verstanden habe. "Dynamisches SQL" mittels prepared statements. Ob das in Deinem Anwendungsfall einsetzbar ist, musst Du selbst sehen.
    Die Anforderung auf stackoverflow mit Lösung
    http://stackoverflow.com/questions/1...ynamic-columns
    Lösungsbeispiel auf SQL fiddle (aus dem Beitrag in stackoverflow)
    http://sqlfiddle.com/#!2/0a068/6
    Zuletzt editiert von defo; 15.11.2014, 23:22.
    Gruß, defo

    Comment


    • #3
      Erstmal danke für die schnelle Antwort.
      Deine Abfrage funktioniert einwandfrei. Allerdings nicht gewünscht. Ich möchte wircklich nur die Spalten mit dem Wert 1 auslesen. Ich habe Zugriff auf die originall Datenquelle. Die Tabelle heißt wircklich "reports". Falls es in Ordnung ist, könnte ich dir über eine private Nachricht mal die SQL Abfrage zur Erstellung der Tabelle schicken. Vielleicht wird mein Problem dann klarer.
      Ich schaue mir jetzt einmal das mit dem dynamischen SQL an.


      Edit
      Habe mal eine Test php erstellt und den array einfach mal mit var_dump ausgelesen.
      Code:
      include('assets/include/config.php'); require_once('assets/include/function.php');
      	
      	$sql = "SELECT
      				*
      			FROM
      				reports
      			WHERE 
                      ID = 1
      				AND (`rep_1_1` = 1 OR `rep_1_2` = 1 OR `rep_1_3` = 1 OR `rep_1_4` = 1 OR `rep_1_5` = 1 OR `rep_1_6` = 1 OR `rep_2_1` = 1 OR `rep_2_2` = 1 OR `rep_2_3` = 1 OR `rep_2_4` = 1 OR `rep_2_5` = 1 OR `rep_2_6` = 1 OR `rep_2_7` = 1 OR `rep_2_8` = 1 OR `rep_3_1` = 1 OR `rep_3_2` = 1 OR `rep_3_3` = 1 OR `rep_3_4` = 1 OR `rep_3_5` = 1 OR `rep_3_6` = 1 OR `rep_3_7` = 1 OR `rep_3_8` = 1 OR `rep_3_9` = 1 OR `rep_3_10` = 1 OR `rep_4_1` = 1 OR `rep_4_2` = 1 OR `rep_4_3` = 1 OR `rep_4_4` = 1 OR `rep_4_5` = 1 OR `rep_4_6` = 1 OR `rep_4_7` = 1 OR `rep_4_8` = 1 OR `rep_4_9` = 1 OR `rep_4_10` = 1 OR `rep_4_11` = 1 OR `rep_4_12` = 1 OR `rep_4_13` = 1 OR `rep_4_14` = 1 OR `rep_5_1` = 1 OR `rep_5_2` = 1 OR `rep_5_3` = 1 OR `rep_5_4` = 1 OR `rep_5_5` = 1 OR `rep_5_6` = 1 OR `rep_5_7` = 1 OR `rep_5_8` = 1 OR `rep_5_9` = 1 OR `rep_5_10` = 1 OR `rep_5_11` = 1 OR `rep_5_12` = 1 OR `rep_5_13` = 1 OR `rep_5_14` = 1 OR `rep_5_15` = 1 OR `rep_5_16` = 1 OR `rep_5_17` = 1 OR `rep_5_18` = 1 OR `rep_5_19` = 1 OR `rep_5_20` = 1 OR `rep_5_21` = 1 OR `rep_5_22` = 1 OR `rep_6_1` = 1 OR `rep_6_2` = 1 OR `rep_6_3` = 1 OR `rep_6_4` = 1 OR `rep_6_5` = 1 OR `rep_6_6` = 1 OR `rep_6_7` = 1 OR `rep_6_8` = 1 OR `rep_6_9` = 1 OR `rep_6_10` = 1 OR `rep_6_11` = 1 OR `rep_6_12` = 1 OR `rep_6_13` = 1 OR `rep_6_14` = 1 OR `rep_6_15` = 1 OR `rep_6_16` = 1 OR `rep_6_17` = 1 OR `rep_6_18` = 1 OR `rep_7_1` = 1 OR `rep_7_2` = 1 OR `rep_7_3` = 1 OR `rep_7_4` = 1 OR `rep_7_5` = 1 OR `rep_7_6` = 1 OR `rep_7_7` = 1 OR `rep_7_8` = 1 OR `rep_7_9` = 1 OR `rep_7_10` = 1 OR `rep_7_11` = 1 OR `rep_7_12` = 1 OR `rep_7_13` = 1 OR `rep_7_14` = 1 OR `rep_7_15` = 1 OR `rep_7_16` = 1 OR `rep_8_1` = 1 OR `rep_8_2` = 1 OR `rep_8_3` = 1 OR `rep_8_4` = 1 OR `rep_8_5` = 1 OR `rep_8_6` = 1 OR `rep_8_7` = 1 OR `rep_8_8` = 1 OR `rep_8_9` = 1 OR `rep_8_10` = 1 OR `rep_8_11` = 1 OR `rep_8_12` = 1 OR `rep_8_13` = 1 OR `rep_8_14` = 1 OR `rep_8_15` = 1 OR `rep_8_16` = 1 OR `rep_9_1` = 1 OR `rep_9_2` = 1 OR `rep_9_3` = 1 OR `rep_9_4` = 1 OR `rep_9_5` = 1 OR `rep_9_6` = 1 OR `rep_9_7` = 1 OR `rep_9_8` = 1 OR `rep_9_9` = 1 OR `rep_9_10` = 1 OR `rep_9_11` = 1 OR `rep_9_12` = 1 OR `rep_9_13` = 1 OR `rep_9_14` = 1 OR `rep_9_15` = 1 OR `rep_9_16` = 1 OR `rep_9_17` = 1 OR `rep_9_18` = 1 OR `rep_9_19` = 1 OR `rep_9_20` = 1 OR `rep_10_1` = 1 OR `rep_10_2` = 1 OR `rep_10_3` = 1 OR `rep_10_4` = 1 OR `rep_10_5` = 1 OR `rep_10_6` = 1 OR `rep_10_7` = 1 OR `rep_10_8` = 1 OR `rep_11_1` = 1 OR `rep_11_2` = 1 OR `rep_11_3` = 1 OR `rep_11_4` = 1 OR `rep_11_5` = 1 OR `rep_11_6` = 1 OR `rep_11_7` = 1 OR `rep_11_8` = 1 OR `rep_12_1` = 1 OR `rep_12_2` = 1 OR `rep_12_3` = 1 OR `rep_12_4` = 1 OR `rep_12_5` = 1 OR `rep_12_6` = 1 OR `rep_12_7` = 1 OR `rep_12_8` = 1 OR `rep_12_9` = 1 OR `rep_12_10` = 1)
      		";
      	$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
      	$row = mysql_fetch_assoc($result);
      	var_dump($row);
      var_dump($row):
      Spoiler:
      Code:
      array (size=158)
        'ID' => string '1' (length=1)
        'Benutzername' => string 'brandmeier.fichtl' (length=17)
        'rep_1_1' => string '1' (length=1)
        'rep_1_2' => string '1' (length=1)
        'rep_1_3' => string '1' (length=1)
        'rep_1_4' => string '1' (length=1)
        'rep_1_5' => string '1' (length=1)
        'rep_1_6' => string '1' (length=1)
        'rep_2_1' => string '0' (length=1)
        'rep_2_2' => string '0' (length=1)
        'rep_2_3' => string '0' (length=1)
        'rep_2_4' => string '0' (length=1)
        'rep_2_5' => string '0' (length=1)
        'rep_2_6' => string '0' (length=1)
        'rep_2_7' => string '0' (length=1)
        'rep_2_8' => string '0' (length=1)
        'rep_3_1' => string '0' (length=1)
        'rep_3_2' => string '0' (length=1)
        'rep_3_3' => string '0' (length=1)
        'rep_3_4' => string '0' (length=1)
        'rep_3_5' => string '0' (length=1)
        'rep_3_6' => string '0' (length=1)
        'rep_3_7' => string '0' (length=1)
        'rep_3_8' => string '0' (length=1)
        'rep_3_9' => string '0' (length=1)
        'rep_3_10' => string '0' (length=1)
        'rep_4_1' => string '0' (length=1)
        'rep_4_2' => string '0' (length=1)
        'rep_4_3' => string '0' (length=1)
        'rep_4_4' => string '0' (length=1)
        'rep_4_5' => string '0' (length=1)
        'rep_4_6' => string '0' (length=1)
        'rep_4_7' => string '0' (length=1)
        'rep_4_8' => string '0' (length=1)
        'rep_4_9' => string '0' (length=1)
        'rep_4_10' => string '0' (length=1)
        'rep_4_11' => string '0' (length=1)
        'rep_4_12' => string '0' (length=1)
        'rep_4_13' => string '0' (length=1)
        'rep_4_14' => string '0' (length=1)
        'rep_5_1' => string '0' (length=1)
        'rep_5_2' => string '0' (length=1)
        'rep_5_3' => string '0' (length=1)
        'rep_5_4' => string '0' (length=1)
        'rep_5_5' => string '0' (length=1)
        'rep_5_6' => string '0' (length=1)
        'rep_5_7' => string '0' (length=1)
        'rep_5_8' => string '0' (length=1)
        'rep_5_9' => string '0' (length=1)
        'rep_5_10' => string '0' (length=1)
        'rep_5_11' => string '0' (length=1)
        'rep_5_12' => string '0' (length=1)
        'rep_5_13' => string '0' (length=1)
        'rep_5_14' => string '0' (length=1)
        'rep_5_15' => string '0' (length=1)
        'rep_5_16' => string '0' (length=1)
        'rep_5_17' => string '0' (length=1)
        'rep_5_18' => string '0' (length=1)
        'rep_5_19' => string '0' (length=1)
        'rep_5_20' => string '0' (length=1)
        'rep_5_21' => string '0' (length=1)
        'rep_5_22' => string '0' (length=1)
        'rep_6_1' => string '0' (length=1)
        'rep_6_2' => string '0' (length=1)
        'rep_6_3' => string '0' (length=1)
        'rep_6_4' => string '0' (length=1)
        'rep_6_5' => string '0' (length=1)
        'rep_6_6' => string '0' (length=1)
        'rep_6_7' => string '0' (length=1)
        'rep_6_8' => string '0' (length=1)
        'rep_6_9' => string '0' (length=1)
        'rep_6_10' => string '0' (length=1)
        'rep_6_11' => string '0' (length=1)
        'rep_6_12' => string '0' (length=1)
        'rep_6_13' => string '0' (length=1)
        'rep_6_14' => string '0' (length=1)
        'rep_6_15' => string '0' (length=1)
        'rep_6_16' => string '0' (length=1)
        'rep_6_17' => string '0' (length=1)
        'rep_6_18' => string '0' (length=1)
        'rep_7_1' => string '0' (length=1)
        'rep_7_2' => string '0' (length=1)
        'rep_7_3' => string '0' (length=1)
        'rep_7_4' => string '0' (length=1)
        'rep_7_5' => string '0' (length=1)
        'rep_7_6' => string '0' (length=1)
        'rep_7_7' => string '0' (length=1)
        'rep_7_8' => string '0' (length=1)
        'rep_7_9' => string '0' (length=1)
        'rep_7_10' => string '0' (length=1)
        'rep_7_11' => string '0' (length=1)
        'rep_7_12' => string '0' (length=1)
        'rep_7_13' => string '0' (length=1)
        'rep_7_14' => string '0' (length=1)
        'rep_7_15' => string '0' (length=1)
        'rep_7_16' => string '0' (length=1)
        'rep_8_1' => string '0' (length=1)
        'rep_8_2' => string '0' (length=1)
        'rep_8_3' => string '0' (length=1)
        'rep_8_4' => string '0' (length=1)
        'rep_8_5' => string '0' (length=1)
        'rep_8_6' => string '0' (length=1)
        'rep_8_7' => string '0' (length=1)
        'rep_8_8' => string '0' (length=1)
        'rep_8_9' => string '0' (length=1)
        'rep_8_10' => string '0' (length=1)
        'rep_8_11' => string '0' (length=1)
        'rep_8_12' => string '0' (length=1)
        'rep_8_13' => string '0' (length=1)
        'rep_8_14' => string '0' (length=1)
        'rep_8_15' => string '0' (length=1)
        'rep_8_16' => string '0' (length=1)
        'rep_9_1' => string '0' (length=1)
        'rep_9_2' => string '0' (length=1)
        'rep_9_3' => string '0' (length=1)
        'rep_9_4' => string '0' (length=1)
        'rep_9_5' => string '0' (length=1)
        'rep_9_6' => string '0' (length=1)
        'rep_9_7' => string '0' (length=1)
        'rep_9_8' => string '0' (length=1)
        'rep_9_9' => string '0' (length=1)
        'rep_9_10' => string '0' (length=1)
        'rep_9_11' => string '0' (length=1)
        'rep_9_12' => string '0' (length=1)
        'rep_9_13' => string '0' (length=1)
        'rep_9_14' => string '0' (length=1)
        'rep_9_15' => string '0' (length=1)
        'rep_9_16' => string '0' (length=1)
        more elements...


      Ist es nicht möglich jetzt einfach nach der 1 zu filtern? Wenn ja, hättet ihr einen Ansatz?
      Zuletzt editiert von Keon; 16.11.2014, 00:07.
      - There are 10 types of people in the world: Those who understand binary, and those who don't... -

      Comment


      • #4
        Zu php kann ich Dir nicht viel sagen.
        Denkbar wäre, alle Spalten auszuspucken und so zu taggen, dass man die 0er ausblenden kann.
        Wenn Du mir eine PN schickst, hat sonst niemand was davon. Falls Deine Tabelle geheim ist, bau oder nenn sie so um, dass Du sie veröffentlichen kannst.

        Zum Thema "Originaldaten":
        Was Du da mit SQL machen willst, ist eine typische "Reporting" Aufgabe. Kein klassischer SQL Anwendungsfall. Mit Reporttools oder auch mit PHP sollte es eigentlich nicht so ein Problem sein.
        Gruß, defo

        Comment


        • #5
          Hallo,

          um das Ergebnis-Array mit PHP zu filtern, könnte man z.B. array_search verwenden. Für den Fall das mehrere Felder die "1" enthalten und auch ausgegeben werden sollen, bietet sich array_keys mit dem optionalen Parameter search_value an.
          PHP Code:
          $keys array_keys($row"1"); 
          liefert in $keys alle Schlüssel, die als Wert eine 1 haben. (Also für die Beispieldaten ID, rep_1_1, rep_1_2, rep_1_3, rep_1_4, rep_1_5 und rep_1_6)

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Vielen Dank defo und Falk Prüfer.
            Eure beiden Codes funktionieren super zusammen.
            Die Datenbank kann ich leider nicht vollständlich veröffentlichen.

            Edit:
            Code:
            $sql = "SELECT
            				*
            			FROM
            				reports
            			WHERE 
                            ID = 1
            				AND (`rep_1_1` = 1 OR `rep_1_2` = 1 OR `rep_1_3` = 1 OR `rep_1_4` = 1 OR `rep_1_5` = 1 OR `rep_1_6` = 1 OR `rep_2_1` = 1 OR `rep_2_2` = 1 OR `rep_2_3` = 1 OR `rep_2_4` = 1 OR `rep_2_5` = 1 OR `rep_2_6` = 1 OR `rep_2_7` = 1 OR `rep_2_8` = 1 OR `rep_3_1` = 1 OR `rep_3_2` = 1 OR `rep_3_3` = 1 OR `rep_3_4` = 1 OR `rep_3_5` = 1 OR `rep_3_6` = 1 OR `rep_3_7` = 1 OR `rep_3_8` = 1 OR `rep_3_9` = 1 OR `rep_3_10` = 1 OR `rep_4_1` = 1 OR `rep_4_2` = 1 OR `rep_4_3` = 1 OR `rep_4_4` = 1 OR `rep_4_5` = 1 OR `rep_4_6` = 1 OR `rep_4_7` = 1 OR `rep_4_8` = 1 OR `rep_4_9` = 1 OR `rep_4_10` = 1 OR `rep_4_11` = 1 OR `rep_4_12` = 1 OR `rep_4_13` = 1 OR `rep_4_14` = 1 OR `rep_5_1` = 1 OR `rep_5_2` = 1 OR `rep_5_3` = 1 OR `rep_5_4` = 1 OR `rep_5_5` = 1 OR `rep_5_6` = 1 OR `rep_5_7` = 1 OR `rep_5_8` = 1 OR `rep_5_9` = 1 OR `rep_5_10` = 1 OR `rep_5_11` = 1 OR `rep_5_12` = 1 OR `rep_5_13` = 1 OR `rep_5_14` = 1 OR `rep_5_15` = 1 OR `rep_5_16` = 1 OR `rep_5_17` = 1 OR `rep_5_18` = 1 OR `rep_5_19` = 1 OR `rep_5_20` = 1 OR `rep_5_21` = 1 OR `rep_5_22` = 1 OR `rep_6_1` = 1 OR `rep_6_2` = 1 OR `rep_6_3` = 1 OR `rep_6_4` = 1 OR `rep_6_5` = 1 OR `rep_6_6` = 1 OR `rep_6_7` = 1 OR `rep_6_8` = 1 OR `rep_6_9` = 1 OR `rep_6_10` = 1 OR `rep_6_11` = 1 OR `rep_6_12` = 1 OR `rep_6_13` = 1 OR `rep_6_14` = 1 OR `rep_6_15` = 1 OR `rep_6_16` = 1 OR `rep_6_17` = 1 OR `rep_6_18` = 1 OR `rep_7_1` = 1 OR `rep_7_2` = 1 OR `rep_7_3` = 1 OR `rep_7_4` = 1 OR `rep_7_5` = 1 OR `rep_7_6` = 1 OR `rep_7_7` = 1 OR `rep_7_8` = 1 OR `rep_7_9` = 1 OR `rep_7_10` = 1 OR `rep_7_11` = 1 OR `rep_7_12` = 1 OR `rep_7_13` = 1 OR `rep_7_14` = 1 OR `rep_7_15` = 1 OR `rep_7_16` = 1 OR `rep_8_1` = 1 OR `rep_8_2` = 1 OR `rep_8_3` = 1 OR `rep_8_4` = 1 OR `rep_8_5` = 1 OR `rep_8_6` = 1 OR `rep_8_7` = 1 OR `rep_8_8` = 1 OR `rep_8_9` = 1 OR `rep_8_10` = 1 OR `rep_8_11` = 1 OR `rep_8_12` = 1 OR `rep_8_13` = 1 OR `rep_8_14` = 1 OR `rep_8_15` = 1 OR `rep_8_16` = 1 OR `rep_9_1` = 1 OR `rep_9_2` = 1 OR `rep_9_3` = 1 OR `rep_9_4` = 1 OR `rep_9_5` = 1 OR `rep_9_6` = 1 OR `rep_9_7` = 1 OR `rep_9_8` = 1 OR `rep_9_9` = 1 OR `rep_9_10` = 1 OR `rep_9_11` = 1 OR `rep_9_12` = 1 OR `rep_9_13` = 1 OR `rep_9_14` = 1 OR `rep_9_15` = 1 OR `rep_9_16` = 1 OR `rep_9_17` = 1 OR `rep_9_18` = 1 OR `rep_9_19` = 1 OR `rep_9_20` = 1 OR `rep_10_1` = 1 OR `rep_10_2` = 1 OR `rep_10_3` = 1 OR `rep_10_4` = 1 OR `rep_10_5` = 1 OR `rep_10_6` = 1 OR `rep_10_7` = 1 OR `rep_10_8` = 1 OR `rep_11_1` = 1 OR `rep_11_2` = 1 OR `rep_11_3` = 1 OR `rep_11_4` = 1 OR `rep_11_5` = 1 OR `rep_11_6` = 1 OR `rep_11_7` = 1 OR `rep_11_8` = 1 OR `rep_12_1` = 1 OR `rep_12_2` = 1 OR `rep_12_3` = 1 OR `rep_12_4` = 1 OR `rep_12_5` = 1 OR `rep_12_6` = 1 OR `rep_12_7` = 1 OR `rep_12_8` = 1 OR `rep_12_9` = 1 OR `rep_12_10` = 1)
            		";
            	$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
            	$row = mysql_fetch_assoc($result);
            	$keys = array_keys($row, "1");
            	var_dump($keys);
            Zuletzt editiert von Keon; 18.11.2014, 18:21.
            - There are 10 types of people in the world: Those who understand binary, and those who don't... -

            Comment

            Working...
            X