tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
381
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von suntrop
    suntrop suntrop ist offline Mitglied Brokat
    Registriert seit
    Dec 2001
    Ort
    Köln
    Beiträge
    452
    Ich denk mir mir seit Stunden Ecken in meinen Kopf, weil ich keine Lösung finde und hoffe ihr könnt mir weiterhelfen.

    Ich will ein verschachteltes HTML-Select-Feld aus einer MySQL-DB erstellen. In etwa so …
    HTML-Code:
    <select name="Aufgaben">
    	<optgroup label="Kunde 1">
    		<option label="Aufgabe 1">Aufgabe 1</option>
    		<option label="Aufgabe 2">Aufgabe 2</option>
    		<option label="Aufgabe 3">Aufgabe 3</option>
    		<option label="Aufgabe 4">Aufgabe 4</option>
    	</optgroup>
    	
    	<optgroup label="Kunde 2">
    		<option label="Aufgabe 1">Aufgabe 1</option>
    		<option label="Aufgabe 2">Aufgabe 2</option>
    		<option label="Aufgabe 3">Aufgabe 3</option>
    		<option label="Aufgabe 4">Aufgabe 4</option>
    	</optgroup>
    	
    	<optgroup label="Kunde 3">
    		<option label="Aufgabe 1">Aufgabe 1</option>
    		<option label="Aufgabe 2">Aufgabe 2</option>
    		<option label="Aufgabe 3">Aufgabe 3</option>
    		<option label="Aufgabe 4">Aufgabe 4</option>
    	</optgroup>
    </select>
    Kunden und Aufgabe stehen in zwei Tabellen. Also habe ich per JOIN alles zusammen ausgelesen. Dann habe ich jedoch nur ein Array mit allen Kunden und allen Aufgaben. Dann habe ich mit GROUP BY versucht das ganze zu "gruppieren". Aber ich glaube dafür ist das Group by nicht gedacht.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    SELECT
      c.id AS customer_id,
      c.name AS customer_name,
      t.id AS task_id,
      t.title AS task_title
     
    FROM
      customers AS c
     
    LEFT JOIN
      task AS t
    ON
      t.customer_id = c.id

    Ich denke man könnte jeden Kunden auslesen und dann in einem Sub-Query alle dazugehörigen Aufgaben auslesen. Aber das klingt irgendwie schon recht "langsam".

    Kann ich mit einem Query die DB so auslesen, dass ich mein HTML-Select-Feld aufbauen kann? Ich muss also alle Aufgaben den Kunden unterordnen können.

    Hoffe ihr versteht was ich meine

    Grüße
    - suntrop
     

  2. #2
    chibisuke chibisuke ist offline Mitglied Brillant
    Registriert seit
    Sep 2003
    Beiträge
    807
    Bei MySQL bleibt dir hier meines wissens nur ein ORDER BY kategorie, und dann muss deine applikation prüfen ob sich die kategorie im vergleich zum letzten datensatz geändert hat.
     

  3. #3
    Avatar von suntrop
    suntrop suntrop ist offline Mitglied Brokat
    Registriert seit
    Dec 2001
    Ort
    Köln
    Beiträge
    452
    Ich habe es mit einer foreach-Schleife und einem wilden Array-Konstrukt hinbekommen

    So schauts aktuell aus und funktioniert, wie ich es brauche.

    PHP-Code:
    $this->db->select'p.id AS project_id, p.title AS project_title, c.name AS customer_name' );
    $this->db->from'projects AS p' );
    $this->db->join'customers AS c''p.customer_id = c.id''left' ); 
    $this->db->order_by"c.name" );
    $query $this->db->get();

    if ( 
    $query->num_rows() > )
    {
        
    $projects $query->result_array();
    }
        
    foreach (
    $projects as $row) {
         
    $p[$row['customer_name']][$row['project_id']] = $row['project_title'];

    Dennoch Danke für deine Hilfe!
     

Ähnliche Themen

  1. MYSQL- 2 tabellen mit einem select auslesen
    Von grünes-huhn im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 06.11.08, 14:19
  2. Antworten: 2
    Letzter Beitrag: 17.09.07, 17:14
  3. Ein Feld aus mehreren Tabellen auslesen (MySQL/PHP)
    Von suckMD im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 10.10.05, 15:24
  4. mysql: Select über zwei Tabellen
    Von coyu im Forum Relationale Datenbanksysteme
    Antworten: 13
    Letzter Beitrag: 28.02.05, 10:37
  5. Auslesen und verbinden von zwei MySQl Tabellen bei einer Suchanfrage
    Von Tarion im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 22.10.01, 14:43

Stichworte