Anzahl Bilder auslesen ??

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

Anzahl Bilder auslesen ??

Beitrag von Red-Benz »

Hi ihr lieben

Mal ne Frage

Wie kann ich aus der Datenbank auslesen wie oft die Endung .jpg in Beiträgen vorkommt ??

Ich habs damit versucht geht aber nicht

Code: Alles auswählen

case 'bildcount':
	$sql = "SELECT SUM(post_text) AS total_bilds 
		FROM " . POSTS_TEXT_TABLE . " 
		WHERE post_text = '" . "jpg" . "'";
              break;
Wo liegt der Fehler ? ich würde gerne auswerten wie viele Bilder insgesamt in Beiträgen sind.

Gruß

Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Versuchs mal mit LIKE statt =
KB:knigge
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Dürfte dann immer noch in die Hose gehn.. vonwegen SUM(post_text)

post_text + post_text = ? :-?

Was soll sich da summieren? Wenn, dann COUNT(post_text)
und selbst das zählt X mal .jpg in einem Post nur als 1
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Red-Benz »

Hi

Bei mir bleibt das irgendwie immer auf NULL egal wie ich das änder......

Hat dafür jemand ne Lösung um das auszulesen, ich komme damit irgendwie nicht klar.

Danke

Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Code: Alles auswählen

$sql = "SELECT COUNT(1) AS total_bilds FROM " . POSTS_TEXT_TABLE . " WHERE `post_text` LIKE '%.jpg%'";
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Red-Benz »

Super !!

Immerhin wird nun schon mal was angezeigt.........
So wird ausgewertet in wievielen Beiträgen jpg vorkommt, ist auch schon was, Danke soweit !

Aber wie kann man das umsetzen das er die Gesamtzahl jpg erkennt, müßte doch auch irgendwie gehen.

Noch jemand ne Idee ????????


Gruß
Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

Red-Benz hat geschrieben:Aber wie kann man das umsetzen das er die Gesamtzahl jpg erkennt, müßte doch auch irgendwie gehen.
Darauf hatte ja easygo bereits hingewiesen
easygo hat geschrieben:Wenn, dann COUNT(post_text)
und selbst das zählt X mal .jpg in einem Post nur als 1
Ich bin nicht der SQL-Experte, aber ich fürchte, das wirst du nicht über einen SELECT herausfinden.
Vielmehr müsstest du wohl die gesamte Tabelle auslesen, und dann in jedem Posttext die Anzahl der .jpg-Stellen zählen und das komplett aufsummieren.

Ich fürchte allerdings, das dies bei einem halbwegs grossen phpBB eine ganze Weile dauern wird. :roll:

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Benutzeravatar
Red-Benz
Mitglied
Beiträge: 265
Registriert: 17.03.2006 23:05
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Red-Benz »

Hi

Die Frage ist ja nicht wie lange das auswerten dauert sondern wie es geht !

Ich verwende unter anderem den Word Counter und da dauert das aktualisieren bei über 6000 Beiträgen ca. 2 Sek, da wird ja auch der komplette Text ausgewertet.

Und beim Upload Pic Mod wird im ACP auch angezeigt wer wie viele Bilder verwendet nur habe ich da nicht rausbekommen woher er die Daten nimmt, aber scheinbar auch aus der POSTS_TEXT_TABLE.

Gehen muß es irgendwie, nur wie ist die Frage.
Wenn ich mir vorgenommen habe etwas in mein Forum einzubauen knacke ich da solange dran rum bis es geht................

Gruß
Red Benz
Hilfe, ich brauche mehr Steuern, ich habe noch Geld !

http://www.tuning-crew-nord.com
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Probier es hiermit: Klick
der Suchstring wird mit dem Paramter str=<string> in der URL übergeben. Du musst als Admin angemeldet sein.

Bsp.: http://www.deinforum.de/count_str.php?str=.jpg
Zuletzt geändert von Miriam am 08.02.2007 16:26, insgesamt 1-mal geändert.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

@Miriam: Das sieht auf den ersten Blick gut aus 8)

Trotzdem habe ich da etwas Bauchweh ...
In der Schleife würde ich nicht die post_text-Strings zu einem Gesamtstring zusammenkleben, sondern eher die Ergebnisse des substr_count für jede einzelne Zeile der Ergebnissmenge ermitteln, und dann diese Zahl weitersummieren. Also eher so:

Code: Alles auswählen

		$treffer = 0;
		while ($row = $db->sql_fetchrow($result))
		{
			$post_text = $row['post_text'];
			$post_text = strtolower($post_text);
			$treffer = $treffer + substr_count($post_text, $str);
		}

Im konkreten Fall, bei ca. 6000 Posts könnte deine Version noch klappen, aber bei richtig vielen Beiträgen gibt es wohl irgendwann ein Speicherplatzproblem, wenn alle Beitragstexte eines Boards in einem Textstring zusammengefasst werden :roll:

Bei richtig grossen Boards müsste man das wohl noch in der Art von KB:bigdump lösen, so dass sich das Skript in regelmässigen abständen selbst aufruft und das zwischenergebniss übergibt.

My 2 cents,
Manne.

EDIT: Was natürlich gar nicht gut aussieht, ist die Tatsache, dass keinerlei Validation für den übergebenen Suchstring stattfindet :-?
Das ist eine massive Sicherheitslücke.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Antworten

Zurück zu „Coding & Technik“