php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.12.2004, 21:29  
Erfahrener Benutzer
 
Registriert seit: 29.06.2003
Beiträge: 884
zwelch
Standard

also die ausgabe muss schonmal in die tabellen-auslese schleife rein. was du mit deinem geposteten script jetzt sagen willst, ist mir nicht ganz klar...

hier ein kleines besipiel (auf basis eines deiner postings):
Code:
echo '<table>';
$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 - aufpassen, jetzt kommts ;-)
    echo '<tr><td>'.$tab1['name'].'</td><td>'.$tab2['field_1'].'</td></tr>';
}
echo '</table>';
ich hoffe mal, dass es jetzt verständlich ist :P

ps: probiere das ganze doch einfach erstmal mit einer datenbank und wenn es dann funktioniert, fügst du die zweite ein. so kannst du die fehler eher eingrenzen.
zwelch ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.12.2004, 17:26  
Gast
 
Beiträge: n/a
Standard

Erstmal Danke schon für deine Bemühungen.
Eine Ausgabe aus einer Datenbank check ich ja, aber da nehme ich eine for Schleife her, aber das mit den zwei Datenbanken ist halt mein Problem.
Naja dürfte das eigendlich nicht auch so funktionieren mit der Ausgabe?
Ich weiß nur wenn ich das so wie ich das unten gemacht habe kommt nur ein weißer Bildschirm .
Kannst du dir das bitte nochmal anschauen .
Ich werd mir auf alle Fälle nochmal ein anderes PHP Buch kaufen und das durcharbeiten, nach dem Flash Buch .

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);
} 
?>
<HTML>
<HEAD>
<TITLE>
Devil Eye - Mitglieder
</TITLE>
</HEAD>

<body>

<?php
$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);
}
{
echo "<table> 
<tr>
<td> ".$tab1[name]." </td>
<td> ".$tab2[field_1]." </td>
</tr>
</table>";
}
?>
</body>
</html>
 
Alt 08.12.2004, 20:54  
Erfahrener Benutzer
 
Registriert seit: 29.06.2003
Beiträge: 884
zwelch
Standard

irgendwie hast du scheinbar die sache mit der schleife noch nicht so ganz verstanden:
also, es gibt nur eine schleife in der sowohl die datenbank abgefragt wird, als auch die ausgabe der daten abläuft.

das ganze mal "skizziert":
Zitat:
anfang der schleife mit while(...){
- für jeden eintrag in der tabelle1 wird diese schleife jetzt durchlaufen und in das array $tab1 geschrieben

- im nächsten schritt wird genau der eine eintrag aus tabelle2 geholt, bei dem die member_id mit der id der tabelle1 übereinstimmt
- dieser eintrag wird an das array $tab2 übergeben

- jetzt haben wir die beiden einträge aus den beiden tabellen in den zwei arrays und brauchen das nur noch ausgeben (z.b. mit echo)

und schließlich wird die schleife wieder geschlossen
es läuft also alles in einer schleife ab! ich hoffe, dass es so verständlich ist.
falls nicht, ein weiteres besipielscript welches ich auf dem server getestet habe (es läuft also!):
Code:
<?PHP
error_reporting(E_ALL);
// mysql-datenbank verbinden
@mysql_connect('localhost','root','xxxxx');
mysql_select_db('php_de');

// html-tabelle beginnen
echo '<table border=1>
<tr><th>id</th><th>name</th><th>field 1</th><th>field 2</th></tr>';

// tabellen-namen definieren
$tabelle1='apfelpsycho';
$tabelle2='apfelpsycho2';

// tabelle1 abfragen
$result1 = mysql_query("SELECT id, name FROM $tabelle1");

// schleife starten, die pro eintrag in tabelle1 je einmal durchläuft
while($tab1 = mysql_fetch_assoc($result1)){

    // id aus array an variable übergeben
    $tab1_id = $tab1['id'];

    // id aus tabelle1 in member_id von tabelle2 suchen
    $result2 = mysql_query("SELECT field_1,field_2 FROM $tabelle2 WHERE member_id  = $tab1_id LIMIT 1");

    // gefundenen eintrag aus tabelle2 an array übergeben
    $tab2 = mysql_fetch_assoc($result2);

    // alle erforderlichen daten sind vorhanden

    // pro schleifendurchlauf wird hier eine html-tabellen-zeile mit den daten ausgegeben
    echo '<tr><td>'.$tab1['id'].'</td><td>'.$tab1['name'].'</td><td>'.$tab2['field_1'].'</td><td>'.$tab2['field_1'].'</td></tr>';

// schleife schließen
}

// html-tabelle beenden
echo '</table>';
?>
solltest du es trotz den beispielen noch nicht verstanden haben, frag ruhig
aber vielleicht könntest du dann näher definieren, was du genau nicht verstehst, sonst kommen wir hier nicht wirklich weiter.

ps: wenn du es einfach gar nicht zum laufen bekommst, kann ich dir jetzt auch das script inkl. myqsl-dump schicken, sollte aber eigentlich nicht nötig sein.
zwelch ist offline  
Alt 09.12.2004, 17:41  
Gast
 
Beiträge: n/a
Standard

Danke, aber so eine krasse Erklärung wäre nicht nötig gewesen .
Ok das mit der Schleife hab ich wirklich nicht so 100 %ig verstanden, aber ich weiß was sie grundlegend bedeuten soll.
Ich hab halt noch einige Probleme mit PHP , aber das heißt ja nicht das ich das grundlegende Wissen nicht habe (Hab ja schließlich schon fast meine Ausbildung hinter mir als IT-Systemelektroniker, nur noch eine Prüfung ).
Aber es schön das du dich so bemüht hast und nochmal danke für deine Hilfe.
 
Alt 09.12.2004, 20:49  
Gast
 
Beiträge: n/a
Standard

Hier noch der fertig Quelltext und nochmal Danke.

Hier noch der Link:
http://devileye.aknorb.de/

Code:
<?php
$tabelle1="ibf_members";
$tabelle2="ibf_pfields_content";
$link = mysql_connect("localhost", "datenbank","passwort");
mysql_select_db("datenbank", $link);
$result1 = mysql_query("SELECT id, name, email, rang FROM $tabelle1 WHERE pruef=1 ORDER BY rang, name ASC"); 
while($tab1 = mysql_fetch_assoc($result1))
{ 
$tab1_id = $tab1['id']; 
$result2 = mysql_query("SELECT field_6,field_7,field_8,field_9 FROM $tabelle2 WHERE member_id  = $tab1_id LIMIT 1"); 
$tab2 = mysql_fetch_assoc($result2);
} 
?>

<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 
echo "<table border=\"0\" width=\"100%\" bgcolor=\"#DDDDDD\"> 
<tr>
<td background=\"tile.bmp\" height=21 width=165 span style=\"color:#000000\">[b]<span style=\"font-family:Verdana;font-size:11px\">Benutzername</span>[b]</td>
<td background=\"tile.bmp\" height=21 width=90 span style=\"color:#000000\">[b]<span style=\"font-family:Verdana;font-size:11px\">Postleitzahl</span>[b]</td>
<td background=\"tile.bmp\" height=21 width=140 span style=\"color:#000000\">[b]<span style=\"font-family:Verdana;font-size:11px\">Stadt/Ort</span>[b]</td>
<td background=\"tile.bmp\" height=21 width=120 span style=\"color:#000000\">[b]<span style=\"font-family:Verdana;font-size:11px\">Warhammer</span>[b]</td>
<td background=\"tile.bmp\" height=21 width=120 span style=\"color:#000000\">[b]<span style=\"font-family:Verdana;font-size:11px\">Warhammer 40k</span>[b]</td>
<td background=\"tile.bmp\" height=21 width=165 span style=\"color:#000000\">[b]<span style=\"font-family:Verdana;font-size:11px\">eMail</span>[b]</td>
<td background=\"tile.bmp\" height=21 width=65 span style=\"color:#000000\">[b]<span style=\"font-family:Verdana;font-size:11px\">Rang</span>[b]</td>
</tr>"; 

$tabelle1='ibf_members'; 
$tabelle2='ibf_pfields_content';
$result1 = mysql_query("SELECT id, name, email, rang FROM $tabelle1 WHERE pruef=1 ORDER BY rang, name ASC");
while($tab1 = mysql_fetch_assoc($result1)){
$tab1_id = $tab1['id'];
$result2 = mysql_query("SELECT field_6,field_7,field_8,field_9 FROM $tabelle2 WHERE member_id  = $tab1_id LIMIT 1"); 
$tab2 = mysql_fetch_assoc($result2); 

echo 
"<tr>
<td bgcolor=#EEEEEE width=165> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> <A style=\"TEXT-DECORATION: none\" href=http://devileye.aknorb.de/forum/index.php?showuser=".$tab1[id]."> ".$tab1[name]." </A> </span> </td>
<td bgcolor=#EEEEEE width=90> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$tab2[field_6]." </span></td>
<td bgcolor=#EEEEEE width=140> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$tab2[field_7]." </span></td>
<td bgcolor=#EEEEEE width=120> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$tab2[field_8]." </span></td>
<td bgcolor=#EEEEEE width=120> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$tab2[field_9]." </span></td>
<td bgcolor=#EEEEEE width=165> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> <A style=\"TEXT-DECORATION: none\" href=mailto:".$tab1[email]."> ".$tab1[email]." </A> </span> </td>
<td bgcolor=#EEEEEE width=65> <span style=\"font-family:Verdana;font-size:10pt;font-size:11px\"> ".$tab1[rang]." </span></td>
</tr>"; 

} 
echo "</table>"; 
?>
</BODY>
</HTML>
 
Alt 09.12.2004, 21:17  
Erfahrener Benutzer
 
Registriert seit: 29.06.2003
Beiträge: 884
zwelch
Standard

freut mich, dass es jetzt funktioniert

die member-liste sieht auch echt nicht schlecht aus.

den link zur administration würde ich hier übrigens schnell wieder rausnehmen und die admin selber durch ein passwort schützen (z.b. über htaccess) - nur mal so als anmekrung
zwelch ist offline  
Alt 09.12.2004, 21:48  
Gast
 
Beiträge: n/a
Standard

Das mit dem Admin sind nur 4 Links für mich eigendlich noch, in dem einmal die Datenbank drin ist (Passwort), News- und Eventspost (Passwort) und die Statistik kann ruhig jemand sehn.
 
 


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
Problem mit Anzeige einer Tabelle mit dem Firefox? HTML, Usability und Barrierefreiheit 8 28.11.2005 15:08
[Erledigt] 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
[Erledigt] Problem mit mySQL Datenbanken 7 27.09.2005 12:06
[Erledigt] Ausgabe der Datenabfrage in einer Tabelle? Datenbanken 2 26.09.2005 21:28
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
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
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

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:19 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.