SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #31  
Alt 04.08.2003, 14:48:40
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ich weiß ja jetzt nicht, wie Du Deine Tabellen aufgebaut hast, aber das Folgende hilft Dir vielleicht trotzdem. Die Abfrage sollte innerhalb der while-Schleife ausgeführt werden:
Wenn Du eine ID hast, die angibt, welche ID den Thread eröffnet hat: SELECT COUNT(parent_id) AS counter FROM tabelle WHERE parent_id=$pid
Damit hast Du die Anzahl Posts, die auf den Eröffnungsthread verweisen.

Mir fällt gerade ein, dass das noch gar nicht Deine Frage war. :)
Auf der Startseite machst Du eine ähnliche Abfrage, mit der Du ermittelst, wie viele Posts auf die ID des Forums verweisen: SELECT COUNT(forum_id) FROM tabelle WHERE forum_id=$fid


Hilft das schon?
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #32  
Alt 04.08.2003, 17:03:53
Aichbus Aichbus ist offline
Anfänger
 
Registriert seit: Jun 2003
Ort: Köln
Beiträge: 41
Danke c4. Das Ergebnis der Abfrage SELECT COUNT(thread_id) AS counter ... ist eine Resource ID. Wie kriege ich das dann noch als Zahl?
Mit Zitat antworten
  #33  
Alt 04.08.2003, 18:25:19
Aichbus Aichbus ist offline
Anfänger
 
Registriert seit: Jun 2003
Ort: Köln
Beiträge: 41
SELECT COUNT

ok, mein SELECT COUNT-Problem habe ich jetzt selber so gelöst:

$answers = @mysql_query("SELECT COUNT(thread_id) AS counter FROM hbforum_posts WHERE thread_id = $tid");
$c = mysql_fetch_array($answers);
$count = $c[0] - 1;

Geht das wirklich nur so kompliziert?

Doch jetzt zu meiner nächsten Frage:

Ich möchte in meiner Auflistung aller Threads ja eigentlich nur die Eröffnungsthreads auflisten.

Meine Datenbankstruktur für die Postings ist wie von c4 ein paar Beiträge weiter vorne vorgeschlagen. Das heißt: Nur der Eröffnungsbeitrag bekommt eine neue Threadnummer, die Antworten bekommen dieselbe Threadnummer. Von allen Beiträgen mit derselben Threadnummer ist der Eröffnungsbeitrag also derjenige, der am ältesten ist. Wie kann ich das denn schon im ersten SELECT-Befehl formulieren?

Danke für eure Hilfe!

Gruß
Michael
Mit Zitat antworten
  #34  
Alt 04.08.2003, 21:34:58
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
$answers = @mysql_query("SELECT COUNT(thread_id) AS counter FROM hbforum_posts WHERE thread_id = $tid");
$c = mysql_fetch_array($answers);
$count = $c[0] - 1;

Geht das wirklich nur so kompliziert?
Ja. Gibt noch andere Schreibweisen, aber am Ablauf ändert sich nix.

Zitat:
Ich möchte in meiner Auflistung aller Threads ja eigentlich nur die Eröffnungsthreads auflisten.
Vielleicht klappt oder hilft das:
SELECT MIN(timestamp) AS zeit, title, thread_id
FROM tabelle
GROUP BY title, thread_id
Sieht irgendwie falsch aus, aber Du machst das schon richtig. :)




PS: Urlaub, ich komme!! :)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #35  
Alt 04.08.2003, 21:55:55
Aichbus Aichbus ist offline
Anfänger
 
Registriert seit: Jun 2003
Ort: Köln
Beiträge: 41
Hi c4!

Danke für deine Antwort! Werd es mal ausprobieren.

Na dann wünsche ich dir einen schönen Urlaub!

Gruß
Michael

PS: Wann bist du zurück ??? *ggg*
Mit Zitat antworten
  #36  
Alt 08.08.2003, 16:31:07
Aichbus Aichbus ist offline
Anfänger
 
Registriert seit: Jun 2003
Ort: Köln
Beiträge: 41
Suche in Beiträgen

Hallo zusammen, c4 ist zwar in Urlaub, aber vielleicht kann mir ja jemand anders helfen:

Ich habe also alle Beiträge in einer Tabelle und zwar egal, ob es sich um Eröffnungsbeiträge handelt oder um Antworten.

Jetzt möchte ich mit einer SQL-Abfrage alle Beiträge und Titel nach einem Suchbegriff durchsuchen. Allerdings möchte ich nur das Thema des Threads als Suchergebnis präsentieren. Und dieses Thema ist ja nur im Erföffnungs-Beitrag gespeichert, welcher aber nicht zwangsläufig der Beitrag ist, den den Suchbegriff enthält.

Um den Eröffnungsbeitrag zu erkennen, habe ich ein Feld aufgenommen: opener = 1 ist der Eröffnungsbeitrag, opener = 0 ist eine Antwort.

Bisher habe ich das hier:

$result = @mysql_query("SELECT title, username, thread_id FROM hbforum_posts, hbforum_users WHERE uid=hbforum_users.id AND content LIKE '%$searchtext%' ORDER BY created DESC");


Das zeigt alle Beiträge an, die den Suchbegriff im Text enthalten.

Ich brauche aber etwas in der Art:

Suche einen Beitrag, der den Suchbegriff enthält. Schaue nach, welchem Thread er angehört. Zeige das Thema des Threads, aber nur einmal. Auch dann nur einmal, wenn der Suchbegriff mehrmals in einem oder mehreren Beiträgen desselben Threads gefunden wurde.

Kann mir jemand helfen?

Vielen Dank im Voraus!

Gruß
Michael
Mit Zitat antworten
  #37  
Alt 11.08.2003, 19:23:59
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Moin,

bin mal kurz zu Hause. :)

Das wirst Du mit 2 Abfragen machen dürfen. Eine, die ermittelt, in welchen Threads was gefunden wurde und eine, in der Du den Titel des ersten Postings des Threads ausliest.

Hast Du aber inzwischen vermutlich selber schon anders oder ähnlich geschafft.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #38  
Alt 11.08.2003, 21:09:51
Aichbus Aichbus ist offline
Anfänger
 
Registriert seit: Jun 2003
Ort: Köln
Beiträge: 41
Hi c4,

stimmt, ich habe es zwischenzeitlich geschafft, aber auch nur mit Abfragen und ich dachte, das wäre stümperhaft, aber wenn du das auch so machen würdest, bin ich beruhigt.


und ...

HAAALT, HIERGEBLIEBEN! ;-)

Wenn du noch dran bist:

In der Themenübersicht eines Forums werden die Threadtitel ausgegeben, sortiert wird aber nach dem Erstelldatum des neusten Beitrags.

Geht das auch nur mit 2 Abfragen oder kriegt man es in einer hin?

Danke und schönen Urlaub weiterhin ...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:02:06 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt