php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.12.2004, 19:49  
Gast
 
Beiträge: n/a
Standard Ausgabe von zwei Datenbanken in einer Tabelle

Hi

Ich krieg das nicht wirklich hin das ich Daten aus zwei verschiedenen Datenbanken in einer Tabele auslese.
Hier meine Seite (http://devileye.aknorb.de/) in der man unter Mitglieder sieht wie die Tabelle aussehn soll. Im Moment geht das noch über eine Datenbank, aber ich will die Anmeldung mit meinem Forum verknüpfen und da stehn die Daten in zwei Tabellen.

Kann mir da einer helfen wie ich das machen kann?

Schon mal Danke für alle sinnvollen Antworten.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.12.2004, 20:00  
Erfahrener Benutzer
 
Registriert seit: 29.06.2003
Beiträge: 884
zwelch
Standard

du brauchst in beiden tabellen mindestens einen gleichen wert. dann fragst du die eine tabelle ab und liest bei jedem durchlauf den zugehörigen wert aus der anderen tabelle mit ein.

beispiel:
Zitat:
tabelle 1:
nick, vorname, nachname

tabelle 2:
nick, wohnort, telefon
das script würde dann ungefähr so aussehen:
Code:
$result1 = mysql_query("SELECT nick, vorname, nachname FROM tabelle1");
while($tab1 = mysql_fetch_assoc($result1)){
    $result2 = mysql_query("SELECT wohnort,plz FROM tabelle2 WHERE nick = $tab1['nick'] LIMIT 1");
    $tab2 = mysql_fetch_assoc($result2);
     // und das ganze ausgeben
}
zwelch ist offline  
Alt 06.12.2004, 20:49  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.783
derHund
Standard

Zitat:
dann fragst du die eine tabelle ab und liest bei jedem durchlauf den zugehörigen wert aus der anderen tabelle mit ein.
na, unperformanter geht es wohl nicht? schon mal was vom JOIN gehört?
__________________
derHund ist offline  
Alt 06.12.2004, 22:41  
Gast
 
Beiträge: n/a
Standard

Irgendwie peil ich das nicht ganz so. Wäre nett wenn du mir da nochmal weiterhelfen könntest.
Ich glaub ich hab meinen Quelltext total vermurkst:

Code:
<?php
//Auslesen der Einträge
$tabelle1="ibf_members";
$tabelle2="ibf_pfields_content";
$link = mysql_connect("localhost", "datenbank","passwort");
mysql_select_db("datenbank", $link);
$result1 = mysql_query("SELECT id, name FROM tabelle1"); 
while($tab1 = mysql_fetch_assoc($result1)){ 
    $result2 = mysql_query("SELECT field_1,field_2 FROM tabelle2 WHERE member_id  = $tab1['id'] LIMIT 1"); 
    $tab2 = mysql_fetch_assoc($result2); 
     // und das ganze ausgeben 
} 

?>
<HTML>
<HEAD>
<TITLE>
Devil Eye - Mitglieder
</TITLE>

<STYLE fprolloverstyle>A:hover {
 FONT-WEIGHT: ; COLOR: #CCCCCC
}
</STYLE>

</HEAD>


<body bgcolor="#000000" text="#555555" background="back.gif" vLink=#555555 aLink=#555555 link=#555555>

.....

<?php
//Ausgeben der Einträge
for($i=0;$i<count($ergebnis);$i++)
{
echo "<table border=\"0\" width=\"100%\" bgcolor=\"#DDDDDD\">

<tr>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][id]." </span></td>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][name]." </span></td>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][field_1]." </span></td>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][field_2]." </span></td>
</tr>
</table>";
}
?>

</body>
</html>
 
Alt 07.12.2004, 14:51  
Erfahrener Benutzer
 
Registriert seit: 29.06.2003
Beiträge: 884
zwelch
Standard

Zitat:
Zitat von derHund
na, unperformanter geht es wohl nicht? schon mal was vom JOIN gehört?
nein, habe ich tatsächlich noch nicht! aber da du es ja scheinbar kennst, hättest du es ja auch ruhig mal erklären können!

@Apfelpsycho: was kommen denn für fehlermeldungen?
was du ändern solltest (hatte leider nicht dran gedacht), array in mysql-befehlen funktionieren meistens nicht. das heißt: du machst aus $tab1['id'] am besten eine variable z.b. $tab1_id und fügst das hinter WHERE member_id = ein.

desweiteren hast du bei from keine variable angegeben sondern nut tabelle1 - so geht das natürlich nicht.
hier das ganze nochmal:
Code:
$result1 = mysql_query("SELECT id, name FROM $tabelle1"); 
while($tab1 = mysql_fetch_assoc($result1)){
   $tab1_id = $tab1['id'];
    $result2 = mysql_query("SELECT field_1,field_2 FROM $tabelle2 WHERE member_id  = $tab1_id LIMIT 1"); 
    $tab2 = mysql_fetch_assoc($result2); 
     // und das ganze ausgeben 
}
allerdings solltest du auch den einwand von "derHund" beachten und dich mal mit join beschäftigen.
http://de3.php.net/manual/en/function.join.php
zwelch ist offline  
Alt 07.12.2004, 16:08  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.783
derHund
Standard

Zitat:
nein, habe ich tatsächlich noch nicht! aber da du es ja scheinbar kennst, hättest du es ja auch ruhig mal erklären können!
das war eher eine rhetorische frage

du verbindest beide tabellen mittels JOIN auf dem feld, welches beide verbindet ...

wirklich noch nie gehört?
__________________
derHund ist offline  
Alt 07.12.2004, 17:47  
Gast
 
Beiträge: n/a
Standard

Ok wenn man das so macht kommt keine Fehlermeldung, aber wie mach ich das dann unten mit der Ausgabe .
Auf alle Fälle schau ich mal, ob ich das mit dem JOIN checke.

Code:
<?php
//Auslesen der Einträge
$tabelle1="ibf_members";
$tabelle2="ibf_pfields_content";
$link = mysql_connect("localhost", "datenbank","passwort");
mysql_select_db("datenbank", $link);
$result1 = mysql_query("SELECT id, name FROM $tabelle1"); 
while($tab1 = mysql_fetch_assoc($result1)){ 
   $tab1_id = $tab1['id']; 
    $result2 = mysql_query("SELECT field_1,field_2 FROM $tabelle2 WHERE member_id  = $tab1_id LIMIT 1"); 
    $tab2 = mysql_fetch_assoc($result2); 
     // und das ganze ausgeben 
} 
?>
<HTML>
<HEAD>
<TITLE>
Devil Eye - Mitglieder
</TITLE>

<STYLE fprolloverstyle>A:hover {
 FONT-WEIGHT: ; COLOR: #CCCCCC
}
</STYLE>

</HEAD>


<body bgcolor="#000000" text="#555555" background="back.gif" vLink=#555555 aLink=#555555 link=#555555>
...

<?php
//Ausgeben der Einträge
for($i=0;$i<count($ergebnis);$i++)
{
echo "<table border=\"0\" width=\"100%\" bgcolor=\"#DDDDDD\">

<tr>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][id]." </span></td>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][name]." </span></td>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][field_1]." </span></td>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][field_2]." </span></td>
</tr>
</table>";
}
?>

</TABLE>
</body>
</html>
 
Alt 07.12.2004, 17:47  
Erfahrener Benutzer
 
Registriert seit: 29.06.2003
Beiträge: 884
zwelch
Standard

Zitat:
Zitat von derHund
wirklich noch nie gehört?
nee, habe ich wirklich noch nicht. und zwar, weil in den von mir durchgearbeiteten mysql-tutorials nie davon die rede war und ich solch einen fall eigentlich auch noch nie hatte...
werde mich aber bei gelegenheit damit beschäftigen.
zwelch ist offline  
Alt 07.12.2004, 17:56  
Erfahrener Benutzer
 
Registriert seit: 29.06.2003
Beiträge: 884
zwelch
Standard

Zitat:
Zitat von Apfelpsycho
aber wie mach ich das dann unten mit der Ausgabe
du musst die augabe in die schleife einbinden. mit jedem durchlauf wird dann eine neue tabellen-zeile erstellt, in die die daten eingetragen werden.
zwelch ist offline  
Alt 07.12.2004, 21:16  
Gast
 
Beiträge: n/a
Standard

Ok hab mich jetzt echt lang hingehockt und ich peil das immer noch nicht ganz.
Ich glaub das ist eher einfacher mein Forum umzuschreiben, dass es in einer Datenbank ausgegeben wird als mit dem Script hier (aber vielleicht auch schwerer ). Ich hab bereits auch mal ein PHP Buch durchgearbeitet und da kam nie was mit zwei Datenbanken vor, dass nur aus einer Datenbank etwas ausgegeben wieder check ich ja.
Das mit dem JOIN peil ich irgendwie gar nicht.

Vielleicht so was in der Art?

Code:
... 

<?php 
//Ausgeben der Einträge 
while($tab1 = mysql_fetch_assoc($result1))
{ 
echo "<table border=\"0\" width=\"100%\" bgcolor=\"#DDDDDD\"> 

<tr> 
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][id]." </span></td> 
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][name]." </span></td> 
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][field_1]." </span></td> 
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$ergebnis[$i][field_2]." </span></td> 
</tr> 
</table>"; 
} 
?> 

</TABLE> 
</body> 
</html>
 
 


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
[Erledigt] Php Mysql ausgabe in Tabelle / Gruppentrennung xitam PHP Tipps 2008 3 28.05.2008 22:03
Ausgabe mehrerer Datenbanktabellen in einer HTML Tabelle frankys9 PHP Tipps 2008 5 14.09.2007 16:51
Zeilenanzahl einer tabelle mit WHERE aber ohne schleife? sovereign Datenbanken 13 17.04.2006 20:34
[Erledigt] Problem mit Anzeige einer Tabelle mit dem Firefox? HTML, Usability und Barrierefreiheit 8 28.11.2005 15:08
Tabelle aktualisieren Datenbanken 3 23.11.2005 09:54
Mehrspaltige ausgabe in einer Tabelle mit while schleife- PHP Tipps 2005-2 1 21.10.2005 14:39
Eine Datenbank - Viele Tabellen oder mehrere Datenbanken? nicobischof Datenbanken 3 20.10.2005 15:36
Problem mit mySQL Datenbanken 7 27.09.2005 12:06
[Erledigt] Ausgabe der Datenabfrage in einer Tabelle? Datenbanken 2 26.09.2005 21:28
mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
[Erledigt] Tabelle in Tabelle ausrichten HTML, Usability und Barrierefreiheit 7 03.01.2005 14:32
Auslesen mySQL tabelle und ausgabe als html Calli PHP Tipps 2004-2 3 21.12.2004 16:51
Einfache Ausgabe aus Tabelle PHP Tipps 2004 5 29.09.2004 10:19
Ausgabe in Tabelle seb-web PHP Tipps 2004 5 23.09.2004 00:03
[Erledigt] HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zwei mysql_fetch_assoc verbinden, tabellenausgabe aus zwei datenbanken in php, apfelpsychos

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 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.