Wie liest man SQL-Daten aus einer Tabelle aus?

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von seemann1965 »

Hallo,
wie kann ich aus der Datenbank einen Wert auslesen und in einer *.php ausgeben?
In meinem Fall aus der Tabelle lexicon den Rows-Wert im Moment 176.
In der php-Datei möchte ich gerne einfügen: "Es sind "Rows-Wert" Einträge vorhanden."

[ externes Bild ]

Gruß seemann

Edit: Hallo Mahony, hatte Probleme beim Absenden, war keine Vorsatz.
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
Benutzeravatar
Balint
Mitglied
Beiträge: 1815
Registriert: 25.01.2003 21:43
Wohnort: Stuttgart
Kontaktdaten:

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von Balint »

Hallo,

hilft dir das weiter?

http://php-faq.de/q-mysql-zugriff.html

Viele Grüße,
Bálint
Meine MODs für phpBB 2.x und phpBB 3.x!
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von seemann1965 »

Hallo Balint,
sieht erstmal gefährlich aus, aber könnte mir schon helfen, habe glaub schon was gefunden, werde es mal ausprobieren, in der Hoffnung es hinzubekommen.
Danke!

Gruß seemann
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von Dr.Death »

Hi,

das könnte dann ggf. so aussehen: ( Ersetze LEXICON_TABLE mit der korrekten Constante ... )

Code: Alles auswählen

		$sql = 'SELECT *
			FROM ' . LEXICON_TABLE ;
		$result = $db->sql_query($sql);

		$count = mysql_num_rows($result);
Nachteil: Das Script funktioniert nur bei MySQL Datenbanken und bei keiner anderen.

Besser ist in diesem Fall dies hier:

Code: Alles auswählen

		$sql = 'SELECT COUNT(id) AS count
			FROM ' . LEXICON_TABLE ;
		$result = $db->sql_query($sql);
		
		$count = 0;

		while ($row = $db->sql_fetchrow($result))
		{
			++$count;
		}
		$db->sql_freeresult($result);
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von seemann1965 »

Hallo Doc,
erst einmal danke für deine Hilfe, leider klappt es nicht so wie ich es will.
Die DB bringt nur Fehler und meckert über die 3 Zeile in deinem Code.

Code: Alles auswählen

      $sql = 'SELECT COUNT(id) AS count
         FROM ' . LEXICON_TABLE ;
      $result = $db->sql_query($sql);
      
      $count = 0;

      while ($row = $db->sql_fetchrow($result))
      {
         ++$count;
      }
      $db->sql_freeresult($result);
Würde mich über weitere Hilfe freuen.
Ist doch nicht so einfach wie ichs mir vorgestellt habe. :oops:

Gruß seemann
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von Dr.Death »

Naja, Du nennst uns nicht die genaue Fehlermeldung.... die lautet wie?

Außerdem hab ich nur angenommen, das die betroffene Konstante für Deine Lexicon Tabelle LEXICON_TABLE heißt.
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von seemann1965 »

Hallo Doc,
hab den Fehler mal angehangen. Die Tabelle ist phpbb_lexicon, müsste eigentlich stimmen.
Hab den Code in root lexicon.php eingefügt müsste doch auch stimmen, oder?

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Unknown column 'id' in 'field list' [1054]

SQL

SELECT COUNT(id) AS count FROM phpbb_lexicon

BACKTRACE


FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: lexicon.php
LINE: 22
CALL: dbal_mysqli->sql_query()
Hab das alles in xampp getestet und probiert, ist also nicht online.

Gruß seemann
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von Dr.Death »

Hmpf.... ich dachte Du erkennst anhand der Fehlermeldung den eigentlichen Fehler.

Da ich nicht weiss, welche Struktur Deine LEXICON_TABLE hat, kann ich auch nicht wissen, ob es ein Feld " id" gibt...da hatte ich nur geraten und einen Beispiel Code erstellt.

Schaue mal per phpmyadmin in die Struktur der Lexicon Tabelle nach, wie das ID Feld richtig heisst und passe den Beispiel Code an


Das ist die betroffene Stelle im Beispiel Code, welche auf das eigentliche Datenbankfeld zielt:
COUNT(id)
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von seemann1965 »

Hallo Doc,
jetzt geht es ohne Fehlermeldung, aber wie kann ich jetzt diesen nicht sichtbaren Wert in der Template anzeigen?
Die Zeile in der Template-Datei soll sein "Es sind {COUNT} Einträge vorhanden", aber dazu muss doch im Code das 'COUNT' => ???? stehen? :oops:

Code: Alles auswählen

      $sql = 'SELECT COUNT(term_id) AS count
         FROM ' . LEXICON_TABLE ;
      $result = $db->sql_query($sql);
      
      $count = 0;

      while ($row = $db->sql_fetchrow($result))
      {
	   ++$count;
      }
      $db->sql_freeresult($result);
Danke nochmals für deien Hilfe.

Gruß seemann
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
wolfman24
Mitglied
Beiträge: 892
Registriert: 25.09.2005 13:17

Re: Wie liest man SQL-Daten aus einer Tabelle aus?

Beitrag von wolfman24 »

Nach dem

Code: Alles auswählen

$db->sql_freeresult($result);
enthält die Variable $count die Anzahl

Code: Alles auswählen

'Es sind ' . $count . ' Einträge vorhanden'
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“