Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 07.11.06, 20:50
jop jop ist offline
Forum Newbie
 
Registriert seit: 29.09.06
Ort: Baar
Beiträge: 28

Daten aus Datenbank lesen


Hallo

Ich habe mir eine eigene Extension erstellt. Man kann via Formular einige Daten in eine neue Tabelle (der Datenbank) schreiben. Das klappt.

beim auslesen habe ich probleme. anstelle der daten im "content" darzustellen, schreibts mir die ausgelesenen infos zuoberst in die page - sprich quelltext sieht so aus: "ausgelesene Daten" <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>.... etc.

wie bringe ich die daten nun ins eigentliche "content"?

in der datei pi1/class.tx_bl64_pi1.php steht folgendes:
Code:
class tx_bl64_pi1 extends tslib_pibase {
	var $prefixId = 'tx_bl64_pi1';		// Same as class name
	var $scriptRelPath = 'pi1/class.tx_bl64_pi1.php';	// Path to this script relative to the extension dir.
	var $extKey = 'bl64';	// The extension key.
	var $pi_checkCHash = TRUE;
	
	/**
	 * The main method of the PlugIn
	 *
	 * @param	string		$content: The PlugIn content
	 * @param	array		$conf: The PlugIn configuration
	 * @return	The content that is displayed on the website
	 */
	function main($content,$conf)	{
		$this->conf=$conf;
		$this->pi_setPiVarDefaults();
		$this->pi_loadLL();
		$content="";
		
		$query = "SELECT * FROM tx_tabelle_main";
		$result = mysql(TYPO3_db,$query);
		if (mysql_error())  debug(array(mysql_error(),$query));
		while ($row = mysql_fetch_row ($result))
		   {
		      echo $row[10] . " - ";
		      echo $row[11] . " - ";
		      echo $row[12] . " - ";
		      echo $row[13] . " - ";
		      echo $row[14] . " - ";
		      echo $row[15] . " - ";
		      echo $row[16] . "<br />";
		   }
		      		      
		return content;
	}
}
ich vermute hier liegt der "hund" begraben...

besten dank jetzt schon für alle tips!
gruss
patrick
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 16.11.06, 02:07
Benutzerbild von david
TYPO3 Forum Team
Moderator
 
Registriert seit: 17.07.06
Ort: München
Beiträge: 770
david eine Nachricht über Skype™ schicken

Poste mal Dein Typoscript. Die Extension scheint ja zu funktionieren, Sieht eher nach einem Template-Problem aus.
__________________
Viele Grüße
David

TYPO3 4.1.6 | Win XP | Apache 2.0.52 | MySQL 4.0.23 | PHP 5.0.3

David Bruchmann - Mediengestaltung
www.bruchmann-web.de
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 16.11.06, 21:29
jop jop ist offline
Forum Newbie
 
Registriert seit: 29.09.06
Ort: Baar
Beiträge: 28

Hallo

So, hab noch ein wenig herumgebastelt und neuerdings funktionierts... weiss zwar nicht warum, aber es klappt...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 16.11.06, 21:32
Benutzerbild von david
TYPO3 Forum Team
Moderator
 
Registriert seit: 17.07.06
Ort: München
Beiträge: 770
david eine Nachricht über Skype™ schicken

Hallo Jop,

sagst Du uns, was Du gemacht hast?

Ich schätze Du hast folgendes geändert:
Code:
{
		      echo $row[10] . " - ";
		      echo $row[11] . " - ";
		      echo $row[12] . " - ";
		      echo $row[13] . " - ";
		      echo $row[14] . " - ";
		      echo $row[15] . " - ";
		      echo $row[16] . "<br />";
		   }
zu
Code:
{
      content .= $row[10] . " - ";
      content .= $row[11] . " - ";
      content .= $row[12] . " - ";
      content .= $row[13] . " - ";
      content .= $row[14] . " - ";
      content .= $row[15] . " - ";
      content .= $row[16] . "<br />";
   }
Sorry, hab ich vorher nicht gesehen.
Echo-Ausgaben werden abgearbeitet während das Skript gelesen wird. Werte in der Variable $content werden erst ausgegeben, wenn alle notwendigen Dateien gelesen wurden das Template interpretiert wurde. Ausserdem wird $content im Template-Zusammenhang abgearbeitet und nicht einfach ausgegeben.

Aber Deine Lösung interessiert trotzdem.
__________________
Viele Grüße
David

TYPO3 4.1.6 | Win XP | Apache 2.0.52 | MySQL 4.0.23 | PHP 5.0.3

David Bruchmann - Mediengestaltung
www.bruchmann-web.de

Geändert von david (16.11.06 um 21:49 Uhr).
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 16.11.06, 21:55
jop jop ist offline
Forum Newbie
 
Registriert seit: 29.09.06
Ort: Baar
Beiträge: 28

also, an dieser datei lags nicht. auch nicht am template.

was ich als "typo3-neuling" nicht gewusst habe, war, dass man nach jedem mal ändern der datei im ordner der extension unter Extension Manager |Backup/Delete noch auf Update EM_CONF klicken und auch der FE-Cache löschen muss... als ich mal auf diese details dank einem buch kam, hab ich den alten quellcode genommen und es funktionierte...

viele grüsse
patrick
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 16.11.06, 22:12
Benutzerbild von david
TYPO3 Forum Team
Moderator
 
Registriert seit: 17.07.06
Ort: München
Beiträge: 770
david eine Nachricht über Skype™ schicken

Hallo jop,

Danke, aber diese Schlussfolgerung teile ich nicht, auch weil ich Deinen Beitrag http://www.typo3forum.net/forum/52079-post1.html (als tabelle darstellen) gelesen habe.
Dort sammelst Du die Inhalte wie ich schon gesagt habe in der Variable $content. Ausserdem ersetzt Du Marker durch Inhalte.


Auch wenn Dein eigenes Skript vielleicht nicht ganz verstehst, ist Dein anderer Beitrag ein sehr gutes und knappes Beispiel, wie Inhalte in Extensions verarbeitet werden können.
__________________
Viele Grüße
David

TYPO3 4.1.6 | Win XP | Apache 2.0.52 | MySQL 4.0.23 | PHP 5.0.3

David Bruchmann - Mediengestaltung
www.bruchmann-web.de
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 17.11.06, 09:02
jop jop ist offline
Forum Newbie
 
Registriert seit: 29.09.06
Ort: Baar
Beiträge: 28

hallo david

das script hab ich zum grössten teil aus dem buch typo3 und typoscript aus dem hanser verlag... bei meiner variante, welche ich gesagt habe, es funktioniert, ist einfach die darstellung unschön - aber es holt die daten... bei meiner frage, als tabelle darstellen stehe ich wieder an - das script funktioniert leider auch nicht 1:1 aus dem buch übernommen. wobei ich denke, dass wieder irgendwo im template was falsch gemacht wurde...

gruss
patrick
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #8  
Alt 17.11.06, 10:39
Forum Freak
 
Registriert seit: 27.02.05
Alter: 21
Beiträge: 527
Spyker eine Nachricht über ICQ schicken

Hallo hier mal ein paar Tipps,


Code:
$query = "SELECT * FROM tx_tabelle_main";
Tipp 1: Hierfür ist GLOBALS TYPO§_DB zuständig, damit die Extension auch kompatibel ist, gibt es extra diese Wrapper Klasse für die Datenbank.

Tipp 2: es erhöht die Performance wenn du nur die Felder wählst die du auch brauchst. Wenn du jetzt sagst "ich brauche all" dann denke auch dadran das die DB mal ergänzt werden kann und dann evtl. Felder ausgelesen werden die von diesem Script gar nicht gebraucht werden

Code:
$result = mysql(TYPO3_db,$query);
		if (mysql_error())  debug(array(mysql_error(),$query));
		while ($row = mysql_fetch_row ($result))
dementsprechend gibt es hierfür auch TYPO3 DB Funktionen



Code:
      echo $row[10] . " - ";
		      echo $row[11] . " - ";
		      echo $row[12] . " - ";
		      echo $row[13] . " - ";
		      echo $row[14] . " - ";
		      echo $row[15] . " - ";
		      echo $row[16] . "<br />";
Tipp 1: greife niemals mit integer auf die Felder zu sondern immer mit MYSQL_ASSOC, also mit dem namen der Zeile. Weil wenn du z.B. eine neue Spalte einfügst die nicht am ende ist sondern mitten drin, dann verschieben sich die Felder um dem entsprechend viele Positionen.

Tipp 2: Strings würde ich in PHP immer mit ' anstatt " machen, weil Strings mit ' nicht nocheinmal durch dem Parser laufen, und dementsprechend das Script beschleunigen (bei so einem 10 Zeile ist das noch nicht wild)


Wollte ich nur mal nieder schreiben, in der Hoffnung das Extension im Online TER (egal welche) eine höhere Qualität bekommen.

Beste,
Tim
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #9  
Alt 17.11.06, 12:51
Benutzerbild von mstuebner
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.09.04
Ort: 84424 Isen b. Dorfen
Alter: 41
Beiträge: 2.215
mstuebner eine Nachricht über Skype™ schicken

Zitat:
Zitat von jop Beitrag anzeigen
also, an dieser datei lags nicht. auch nicht am template.
Schwer zu glauben und wenn doch, dann Zufall.

Ausgaben einer Extensionen haben IMMER und AUSSCHLIESSLICH über die Varialbe $content und zwar per $content .= ccc ausgegeben zu werden (und nicht evtl. $content = ccc). Ansonsten geht Dein Output an TYPO3 komlett vorbei und landet IRGENDWO.
__________________
mfg Matthias

TYPO3-Consultant -- TYPO3 Entwicklung
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme Tabellen aus Datenbank lesen Major_Tom Extension modifizieren oder neu erstellen 6 18.05.08 18:45
Rücksetzung der Daten nach Serverneustart - SQL Datenbank auf Stand vor 2 Monaten pyrogerl TYPO3 4.x Fragen und Probleme 3 02.12.07 00:33
Daten aus Datenbank darstellen Benexvi TYPO3 4.x Fragen und Probleme 1 05.01.07 10:16
Lesen aus einer externen Datenbank elathan TYPO3 4.x Fragen und Probleme 2 25.10.06 18:05


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0