 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
10.03.2005, 13:08
|
#1
|
|
TP-Member
Registriert seit: Oct 2003
Ort: hamburg
|
Tabellen verknüpfen
Servus Leute,
eines vorab, was mysql angeht bin ich ein blutiger Anfänger, also es könnte sein dass ihre über diese Frage nur müde schmunzelt.
Also folgendes,
ich habe eine Tabelle erstellt in der meine Adressen abgelegt werden und dann noch eine Bildertabelle wo zukünftig für jedes Profil das entsprechende Bild abgespeichert wird.
Das Problem nun, wie kann ich die Tabellen abfragen damit einem Profil das entsprechende Bild zugeordnet wird.
Das Abfragen der Adressen seht so aus.:
<?php
$db = mysql_connect("....", ".....", "....");
mysql_select_db("....",$db);
$result = mysql_query("SELECT * FROM priv",$db);
$zeilen=mysql_num_rows($result);
echo "<p><b>$zeilen Einträge wurden gefunden:</b></p>\n";
echo "<table boder=1 width=100%><tr><td align=center>";
echo "<center>";
echo"<TR><TD><B>Vorname & Name</B><TD><B>Geburtstag</B><TD><B>Optionen</B></TR>";
while ($myrow = mysql_fetch_array($result))
{
echo "<TR><TD>".$myrow["Vorname"].", ".$myrow["Name"]."</a><TD>".$myrow["Geburtstag"];
echo "<TD><a href=\"view.php?id=".$myrow[id]."\">Profil ansehen</a>";
echo "<TD><a href=\"delete.php?id=".$myrow[id]."\">Profil löschen</a> ";
echo "<TD><a href=\"change.php?id=".$myrow[id]."\">Profil ändern</a>";
}
echo "</TABLE>";
?>
jemand eine Idee?
Grüße
Kamil
|
|
|
10.03.2005, 13:22
|
#2
|
|
TP-Junior
Registriert seit: Mar 2005
|
in deiner adresstabelle vergibst du eine eindeutige id, für jeden eintrag.
diese id ordnest du dem entsprechenden bild in der bildertabelle zu.
ausgelesen wird das ganze dann wie folgt:
SELECT * FROM adressen, bilder WHERE adressen.id = bilder.id
damit haste die verknüpfung zwischen beiden tabellen hergstellt.
|
|
|
10.03.2005, 13:25
|
#3
|
|
TP-Supporter
Registriert seit: Jun 2003
Ort: Fürth
|
wie sieht deine tabellenstruktur aus ?
sind PK und FK richtig gesetzt ?
ein klassischer Fall für einen JOIN
ein Beispiel :
http://www.w3schools.com/sql/sql_join.asp
__________________
Die perfekte Web-Applikation ist: sicher,skalierbar,schnell, anwenderfreundlich,intuitiv, wiederverwendbar,flexibel,transparent,umfassend,dynamisch, zuverlässig,einfach,modular,effizient, stabil,handhabbar,verteilt,robust, persistent,kollaborativ,mächtig,intelligent,leicht verwendbar,portierbar,erweiterbar,
fehlerfrei, und zu guter Letzt billig
|
|
|
10.03.2005, 13:57
|
#4
|
|
TP-Member
Registriert seit: Oct 2003
Ort: hamburg
|
hmm, das wird doch nicht so einfach *grummel*
die erste tabelle besteht auf folgenden fäldern:
id Vorname Name Geburtstag Str PLZ Ort Tel Fax Handy EMail Notizen
die zweite (bilder) tabelle:
ID Dateiname Dateigroesse Daten
jetzt stellt euch mal vor ich möchte mal eben die handy nr meines bruders abrufen, also suche ich beispielsweise nach dem vornamen und das Ergebniss liefert mir das Bild mit.*hmm*
geht das überhaupt???
grüße
kamil
|
|
|
10.03.2005, 14:32
|
#5
|
|
TP-Junior
Registriert seit: Mar 2005
|
klar geht das.
wir nehmen nur eine kleine erweiterung an der 2ten tabelle vor.
ID Dateiname Dateigroesse Daten ID_Kontakt --> dies ist nun der Fremdschlüssel.
im fremdschlüssel steht die gleiche eindeutige nummer drin, die in dem feld "id" aus der ersten tabelle steht.
somit ist dem addresseintrag deines bruders sein bild zugeordnet.
SELECT Handy, Dateiname FROM addressen, bilder WHERE Vorname = "Bruder" AND id = ID_Kontakt
sollte dir die handynr deines bruders liefern, nur mal vereinfacht angenommen, er wäre eindeutig über den vornamen zu identifizieren.
|
|
|
10.03.2005, 15:16
|
#6
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
vor allem, wenn man so ...
Zitat:
|
Zitat von longbow
ein blutiger Anfänger
|
ist, sollte man seine statements vorher mit einem geeigneten tool testen.
also query-browser oder (noch besser) mysql-front nehmen und das statement mal laufen lassen. dadurch lernst du mit der zeit, die abrfagen und deren ergbnisse besser abzuschaetzen.
gerade bei joins entstehen oft grosse und komplizierte ergebnistabellen, die ganz schnell mal auf die performance druecken koennen. daher sollte man sich die ausmasse seines tun wirklich hin und wieder konkret vor augen fuehren. hilft wirklich ungemein und foerdert ganz nebenbei das lernen.
gruss
hardy
|
|
|
10.03.2005, 15:58
|
#7
|
|
TP-Member
Registriert seit: Oct 2003
Ort: hamburg
|
hmm, vielen dank erstmal für all eure vorschläge, jetzt werde ich erstmal versuchen was daraus zu machen :
Grüße
Kamil
|
|
|
10.03.2005, 17:43
|
#8
|
|
TP-Member
Registriert seit: Oct 2003
Ort: hamburg
|
mir ist noch eine idee gekommen, wäre es nicht einfacher wenn ich die erste tabelle um ein feld ( für die bilder ) erweitere? so könnte ich es mir sparen die 2 tabellen miteinander zu kombinieren.
was haltet ihr davon?
grüße
kamil
|
|
|
10.03.2005, 17:49
|
#9
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
wieviele bilderchen hast du denn pro people? max. eins oder koennen es mehrere sein.
im zweiten fall wuerde deine tabelle ruckzuck durch die normalisierung fallen, daten doppelt auftreten und die pflege ein horror werden.
|
|
|
10.03.2005, 17:52
|
#10
|
|
TP-Member
Registriert seit: Oct 2003
Ort: hamburg
|
pro profil nur ein bild
|
|
|
10.03.2005, 18:26
|
#11
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
im notfall kannst du auch mehrere bilder in ein feld schmeissen. geht ja auch.
was mich hoechstens noch interessieren wuerde, was du mit der tabelle noch machst. ich meine, fuer die paar daten (und ich moechte da sicher nicht wie dennis klingen *denichschonlangsamzuvermissenbeginne*) braucht man doch nicht zwingend eine db mit zugangsdaten, connect und allem.
macht dein script noch mehr? oder hat die db noch mehr daten?
|
|
|
10.03.2005, 19:21
|
#12
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
|
Zitat:
|
Zitat von longbow
pro profil nur ein bild
|
Dann brauchst Du auch keine zweite Tabelle für die Bilder,
häng einfach die Felder Dateiname Dateigroesse Daten dran!
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
|
|
|
10.03.2005, 19:32
|
#13
|
|
TP-Member
Registriert seit: Oct 2003
Ort: hamburg
|
@Theo
die DB war im Umfang meines Vertrages mit dabei also versuche ich die auch irgendwie zu nutzen und schreibe an einem Gästebuch und noch anderen Script. Nur die Sache mit den Bildern kriege ich nicht hin.
@321
das schoss mir auch schon durch den Kopf, werde das mal ausprobieren.
Grüße
Kamil
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr.
|
 |