Jetzt kostenlos Anmelden!


googlehupf

postet ab und an hier

1

Mittwoch, 2. Juni 2010, 21:18

Würde mir jemand ein kleines script schreiben?

Hallo,

ich benötige für meine Datenbank ein kleines php-script, das die Top 5 Datenbankposter mit Postinganzahl ausgibt. Es sollen alle user (bis auf einen bestimmten ) dabei berücksichtigt werden.

Würde mich freuen wenn jemand mir helfen könnte.

Schönes WE!
  • Zum Seitenanfang
  • Zum Seitenende

Superkater13439 Männlich

1.6.1 Groupie

Beiträge: 1 361

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.1

2

Mittwoch, 2. Juni 2010, 21:41

Nicht das ich dir da unbedingt helfen könnte, aber ich denke mal mit deinen Angaben kann es keiner.
Meinst du, dass da nicht ein paar Info von Nöten wären?

Geht es um das phpkit?
Wenn ja welche Version?

Zitat

Datenbankposter

Was ist mit diesem Wort gemeint?
Forenpostings, Kommentare oder was soll ausgelesen werden?
Sollte es nicht um das Kit geht, da du ja hier im Webforum gepostet hast, dann wären auch noch Info zu der DB wichtig.

LG
Kater
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

3

Mittwoch, 2. Juni 2010, 22:40

Sorry für meine Pauschalität.

Es soll eine Datei sein, die auf der Startseite des Kits angezeigt werden soll. Die Datenbank (genauer gesagt die Datenbanktabelle) als solche hat aber mit dem Kit als solches genau genommen nichts zu tun. (teilt sich aber die gleiche sql-Datenbank mit dem Kit)

User Die ins phpkit eingeloggt sind können in diese Datenbank Einträge machen, dabei wird der u. a. auch der username aus dem phpkit mit in die besagt Datenbanktabelle eingetragen.

Jetzt soll lediglich eine Top 5 Auswertung erfolgen, welche user wieviele Einträge haben, die besten 5 sollen angezeigt werden. (außer die Einträge des users xyz)

Hoffe es ist etwas klarer geworden...
  • Zum Seitenanfang
  • Zum Seitenende

maXus Männlich

Grafik Künstler

Beiträge: 1 092

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.03

4

Donnerstag, 3. Juni 2010, 09:50

Leider nein. Könnte die den passenden Code ja geben, jedoch weiß ich nicht, wie die "tabelle", noch weiß ich wie die Zellen heißen, noch weiß ich um welchen User (XYZ) bzw. dessen ID es sich handelt. So kann ich dir also leider nicht helfen. Wenn es ums PHPKIT gehen würde, dafür gibt es bereits eine Navigationsbox, die die besten TOPX Poster raus sucht. Ansonsten ist dein Wunsch kein problem, musst nur mit mehr Infos raus rücken :)

Also:
- Welcher User soll nicht auftauchen? Wenne ien ID vorhanden ist, besser die ID statt des namens nennen!
- Wie heißt die Tabelle der Datenbank?
- Welche Informationen, also Tabellenspalten sollen ausgelesen werden? Brauche die Namen.

Reicht dir die Abfrage und den Rest machst du selber?
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

5

Donnerstag, 3. Juni 2010, 12:00

Hallo maxus,

die Tabelle heißt "qrgdb". Die User haben leider keine ID, sondern werden lediglich als "Zusatzinformation" eingetragen. Die ID ist vergeben für die einzelnen Datensätze.

Der ungewollte "user" heißt "eibi2010", Einträge von diesem user sollen nicht mit berücksichtigt und angezeigt werden.

Ausgelesen werden soll lediglich die Spalte "user".

Die Ausgabe sollte in etwa so aussehen:

Rang user Einträge
1 xy0815 6453
2 as4711 4653
3 blabla 996
usw.

Sag bescheid wenn du noch mehr Infos brauchst!

Nachtrag: In der Vorschau sah die Tabelle oben schöner aus ;)
  • Zum Seitenanfang
  • Zum Seitenende

maXus Männlich

Grafik Künstler

Beiträge: 1 092

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.03

6

Freitag, 4. Juni 2010, 09:51

Die Datenbankabfrage würde wir folgt aussehen:

MySQL-Abfrage(n)

1
2
3
4
5
6
7
8
9
10
11
12
SELECT 
      user AS name,
      count(user) AS anzahl
FROM 
      qrgdb
WHERE 
      user != 'eibi2010'
GROUP BY
      mailing_id
ORDER BY
      anzahl DESC
LIMIT 5


Kleiner Tipp, man sollte eher die User ID speichern, statt des namens, wenn die Tabellen eh in der gleichen Datenbank liegen. Das spart Platz, ist schneller erzeugt keine doppelten Werte und die Namen bekommt man aus den anderen Tabellen her. Auch wenn ein User seinen Benutzernamen ändern würde, würde deine Statistik nicht mehr funktionieren, außer du änderst den Namen dann auch in deiner Tabelle, was bei der UserID kein Problem wäre. User sollte man immer als Nummer behandeln. Klingt wie im Knast, ist jedoch das beste :)

Da du mir den Spaltennamen für die Anzahl der Einträge nicht verraten hast, müsstest du diesen noch nachtragen. Ob du nur die Abfrage möchtest, oder gleich ein kleines PHP Script, welches das so ausgibt, wie du es brauchst, hast du leider auch nicht gesagt.
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

7

Freitag, 4. Juni 2010, 12:49

Hallo maxus,

für die Anzahl der Einträge gibt es keinen Spaltennamen in der sql tabelle, es soll in der tabelle gezählt werden, wie viele Tabelleinträge die user gemacht haben.
  • Zum Seitenanfang
  • Zum Seitenende

maXus Männlich

Grafik Künstler

Beiträge: 1 092

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.03

8

Freitag, 4. Juni 2010, 16:02

Habe die Anfrage oben editiert! Brauchst nach der Abfrage dann nur noch die Werte name und anzahl in einer Tabelle ausgeben.
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

9

Freitag, 4. Juni 2010, 17:00

dankeschön. Wie mache ich das? Bekomme nämlich einen "unexpected T-String", wenn ich deine Abfrage in eine php Datei mit einbaue...
  • Zum Seitenanfang
  • Zum Seitenende

maXus Männlich

Grafik Künstler

Beiträge: 1 092

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.03

10

Montag, 7. Juni 2010, 10:17

Naja was hast du denn genau gemacht? In der Fehlermeldung wird ja eine Nummer mit ausgegeben. Meist sitzt der Fehler dann eien zeile vorher.
  • Zum Seitenanfang
  • Zum Seitenende