php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.06.2006, 23:21  
Neuer Benutzer
 
Registriert seit: 15.06.2006
Beiträge: 29
amenhotheb
Standard Daten aus 2 Tabellen zusammenfuehren, 1 ID >>> 10x

Hallo Forum, ich bin neu hier und hoffe ihr koennt helfen.

Ich habe folgendes Problem:

Es existieren folgende Tabellen:
1. Tabelle "zpsb_plan_day" mit folgender Struktur

planday_id
school_plan_id
dating_id
school_hour_time_id
fr2_id
fr1_id
tu2_id
tu1_id
wh2_id
wh1_id
th2_id
th1_id
mo2_id
mo1_id

2. Tabelle "zpsb_subject" mit folgender Struktur

subject_id
subject_de
subject_pl
subject_en
subject_small_de
subject_small_pl
subject_small_en
subject_desc_de
subject_desc_pl
subject_desc_en
subject_color
color_vb

Mit diesen und natuerlich vielen weiteren Tabellen, wird per Access ein Stundenplan generiert, den ich per PHP in eine HTML-Tabelle schreiben lasse. Soweit so gut.

Das Problem:

Die letzten 10 Felder (mo1_id, mo2_id etc.) aus Tabelle 1 reprensentieren jeweils die entsprechende "SUBJECT_ID" aus der 2. Tabelle "zpsb_subject" mit dem dazugehoerigen Wert des Feldes "subject_small_pl".

Mit Access ist das alles kein Problem, da ich dort Unterabfragen erstellen kann, jedoch zeigt Access diese nicht im SQL-Code an, sodass ich hier momentan scheitere.

Bsp. wie es sein sollte:

Titelzeile: -- Std. --- von --- bis --- Fach1 --- Fach2 --- Fach3 --- Fach4 --- Fach5
Zeile1: ----- 1. ----- 8:00 --- 8:45 --- MATH --- INFO --- FREI --- FREI --- MATH

Meine
Ausgabe
1. ------ 2 ------ 3 ------ 54 ----- 23 ----- 77 ----- 77 ----- 54

Ich erhalte trotz aller Versuche jeweils nur die ID's. Was muss ich machen um die zur ID zugehoerigen Texte in den entsprechenden Felder ausgeben kann. PHP seitig ist alles ok, brauche lediglich "Abfrage-Hilfe".


nicht ist wie es aussieht
amenhotheb ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.06.2006, 07:45  
Benutzer
 
Registriert seit: 31.03.2006
Beiträge: 49
uro3
Standard

Da lies das mal

http://dev.mysql.com/doc/refman/4.0/de/join.html
uro3 ist offline   Mit Zitat antworten
Alt 16.06.2006, 11:25  
Neuer Benutzer
 
Registriert seit: 15.06.2006
Beiträge: 29
amenhotheb
Standard

Danke fuer den Tip. Habe ich auch schon alles hinter mir, wuerde sonst hier nicht posten. Ich brauche einfach nur einen Denkanstoss.

Das Problem liegt meiner Meinung nach woanders, ich kriegs aber nicht gebacken.

Die Felder mo1_id, mo2_id, th1_id, th2_id, wh1_id, wh2_id, tu1_id, tu2_id, fr1_id und fr2_id aus Tabelle "zpsb_plan_day" greifen auf den Schluessel subject_id aus Tabelle "zpsb_subject" zurueck, sollen aber den Wert aus Spalte subject_small_pl ausgeben. Also den Stundenplan fuer eine bestimmte Zeit. Die Tabelle zpsb_subject ist also "nur" die Fuelltabelle. Habe "USING" und "USE INDEX" probiert aber alles vergebens.

Vieleicht kannst du damit mehr anfangen, vieleicht habe ich es zu kompliziert beschrieben.
amenhotheb ist offline   Mit Zitat antworten
Alt 16.06.2006, 12:46  
Benutzer
 
Registriert seit: 31.03.2006
Beiträge: 49
uro3
Standard

Dein Hauptproblem ist die nicht normaliesierte Datenbankstruktur.

die 1. Tabelle müsste etwa so aussehen


planday_id
school_plan_id
dating_id
school_hour_time_id
day_nr
subject_id
uro3 ist offline   Mit Zitat antworten
Alt 16.06.2006, 14:01  
Neuer Benutzer
 
Registriert seit: 15.06.2006
Beiträge: 29
amenhotheb
Standard

Danke fuer den Tip, aber es existieren jeweils 2 uebergeordnete Faecher fuer jeweils einen Tag. Also mo1_id (subject_id) und mo2_id (subject_id) werden in 2 Spalten zu einem Tag benoetigt. Eine day_nr wird nicht benoetigt, die ist schon mit dating_id (ein kompletter Termin) vorhanden.

Was ich benoetige ist einfach nur die dazugehoerigen Unterabfragen, damit mysql weiss, in welches Feld der Text zur subject_id soll. Die Struktur ist in Ordnung. Es funktioniert einwandfrei mit mysql als Backend und Access als Frontend. Das Problem ist die Abfragestruktur in der PHP/MySQL Abfrage, also z.Bsp.:

$sql = "SELECT
zpsb_plan_day.planday_id,
zpsb_plan_day.school_hour_time_id AS tid,
zpsb_plan_day.mo1_id,
zpsb_plan_day.mo2_id,
zpsb_plan_day.th1_id,
zpsb_plan_day.th2_id,
zpsb_plan_day.wh1_is,
zpsb_plan_day.wh2_id,
zpsb_plan_day.tu1_id,
zpsb_plan_day.tu2_id,
zpsb_plan_day.fr1_id,
zpsb_plan_day.fr2_id,
zpsb_subject.subject_id,
zpsb_subject.subject_small_pl AS std
FROM
zpsb_plan_day, zpsb_subject
LEFT JOIN
zpsb_plan_day
USE INDEX
(mo1_id,mo2_id,th1_id,th2_id,wh1_is,wh2_id,tu1_id, tu2_id,fr1_id,fr2_id,) = zpsb_subject.subject_id";

Das ist bestimmt nicht korrekt, aber ich hab bei der sache auch ein Brett vorm Kopf.

HIIILLLFFFEEE!
amenhotheb ist offline   Mit Zitat antworten
Alt 16.06.2006, 14:05  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

wenn ich dich richtig verstanden habe dann wäre die lösung deines problems einfach die id auszulesen (z.b. mo1_id) und mit hilfe dieser eine neue abfrage zu machen. oder hab ich was falsch verstanden?

Gruß CyCap
cycap ist offline   Mit Zitat antworten
Alt 16.06.2006, 14:21  
Neuer Benutzer
 
Registriert seit: 15.06.2006
Beiträge: 29
amenhotheb
Standard

genau, das ist das Prob, eine zusaetzliche Subquery, ich weiss, dass ich manchmal etwas missverstaendlich ausdruecke, aber mein Kopf qualmt... HIIILLLLFFFFEE
amenhotheb ist offline   Mit Zitat antworten
Alt 16.06.2006, 14:30  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

ich verstehe was du vor hast, aber ich verstehe nicht was du für ein problem damit hast

PHP-Code:
<?php
$sql 
"SELECT * FROM `table`";
$query=mysql_query($sql) or die(mysql_error());

$mo1_id mysql_result($query0"mo1_id");

$sql2="SELECT * FROM `table2` WHERE `id` = '$mo1_id'";
$query2 mysql_query($sql2);


?>
Ich denke du willst sowas in der Art machen.
cycap ist offline   Mit Zitat antworten
Alt 16.06.2006, 14:54  
Neuer Benutzer
 
Registriert seit: 15.06.2006
Beiträge: 29
amenhotheb
Standard

Ich danke Dir fuer dein Engengement! Toll! :wink:

In 10 Feldern also 1. mo1_id bis 10. fr2_id werden die entsprechendeb Werte aus der Tabelle zpsb_subject (Schulfaecher) und der Spalte "subject_small_pl" benoetigt. Das sind jeweils immer die Abkuerzungen (4 Buchstaben) fuer die Schulfaecher.

Die Abfrage soll nun ein array bilden und die Schulfaecher ausgeben, als Text nicht als ID.

Wie schon gesagt das php-seitige funzt, das array auch, nur meine Ausgabe enthaelt nur Zahlen!
amenhotheb ist offline   Mit Zitat antworten
Alt 16.06.2006, 15:02  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

schreib mal den code und die ausgabe hier rein. da du stundenpläne machst geh ich davon aus du bist lehrer? schön das die lehrer jetzt mal was von schülern lernen
cycap ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten von 2 Tabellen vollkommenegal Datenbanken 2 06.05.2008 10:47
Daten identischer Tabellen kopieren R4v3r Datenbanken 2 28.09.2007 16:32
neuste daten aus 2 tabellen Freeaak Datenbanken 10 22.05.2006 00:27
2 Tabellen auf 2 Servern, Daten nur 1x selektieren Sonja PHP Tipps 2006 2 23.04.2006 16:55
Abfrage von Daten aus zwei Tabellen Merlin76 PHP Tipps 2006 1 08.04.2006 10:57
[Erledigt] Daten aus mehreren Tabellen holen Datenbanken 0 19.09.2005 17:14
daten aus 2 Tabellen selektieren LA-Finest PHP Tipps 2005-2 24 07.09.2005 16:31
Daten aus mehren tabellen lesen "zufall" PHP Tipps 2005-2 5 14.08.2005 03:50
[gelöst] Daten aus zwei Tabellen, join geht nicht!? PHP Tipps 2005-2 3 14.07.2005 09:50
MySQL Daten aus verknüpften Tabellen auslesen ? PHP Tipps 2005-2 2 27.06.2005 03:21
[Erledigt] Ausgelesende Daten in MySQL Tabellen mit Links verbinden Datenbanken 8 15.01.2005 20:50
[Erledigt] Daten aus 2 Tabellen auslesen Datenbanken 6 15.01.2005 16:54
Daten Sortieren aus meherern mySQL tabellen PHP Tipps 2004-2 1 12.12.2004 18:22
über PHP Daten in MySQL Tabellen updaten -- Problem PHP Tipps 2004 4 27.09.2004 21:34
[Erledigt] Query, der Daten innerhalb DB zwischen Tabellen verschiebt Datenbanken 6 18.09.2004 14:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
access 2007 tabellen zusammenführen, access 2007 zwei tabellen zusammenführen, access tabellen zusammenführen, access 2007 tabellen zusammenfügen, access 2007 2 tabellen zusammenfügen, access zwei tabellen zusammenführen, access 2007 2 tabellen zusammenführen, access 2007 datenbanken zusammenführen, tabellen zusammenführen access 2007, access 2007 mehrere tabellen zusammenführen, 2 tabellen in access 2007 zusammenführen, access 2 tabellen zusammenführen, access 2007 zwei abfragen zusammenführen, access2007 tabellen zusammenführen, tabellen zusammenfügen access, access 2007 zwei datenbanken zusammenführen, access datenbanken zusammenführen, access tabellen zusammenfügen, tabellen zusammenführen, access alle werte aus zwei tabellen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.