php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.02.2006, 22:44  
Erfahrener Benutzer
 
Registriert seit: 07.06.2005
Beiträge: 274
imported_kremser
Standard template mit funktion einlesen

hey!

kann mir wer sagen was an dieser funktion falsch ist?

PHP-Code:
function func($template)
{
  
$tags_to_replace   = array("%title%","%text%");
  
$replace_tags_with = array($row->title,$row->text);
    
  
$template 'templates/item.tpl'//steht nur zum testen drinnen
  
$fop fopen ($template,"r");
  
$data fread($fop,filesize($template));

  
$data =  str_replace($tags_to_replace,$replace_tags_with,$data);
  
fclose ($fop);
  echo 
$data;

fehlermeldung bekomm ich keine... das template wird dann zwar angezeigt aber die zeichen werden nicht ersetzt..

aufgerufen wird das ganze dann da:

PHP-Code:
  while($row mysql_fetch_object($ergebnis))
    {
    echo 
func('templates/item.tpl');
  } 
das template sieht so aus:

Code:
<table class=item>
  <tr><td class=itemhead>%title%</td></tr>
  <tr><td class=itemmain><p align=justify>%text%</p></td></tr>
</table>
lg kremser
imported_kremser ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.02.2006, 22:46  
Erfahrener Benutzer
 
Registriert seit: 07.06.2005
Beiträge: 274
imported_kremser
Standard

falls es bei euch auch nicht richtig angezeigt wird, hier nochmal die codes!

funktion:
Code:
function func($template)
{
  $tags_to_replace   = array("%title%","%text%");
  $replace_tags_with = array($row->title,$row->text);
	
  $template = 'templates/item.tpl'; //steht nur zum testen drinnen
  $fop = fopen ($template,"r");
  $data = fread($fop,filesize($template));

  $data =  str_replace($tags_to_replace,$replace_tags_with,$data);
  fclose ($fop);
  echo $data;
}
funktion aufrufen:
Code:
  while($row = mysql_fetch_object($ergebnis))
	{
    echo func('templates/item.tpl');
  }
template:
Code:
<table class=item>
  <tr><td class=itemhead>%title%</td></tr>
  <tr><td class=itemmain><p align=justify>%text%</p></td></tr>
</table>
imported_kremser ist offline  
Alt 02.02.2006, 22:58  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Du könntest eigentlich auch einfach deinen alten Beitrag ändern!

PHP-Code:
<?php
  
while($row mysql_fetch_object($ergebnis))
   {
    echo 
func('templates/item.tpl'); // das echo ist wohl unnötig wenn es in der Funktion schon ausgegeben wird!
  
}
?>
Probier mal das echo zu lassen und in der Funktion statt dem Echo return !
__________________
Der G-Translator
Simon9990 ist offline  
Alt 02.02.2006, 23:07  
Erfahrener Benutzer
 
Registriert seit: 07.06.2005
Beiträge: 274
imported_kremser
Standard

also jetzt sieht mein script so aus - funktioniert aber immer noch nicht :/

PHP-Code:
<?php
function func($template)
{
  
$tags_to_replace   = array("%title%","%text%");
  
$replace_tags_with = array($row->title,$row->text);
    
  
$fop fopen ($template,"r");
  
$data fread($fop,filesize($template));

  
$data =  str_replace($tags_to_replace,$replace_tags_with,$data);
  
fclose ($fop);
  return 
$data;
}

    
$abfrage "SELECT title, text FROM news ORDER BY id DESC LIMIT 5";
    
$ergebnis mysql_query($abfrage);
    while(
$row mysql_fetch_object($ergebnis))
    {
    echo 
func('templates/item.tpl');
  }
?>
imported_kremser ist offline  
Alt 02.02.2006, 23:14  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Hast du Text und Titel geslashed!
Villeicht ist ja da irgendetwas drinn was das replacen "stört"
__________________
Der G-Translator
Simon9990 ist offline  
Alt 02.02.2006, 23:19  
Erfahrener Benutzer
 
Registriert seit: 07.06.2005
Beiträge: 274
imported_kremser
Standard

hm was versteht man unter slashen?
trim()?

naja der titel ist jedenfalls "title" und der text ist "text" ohne anführungszeichen halt
imported_kremser ist offline  
Alt 02.02.2006, 23:24  
Gast
 
Beiträge: n/a
Standard

$row kennt deine funktion nicht - musst du als parameter mit übergeben.
 
Alt 02.02.2006, 23:32  
Erfahrener Benutzer
 
Registriert seit: 07.06.2005
Beiträge: 274
imported_kremser
Standard

und wie mach ich das am besten?

ich bring es nicht zusammen :/

so etwa?
PHP-Code:
<?php
function func($template$row->title$row->text)
?>
wenn ja.. so gehts auch nicht :/
imported_kremser ist offline  
Alt 02.02.2006, 23:41  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Code:
<?php
function func($template, $row)
{
  $tags_to_replace   = array("%title%","%text%");
  $replace_tags_with = array($row['title'],$row['text']);
    
  $fop = fopen ($template,"r");
  $data = fread($fop,filesize($template));

  $data =  str_replace($tags_to_replace,$replace_tags_with,$data);
  fclose ($fop);
  return $data;
}

    $abfrage = "SELECT title, text FROM news ORDER BY id DESC LIMIT 5";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_array($ergebnis))
    {
    echo func('templates/item.tpl', $row);
  }
?>
probier mal das!
__________________
Der G-Translator
Simon9990 ist offline  
Alt 02.02.2006, 23:42  
Gast
 
Beiträge: n/a
Standard

nein, nur function func($template, $row)
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Mehrere Variabelen mit global in Funktion einlesen DerTschmi PHP Tipps 2006 8 22.03.2006 21:27
template in template einfuegen tonne PHP Tipps 2005-2 8 10.11.2005 22:24
frage zu template einlesen malaga PHP Tipps 2007 2 05.11.2005 11:37
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
funktion mit template? Creativ PHP Tipps 2004-2 4 28.11.2004 11:51
[Erledigt] Template Parser PHP-Fortgeschrittene 9 06.10.2004 23:04
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php funktion aufrufen aus tpl, php funktionen einlesen, php function template array { }

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.