Schrift
[thread]3514[/thread]

forum darstellen: bin am verzweifeln.. (Seite 2)

Leser: 2


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
steinwolf
 2005-01-03 18:19
#32805 #32805
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
hmm,
danke, vom ansatz her vielleicht das richtige. funktioniert aber vorne und hinten nicht!

ok, nochmal ganz langsam:

[sql]SELECT post_id, count(topic_id) FROM forum_posts WHERE post_id = topic_id AND forum_id = '1' GROUP BY topic_id ORDER BY post_id DESC LIMIT 0, 30
[/sql]

:(


Mysql-Tabelle sieht so aus:

-----------------------------------------------------------
-post id----topic_id----forum_id ----nachricht usw. ist ja egal der rest..
-0 -----0 ---1-- blablubb
-1 -----1 ---1-- bladibla
-2 -----2 ---1-- ekrkerk
-3 -----1 ---1-- nachricht bla
----------------------------------------------------------

FALSCH FALSCH FALSCH *heuel*

bitte hääälft mir.
die ausgabetabelle müsste ja dann irgendwie so aussehn:

-post_id-------count(topic_id) //beziehungsweise anzahl antworten
-0 0
-1 1
-2 0
-----------------------------------------------------------------

:rock:
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
renee
 2005-01-03 19:36
#32806 #32806
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
kannst Du mal kurz nen Dump posten (so vier bis fünf Threads und ein paar Posts)?? Dann kann ich hier mal schnell ne DB einrichten...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
steinwolf
 2005-01-03 20:04
#32807 #32807
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
mysql dump:
[sql]- - phpMyAdmIN SQL Dump -- version 2.6.0-pl3 -- <a href ="<a href ="http://www.phpmyadmin.net/" target ="_blank">http://www.phpmyadmin.net/"</a> target="_blank" ><a href="http://www.phpmyadmin.net/</a >" target="_blank">http://www.phpmyadmin.net/</a></a> -- -- Host: localhost -- Erstellungszeit: 03. Januar 2005 um 19:02 -- Server Version: 4.1.7 -- PHP -Version: 5.0.3RC2-dev -- -- Datenbank: `lovespin` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `buddies` --

CREATE TABLE `buddies` (
`id` int(255) unsigned NOT NULL default '0',
`buddie_id` int(255) unsigned NOT NULL default '0'
) ENGINE =MyISAM DEFAULT CHARSET=utf8; -- -- Daten für Tabelle `buddies` --

INSERT INTO `buddies` (`id`, `buddie_id`) VALUES (1, 2),
(1, 3); -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `categories` --

CREATE TABLE `categories` (
`id` int(10) unsigned NOT NULL auto_increment,
`cat_name` varchar(10) NOT NULL default '',
`cat_beschr` varchar(20) NOT NULL default '',
`anzahl_themen` int(10) unsigned NOT NULL default '0',
`anzahl_beitraege` int(10) unsigned NOT NULL default '0',
`last_msg` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE =MyISAM DEFAULT CHARSET =utf8 AUTO_INCREMENT =4 ; -- -- Daten für Tabelle `categories` --

INSERT INTO `categories` (`id`, `cat_name`, `cat_beschr`, `anzahl_themen`, `anzahl_beitraege`, `last_msg`) VALUES (1, 'Talk', 'Wenn du einfach nur quatschen willst.', 0, 0, 0),
(2, 'Langeweile -Ecke', 'Lust zu garnix? Willkommen im Club.', 0, 0, 0),
(3, 'Flirt', 'Weltweit..', 0, 0, 0); -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `forum` --

CREATE TABLE `forum` (
`forum_id` mediumint(12) unsigned NOT NULL auto_increment,
`cat_id` mediumint(8) NOT NULL default '0',
`forum_name` varchar(200) NOT NULL default '',
`forum_desc` text NOT NULL,
`forum_status` tinyint(4) NOT NULL default '0',
`forum_posts` int(10) NOT NULL default '0',
`forum_topics` int(10) NOT NULL default '0',
`forum_last_post_id` int(255) NOT NULL default '0',
PRIMARY KEY (`forum_id`)
) ENGINE =MyISAM DEFAULT CHARSET =utf8 AUTO_INCREMENT =6 ; -- -- Daten für Tabelle `forum` --

INSERT INTO `forum` (`forum_id`, `cat_id`, `forum_name`, `forum_desc`, `forum_status`, `forum_posts`, `forum_topics`, `forum_last_post_id`) VALUES (1, 1, 'Erstes Forum IN der ersten Kategorie', 'Beschreibung des Forums', 1, 0, 0, 0),
(2, 2, 'forum forum', 'Hier bist du richtig.', 1, 0, 0, 0),
(3, 1, 'bla forum', ': -)', 0, 0, 0, 0),
(4, 2, 'irgendeIN forum', 'DAS ist eIN untertitel.', 1, 0, 0, 0),
(5, 2, 'noch irgendeIN forum', 'Für lloses.', 1, 0, 0, 0); -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `forum_categories` --

CREATE TABLE `forum_categories` (
`forum_id` mediumint(8) unsigned NOT NULL auto_increment,
`forum_desc` varchar(255) NOT NULL default '',
PRIMARY KEY (`forum_id`)
) ENGINE =MyISAM DEFAULT CHARSET =utf8 AUTO_INCREMENT =3 ; -- -- Daten für Tabelle `forum_categories` --

INSERT INTO `forum_categories` (`forum_id`, `forum_desc`) VALUES (1, 'Ankündigungen und Allgemeines'),
(2, 'Community-Bereich'); -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `forum_posts` --

CREATE TABLE `forum_posts` (
`post_id` int(255) unsigned NOT NULL auto_increment,
`topic_id` int(255) unsigned NOT NULL default '0',
`forum_id` int(255) unsigned NOT NULL default '0',
`poster_id` int(255) unsigned NOT NULL default '0',
`post_time` int(11) NOT NULL default '0',
`poster_ip` int(8) NOT NULL default '0',
`post_edit_time` int(11) NOT NULL default '0',
`post_edit_count` smallint(5) NOT NULL default '0',
`post_username` varchar(25) NOT NULL default '',
PRIMARY KEY (`post_id`)
) ENGINE =MyISAM DEFAULT CHARSET =utf8 AUTO_INCREMENT =4 ; -- -- Daten für Tabelle `forum_posts` --

INSERT INTO `forum_posts` (`post_id`, `topic_id`, `forum_id`, `poster_id`, `post_time`, `poster_ip`, `post_edit_time`, `post_edit_count`, `post_username`) VALUES (0, 0, 1, 1, 0, 0, 0, 0, ''),
(1, 0, 1, 1, 0, 0, 0, 0, ''),
(2, 3, 1, 1, 0, 0, 0, 0, ''),
(3, 3, 1, 1, 0, 0, 0, 0, ''); -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `forum_posts_text` --

CREATE TABLE `forum_posts_text` (
`post_id` int(255) unsigned NOT NULL default '0',
`post_subject` varchar(60) NOT NULL default '',
`post_text` text NOT NULL,
PRIMARY KEY (`post_id`)
) ENGINE =MyISAM DEFAULT CHARSET=utf8; -- -- Daten für Tabelle `forum_posts_text` --

INSERT INTO `forum_posts_text` (`post_id`, `post_subject`, `post_text`) VALUES (0, 'Erste Nachricht', 'Und die Nachricht ist dAS hier:\r\n\r\n\r\nblabla\r\nblalb\r\nba\r\nblalbl\r\nabl\r\nab\r\nlab\r\n'),
(1, 'Zweite Nachricht', 'Blubbblubb'),
(2, '345345', '345345'),
(3, 'r56456', '456456'),
(4, '345345', '345345'); -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `messaging` --

CREATE TABLE `messaging` (
`id` bigint(20) NOT NULL auto_increment,
`title` varchar(33) NOT NULL default '',
`timestamp` int(11) NOT NULL default '0',
`user_nick` bigint(20) NOT NULL default '0',
`anzahl_besucher` int(11) NOT NULL default '0',
`category` int(11) NOT NULL default '0',
`message_id` bigint(20) NOT NULL default '0',
`antworten` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE =MyISAM DEFAULT CHARSET =utf8 AUTO_INCREMENT =5 ; -- -- Daten für Tabelle `messaging` --

INSERT INTO `messaging` (`id`, `title`, `timestamp`, `user_nick`, `anzahl_besucher`, `category`, `message_id`, `antworten`) VALUES (1, 'werwerwer', 0, 0, 0, 0, 0, 0),
(2, 'werwerwer', 0, 0, 0, 0, 0, 0),
(3, '123', 0, 0, 0, 0, 0, 0),
(4, '56479', 0, 0, 0, 0, 0, 0); -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `news` --

CREATE TABLE `news` (
`id` int(11) NOT NULL auto_increment,
`autor_id` int(11) NOT NULL default '0',
`timestamp` int(11) NOT NULL default '0',
`ueberschrift` varchar(30) NOT NULL default '',
`ueberschrift_klein` varchar(100) NOT NULL default '',
`message` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE =MyISAM DEFAULT CHARSET =utf8 AUTO_INCREMENT =19 ; -- -- Daten für Tabelle `news` --

INSERT INTO `news` (`id`, `autor_id`, `timestamp`, `ueberschrift`, `ueberschrift_klein`, `message`) VALUES (14, 123, 1103308151, 'Seite geht online', 'www.lovespin.de kurz vor der Fertigstellung', 'Die meisten Funktionen sind integriert und voll funktionsf&auml;hig. Jetzt fehlt nur noch die Community. &Uuml;berzeugt Euch doch selbst ;)\r\n\r\nmfg\r\nder Admin'),
(18, 123, 1103568006, 'Werbung wird bald folgen..', 'Ohne geht es nicht.', 'Da die Nutzung der Lovespin -Plattform frei und kostenlos ist, muss dAS Projekt teilweise &uuml;ber Werbung finanziert werden. Ich werde mir allerdings M&uuml;he geben, die Werbung m&ouml;glichst angenehm und nicht st&ouml;rend zu platzieren.'); -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `user` --

CREATE TABLE `user` (
`user_id` int(255) unsigned NOT NULL auto_increment,
`username` varchar(11) NOT NULL default '0',
`password` varchar(255) NOT NULL default '',
`user_get_newsletter` tinyint(1) NOT NULL default '0',
`user_active` tinyint(1) NOT NULL default '0',
`user_lastvisit` int(11) NOT NULL default '0',
`user_posts` int(255) NOT NULL default '0',
`user_level` tinyint(10) NOT NULL default '0',
`user_regdate` int(11) NOT NULL default '0',
`user_new_privmsg` smallint(5) NOT NULL default '0',
`user_icq` int(20) NOT NULL default '0',
`user_aim` varchar(255) NOT NULL default '',
`user_msn` varchar(255) NOT NULL default '',
`user_actkey` varchar(32) NOT NULL default '',
`user_email` varchar(255) NOT NULL default '',
`user_rank` int(11) NOT NULL default '0',
`user_allow_viewonline` tinyint(1) NOT NULL default '0',
`user_sig` text NOT NULL,
`user_from` varchar(255) NOT NULL default '',
`user_firstname` varchar(100) NOT NULL default '',
`user_lastname` varchar(100) NOT NULL default '',
`user_sex` tinyint(1) NOT NULL default '0',
`user_telephone` varchar(30) NOT NULL default '0',
`user_mobile` varchar(40) NOT NULL default '0',
`user_age` int(3) NOT NULL default '0',
`user_website` varchar(255) NOT NULL default '',
`char_abenteuerlustig` tinyint(1) NOT NULL default '0',
`char_energiegeladen` tinyint(1) NOT NULL default '0',
`char_intellektuell` tinyint(1) NOT NULL default '0',
`char_spontan` tinyint(1) NOT NULL default '0',
`char_schuechtern` tinyint(1) NOT NULL default '0',
`char_humorvoll` tinyint(1) NOT NULL default '0',
`char_streitlustig` tinyint(1) NOT NULL default '0',
`char_weltgewandt` tinyint(1) NOT NULL default '0',
`char_kuenstlerisch` tinyint(1) NOT NULL default '0',
`char_gepflegt` tinyint(1) NOT NULL default '0',
`char_zuverlaessig` tinyint(1) NOT NULL default '0',
`char_stur` tinyint(1) NOT NULL default '0',
`char_locker` tinyint(1) NOT NULL default '0',
`char_wild` tinyint(1) NOT NULL default '0',
`char_anspruchsvoll` tinyint(1) NOT NULL default '0',
`char_anhaenglich` tinyint(1) NOT NULL default '0',
`char_ernst` tinyint(1) NOT NULL default '0',
`char_kultiviert` tinyint(1) NOT NULL default '0',
`char_musikalisch` tinyint(1) NOT NULL default '0',
`char_romantisch` tinyint(1) NOT NULL default '0',
`loc_restaurants` tinyint(1) NOT NULL default '0',
`loc_bars` tinyint(1) NOT NULL default '0',
`loc_einkaufszentrum` tinyint(1) NOT NULL default '0',
`loc_natur` tinyint(1) NOT NULL default '0',
`loc_sportevents` tinyint(1) NOT NULL default '0',
`loc_ausstellungen` tinyint(1) NOT NULL default '0',
`loc_filmvorfuehrungen` tinyint(1) NOT NULL default '0',
`loc_berge` tinyint(1) NOT NULL default '0',
`loc_discos` tinyint(1) NOT NULL default '0',
`loc_konzerte` tinyint(1) NOT NULL default '0',
`loc_tanzveranstaltungen` tinyint(1) NOT NULL default '0',
`loc_strand` tinyint(1) NOT NULL default '0',
`loc_kabaretts` tinyint(1) NOT NULL default '0',
`loc_museen` tinyint(1) NOT NULL default '0',
`loc_theater` tinyint(1) NOT NULL default '0',
`loc_buecherei` tinyint(1) NOT NULL default '0',
`loc_andere_laender` tinyint(1) NOT NULL default '0',
`loc_schwimmbaeder` tinyint(1) NOT NULL default '0',
`user_picture` varchar(255) NOT NULL default '',
PRIMARY KEY (`user_id`)
) ENGINE =MyISAM DEFAULT CHARSET =utf8 AUTO_INCREMENT =4 ; -- -- Daten für Tabelle `user` --

INSERT INTO `user` (`user_id`, `username`, `password`, `user_get_newsletter`, `user_active`, `user_lastvisit`, `user_posts`, `user_level`, `user_regdate`, `user_new_privmsg`, `user_icq`, `user_aim`, `user_msn`, `user_actkey`, `user_email`, `user_rank`, `user_allow_viewonline`, `user_sig`, `user_from`, `user_firstname`, `user_lastname`, `user_sex`, `user_telephone`, `user_mobile`, `user_age`, `user_website`, `char_abenteuerlustig`, `char_energiegeladen`, `char_intellektuell`, `char_spontan`, `char_schuechtern`, `char_humorvoll`, `char_streitlustig`, `char_weltgewandt`, `char_kuenstlerisch`, `char_gepflegt`, `char_zuverlaessig`, `char_stur`, `char_locker`, `char_wild`, `char_anspruchsvoll`, `char_anhaenglich`, `char_ernst`, `char_kultiviert`, `char_musikalisch`, `char_romantisch`, `loc_restaurants`, `loc_bars`, `loc_einkaufszentrum`, `loc_natur`, `loc_sportevents`, `loc_ausstellungen`, `loc_filmvorfuehrungen`, `loc_berge`, `loc_discos`, `loc_konzerte`, `loc_tanzveranstaltungen`, `loc_strand`, `loc_kabaretts`, `loc_museen`, `loc_theater`, `loc_buecherei`, `loc_andere_laender`, `loc_schwimmbaeder`, `user_picture`) VALUES (1, 'admin', 'admin', 0, 1, 0, 0, 1, 0, 0, 155474765, '', '', '', 't <a href="mailto:-fighta@gmx.net"> -fighta@gmx.net</a>', 1, 1, 'Meine Signatur sieht so aus...', 'Rees', 'Stefan', 'Bartels', 1, '02851982314', '01610123456', 19, ' <a href ="<a href ="http://www.lovespin.de/'," target ="_blank">http://www.lovespin.de/',"</a> target ="_blank" ><a href="http://www.lovespin.de/',</a >" target="_blank">http://www.lovespin.de/',</a ></a> 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ' <a href ="<a href ="http://www.gmx.net/static/images/common/logo" target="_blank">http://www.gmx.net/static/images/common/logo</a> -gmx.gif'" target="_blank" ><a href ="http://www.gmx.net/static/images/common/logo" target="_blank">http://www.gmx.net/static/images/common/logo</a> -gmx.gif'</a >),
(2, 'honk', 'ss', 1, 1, 0, 0, 0, 0, 0, 12345678, '', '', '', '', 0, 0, '', '', '', '', 0, '0', '0', 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''),
(3, 'noch jemand', '55', 0, 1, 0, 0, 0, 0, 0, 0, '', '', '', '', 0, 0, '', '', '', '', 0, '0', '0', 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '');
[/sql]


hoffe das hilft fürs erste :-)\n\n

<!--EDIT|renee|1104775913-->
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
renee
 2005-01-03 20:31
#32808 #32808
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Also bei mir funktioniert folgendes einwandfrei:

Struktur und Daten (Achtung: topic_id habe ich wegen der Query in thread_id umbenannt):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#
# Table structure for table `forum_posts`
#

CREATE TABLE forum_posts (
post_id int(255) unsigned NOT NULL auto_increment,
thread_id int(255) unsigned NOT NULL default '0',
forum_id int(255) unsigned NOT NULL default '0',
poster_id int(255) unsigned NOT NULL default '0',
post_time int(11) NOT NULL default '0',
poster_ip int(8) NOT NULL default '0',
post_edit_time int(11) NOT NULL default '0',
post_edit_count smallint(5) NOT NULL default '0',
post_username varchar(25) NOT NULL default '',
PRIMARY KEY (post_id)
) TYPE=MyISAM;

#
# Dumping data for table `forum_posts`
#

INSERT INTO forum_posts VALUES (2, 0, 1, 1, 0, 0, 0, 0, '');
INSERT INTO forum_posts VALUES (1, 0, 1, 1, 0, 0, 0, 0, '');
INSERT INTO forum_posts VALUES (3, 3, 1, 1, 0, 0, 0, 0, '');
INSERT INTO forum_posts VALUES (4, 3, 1, 1, 0, 0, 0, 0, '');
INSERT INTO forum_posts VALUES (5, 2, 1, 1, 0, 0, 0, 0, '');


SQL-Query:[sql]SELECT thread_id, count( thread_id ) AS 'Anzahl Posts'
FROM forum_posts WHERE forum_id = 1
GROUP BY thread_id
ORDER BY thread_id DESC LIMIT 0, 30[/sql]

Ergebnis:
Code: (dl )
1
2
3
4
5
 
thread_id Anzahl Posts
3 2
2 1
0 2
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
steinwolf
 2005-01-04 01:37
#32809 #32809
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
das ist aber nicht was ich wollte!
ok, ich nehme jetzt dein beispiel:

post_id ist einfach nur der primärschlüssle für die nachricht, egal ob neuer Thread oder Antwort auf einen Thread.

und in deinem Beispiel das thread_id feld gibt nur an, dass wenn thread_id = post_id, die nachricht keine antwort ist, sondern, ein NEUER threead.
Wenn thread_id != post_id dann gibt thread_id die post_id des ausgangpostings an!

in deinem beispiel sagst du aber dass posting 0 zwei anzahl postings, also zwei antworten erhalten hat. Das stimmt aber nicht, denn post_id 0 existiert ja garnicht!!!

:rock:

bin ich jetzt der dumme oder du??
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
esskar
 2005-01-04 02:26
#32810 #32810
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
post_id ist doch einfach nur ein unique, dass gar nix mit deinen foren dirket zu tun hat (auto_increment); für dich ist doch nur thread_id und forum_id wichtig

hab das gefühl, du verstehst nicht genau, was du tust! :)
dann fast du alle thread_ids zusammen und fertig; wenn du das ganze dann nach post_id sortierst, hast du auch die reihenfolge in der sie rein kamen!
renee
 2005-01-04 08:52
#32811 #32811
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=steinwolf,04.01.2005, 00:37]in deinem beispiel sagst du aber dass posting 0 zwei anzahl postings, also zwei antworten erhalten hat. Das stimmt aber nicht, denn post_id 0 existiert ja garnicht!!![/quote]
nein, ich sage _nicht_, dass post_id 0 2 Antworten hat, sondern dass thread_id 0 2 Posts hat!

Und thread_id = 0 gibt es zwei mal (die ersten beiden INSERTs).

Um die Anzahl der Antworten zu bekommen musst Du halt von der Anzahl der Posts noch 1 abziehen...

Dann hast Du das, was Du haben wolltest:
steinwolf,02.01.2005,16:35
Dann weiß ich aber noch nicht, wieviel Antworten pro Thread eingegangen sind!!


Du kannst auch nicht davon ausgehen, dass ein neuer Thread anfängt, wenn post_id = thread_id, außer Du setzt thread_id dementsprechend (musst dann thread_id immer auf max(post_id)+auto_increment setzen).\n\n

<!--EDIT|renee|1104821556-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2004-01-02 16:43.