ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
749
749
EMPFEHLEN
-
04.05.12 10:25 #1
Grünschnabel
- Registriert seit
- May 2012
- Beiträge
- 4
Hallo zusammen,
komme einfach nicht weiter........
ich habe folgende Abfrage
das für sich alleine funktioniert auch (er macht eine Tabelle mit 2 Zeilen und zeigt mir zur Zeit alle 4 Einträge die Vorhanden sind an)PHP-Code:$sql_statement= "SELECT userid_comm,comment,user FROM blog_comment WHERE userid_comm = '$user_id' ";
$resultset=mysql_query($sql_statement);
while($data=mysql_fetch_array($resultset))
{
echo "
<table>
<tr><td>".$data[comment_user]."</td></tr>
<tr><td>".$data[comment]."</td></tr></table>
";
}
nun möchte ich diese Daten an einer anderen Stelle auf einer Webseite wieder ausgeben
nur das es sich jetzt nicht um eine Table handelt sonder um ein DIV und das die Daten nun....über die ganze Webseite verstreut angezeigt werden..... auch bei einer Tabelle...er mach also für jeden vorhandenen Datensatz eine neu Tabelle bzw. ein neues DIV ....
wie bekomme ich das in den Griff********
danke für euer Hilfe
Didek
-
04.05.12 10:41 #2
Also, mit dem while() gehst du die Zeilen durch. Ergo muss der <table></table> Tag ausserhalb der while liegen
PHP-Code:echo "<table>";
while($data=mysql_fetch_array($resultset)){
echo "<tr><td>".$data[comment_user]."</td></tr>
<tr><td>".$data[comment]."</td></tr>";
}
echo "</table>";
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
04.05.12 12:50 #3
Grünschnabel
- Registriert seit
- May 2012
- Beiträge
- 4
Hallo Yaslaw,
danke für deine Nachricht aber so meinte ich das nicht.......
ich möchte die Daten nicht als einfaches Echo wiederausgeben, sondern an einem bestimmten Punkt des ganzen Scriptes
z.B:
.....PHP-Code:$sql_statement= "SELECT userid_comm,comment,user FROM blog_comment WHERE userid_comm = '$user_id' ";
$resultset=mysql_query($sql_statement);
while($data=mysql_fetch_array($resultset))
{
$ausgabe =" ".$data[comment]." ";
}
......
........irgendwo im Script
auch das bekomme ich auf die reihe.........PHP-Code:<div>$ausgabe</div>
was ich nicht hinbekomme ist, da es sich dabei um ein array handelt und die Ausgabe als $ausgabe nicht alle Datensätze anzeigt die Vorhanden sind....sondern immer nur den letzten...und wenn er alles anzeigt, dann finde ich für jeden Datensatz einen neuen DIV .....
was ich aber so nicht haben will........
wie bekomme ich es hin das dieses array an anderer Stelle verfünftig wieder ausgegeben wird?
Dank für eure Mühe
didek
-
04.05.12 12:57 #4
Dann solltest du das Resultat in einen 2 dimensionalen Array schreiben
PHP-Code://Array initialisieren
$table = array();
while($row=mysql_fetch_array($resultset)){
//Die einzelnen Zeilen in den Array abspitzen. Zeile 1 hat so die ID 0
$table[] =$row;
}
//irgendwo im Script den comment der 3ten Zeile ausgeben (Index beginnt bei 0!)
echo $table[2]['comment'];
//oder als ganze Tabelle
echo "<table>";
foreach($table as $row){
echo "<tr><td>{$row['comment_user']}</td><td>{$row['comment']}</td></tr>";
}
echo "</table>";
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
07.05.12 10:22 #5
Grünschnabel
- Registriert seit
- May 2012
- Beiträge
- 4
Hallo zusammen,
@Yaslaw, danke für deine Mühe und Hilfe....
aber ich komme zum verrxxxxx nicht weiter......
ich habe mal ein Bild von der ganzen Sache gemacht

das ist meine Ausgangssituation.....
ich habe zwei Tabellen
Tabelle1
id (INT14) -> AUTO_INCREMENT (bei Eintrag wird eine Id vergeben)
user (INT14) -> Name des Users/Webseite
message -> Inhalt des Eintrages
date -> Tag des Eintrages
status -> bei Neueintrag so wie Eingestellt (Online, Offline so wie der User es haben will)
entry -> bei Neueintrag autom. Neu
Tabell2
id (INT14) -> AUTO_INCREMENT (bei Eintrag wird auch hier eine Id vergeben)
userid_comm (INT14) -> id aus tabelle1
comment -> hier kann jeder Seitenbesucher einen Kommentar schreiben
soooo.....
nun möchte ich wie oben im Bild zu sehen......
auf der Seite Tabelle1
die Einträge zeigen die der User (z.B. User1) gemacht hat......
auf der SeiteTabelle2
die dazugehörigen Einträge der Webseitenbesucher anzeigen (diese aber als Liste im Feld Comment) nicht so wie er das im Moment macht...für jeden Eintrag eine neue Zeile
die Abfrage die ich dazu erstellt habe sieht wie folgt aus:
PHP-Code:$result = mysql_query ('SELECT T1.*, T2.comment, T2.comment_user, T2.userid_comm, DATE_FORMAT(T1.date, "%d.%m.%Y, %H:%i") as DatumFormatiert FROM blog T1, blog_comment T2 WHERE T2.userid_comm= T1.id ');
while($row = mysql_fetch_array($result)){
//Die einzelnen Zeilen in den Array abspitzen. Zeile 1 hat so die ID 0
$table[] =$row;
foreach($table as $row){
$user = $row['comment_user'];
$comment = $row['comment'];
}
$published = ($row['status'] == Online) ? "<span style=\"color:green;\">{$row['status']}</span>" : "<span style=\"color:#FF6633;\">{$row['status']}</span>";
$eintrag1 = ($row['entry'] == Neu AND ($row['status'] == Online)) ? "<span style=\"color:red;font-weight:bold;\">{$row['user']}</span>" : "<span style=\"color:#FF6633;\">{$row['user']}</span>";
$eintrag2 = ($row['entry'] == Neu AND ($row['status'] == Online)) ? "<span style=\"color:red;\">New</span>" : "{$published}";
$post_list_blog.= "
<!--- Einträge in Tabelle1 -->
{$eintrag1}
{$row['DatumFormatiert']}
usw....
<!--- das Feld Comment in Tabelle2 --->
$user, $comment
";
}
ich komme so einfach nicht weiter...vielleicht ist meine ganze Überlegung aber auch falsch
vielleicht hat von euch einer eine Idee.......
(etwas fertiges zu nehmen was es ja mehr als genug gibt im Internet..... kommt nicht in betracht)
Danke für eure Mühe und Hilfe
didekGeändert von didek (07.05.12 um 10:39 Uhr)
-
07.05.12 10:39 #6
item: Formatiere dein Code und du wirst eingie Dinge sehen
Hier mal dein Code formatiert:
Also, du siehst wird der foreach bei jedem while-Durchgang ausgeführt. Das sollte glaub nicht sein...PHP-Code:while($row = mysql_fetch_array($result)){
//Die einzelnen Zeilen in den Array abspitzen. Zeile 1 hat so die ID 0
$table[] =$row;
foreach($table as $row){
$user = $row['comment_user'];
$comment = $row['comment'];
}
$published = ($row['status'] == Online) ? "<span style=\"color:green;\">{$row['status']}</span>" : "<span style=\"color:#FF6633;\">{$row['status']}</span>";
$eintrag1 = ($row['entry'] == Neu AND ($row['status'] == Online)) ? "<span style=\"color:red;font-weight:bold;\">{$row['user']}</span>" : "<span style=\"color:#FF6633;\">{$row['user']}</span>";
$eintrag2 = ($row['entry'] == Neu AND ($row['status'] == Online)) ? "<span style=\"color:red;\">New</span>" : "{$published}";
$post_list_blog.= "
//Eintrage in Tabble1
{$eintrag1}
{$row['DatumFormatiert']}
usw....
//das Feld Commet in Tabelle2
$user, $comment
";
}
item: Um die Comments zusammenzunehmen könntest du im SQL ein GROUP_CONCAT() verwenden---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
07.05.12 11:01 #7
Grünschnabel
- Registriert seit
- May 2012
- Beiträge
- 4
Hallo zusammen,
@Yaslaw...Danke für deine Mühe
aber ich denke das ich damit noch ein wenig Überfordert bin......werde wohl noch intensiver lesen müssen
Grüße
didek
-
07.05.12 11:11 #8
Nimm trotzdem den foreach() aus dem while() heraus. Das kann so nicht das sein was du willst
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
Ähnliche Themen
-
Array in Tabelle ausgeben
Von DFence im Forum PHPAntworten: 2Letzter Beitrag: 02.12.09, 07:21 -
Tabelle aus Array erzeugen
Von Spranta im Forum PHPAntworten: 3Letzter Beitrag: 10.07.08, 13:28 -
html-Tabelle in PHP mit Array
Von MediaPlanet im Forum PHPAntworten: 4Letzter Beitrag: 30.10.03, 17:10 -
Array in Tabelle ausgeben?
Von Dick Starbuck im Forum PHPAntworten: 4Letzter Beitrag: 23.01.03, 18:34 -
Array und Tabelle****?
Von MIniMe_ im Forum PHPAntworten: 11Letzter Beitrag: 20.12.01, 18:43




Zitieren

Login