Author Topic: Array wird nicht ausgegeben  (Read 1353 times)

0 Members and 1 Guest are viewing this topic.

romacron

  • Guest
Array wird nicht ausgegeben
on: Tue, 12. December 2006 - 18:28:24
Hallo!

Ich möchte generell mit templates arbeiten. Bei der ersten array schleife hört der spass schon auf.

Ist freundlich wenn mir jemand sagen kann wo der Fehler liegt.

die php-Datei:

Code: [Select]
<?php  session_start();
 require_once(../cgi-bin/vlib/vlibTemplate.php); 
 
$tpl = new vlibTemplate(templates/zimmer_anfrage.htm);
$monate=array(Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember); 
$tage=array(1,2,3,4,5);

$loop=array($tage);
$loop=array($monate);
$tpl-> setLoop(this_loop,$loop);

$tpl-> pparse();
?>

Code: [Select]
<body><tmpl_loop name=this_loop>
<p>Tage: {tmpl_var name=tage}</p>
<p>Monate: {tmpl_var name=monate}</p>
</tmpl_loop>
</body>

Natürlich wird das nur ne Kleinigkeit sein, aber egal wie ich den Array angelegt hatte, bekam ich kein Ergebnis.
Danke und Gruß
Last Edit: Tue, 12. December 2006 - 22:51:26 by ClausVB

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: Array wird nicht ausgegeben
Reply #1 on: Tue, 12. December 2006 - 18:32:15
Das Array ist falsch aufgebaut und kein LOOP-Array.

Du musst verstehen, wie ein
LOOP-Array aufgebaut sein muss
und wie man mit
array_push()
arbeitet.

Ohne das, wirst Du es nicht hinbekommen.

Tipp: Benutze "print_r()" um die Struktur des Arrays anzuzeigen.

Gruß
Claus
Last Edit: Tue, 12. December 2006 - 18:35:18 by ClausVB

romacron

  • Guest
Re: Array wird nicht ausgegeben
Reply #2 on: Tue, 12. December 2006 - 19:25:46
Danke für Deine Mühe!

Es dämmert langsam, aber dauert sicher noch ein paar Tage.
Wenn ichs gefressen hab ist alles wieder im Grünen.


Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: Array wird nicht ausgegeben
Reply #3 on: Tue, 12. December 2006 - 22:51:13
Vielleicht noch ein Hinweis: Deine Arrays sind erstmal eindimensional. Wenn "$loop" in einen "array_push" einbindest (Dein $loop wird zweimal zugewiesen, was keinen Sinn macht), so wie es das Beispiel vorgibt, solltest Du keine Probleme haben die folgende Struktur hinzubekommen:

Code: [Select]
Array
   (
       [0] => Array
           (
               [u_id] => 1
               [u_name] => Claus
           )
       [1] => Array
           (
               [u_id] => 2
               [u_name] => Kelvin
           )
(...)

Wobei bei Dir "u_id" durch "tage" und "u_name" durch "monate" ersetzt werden muss.

Auf Grund Deines Coding Standards (oder dem Fehlen desselben) und der Doppelzuweisung von "$loop" nehme ich an, dass Du noch kein erfahrener PHP-Programmierer bist. Vielleicht solltest Du zuerst mit der
Template Engine nur mit PHP
anfangen, da Du hier keine Konventionen einhalten musst und Dir das praktisch erworbene Wissen auch für andere PHP-Fragen und Template Engines weiterhelfen wird.

Gruß
Claus

romacron

  • Guest
Re: Array wird nicht ausgegeben
Reply #4 on: Wed, 13. December 2006 - 00:01:12
Danke Claus!

Klarer Unfug von mir Die Arrays müssen mehrer Dimensionen haben.
Manchmal sitzt man vor und sieht den Wald vor lauter Bäumen nicht.
Nun hat es geklappt mit x hoch x arrays.
Dennoch werd ich mir die template engine von php mal ansehen.
Thema CS, ist richtig was Du sagst, wenn ich am "fummeln" bin werd ich einen Teufel tun das Ganze
aufzuhübschen.
Auf der Anderen Seite hat mein Gegenüber dann keinen Bock das zu lesen.
Fazit, werde mich bessern.

Gute Nacht

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: Array wird nicht ausgegeben
Reply #5 on: Mon, 18. December 2006 - 09:08:03
Quote from: romacron
Thema CS, ist richtig was Du sagst, wenn ich am "fummeln" bin werd ich einen Teufel tun das Ganze aufzuhübschen.

Dem kann ich nicht zustimmen. Gerade in der Entwicklungsphase hilft der Coding Standard Fehler zu sehen und zu finden.

Das ein PHP-Skript "nur läuft" reicht nicht. Und meiner Erfahrung nach wird ein funktionierendes Skript im Nachhinein erst recht nicht auf einen CS hin untersucht.


Quote from: Wikipedia
Ein weiterer wichtiger Punkt ist die hohe Qualität, die gemäß [Extreme Programming] im Gegensatz zu anderen Faktoren wie Ressourcen, Funktionsumfang oder Endtermin nicht diskutabel ist. Hiermit unterscheidet sich diese Grundeinstellung von vielen anderen Methoden der Softwareerstellung, bei denen Software zu einem bestimmten Zeitpunkt und in einem definierten Funktionsumfang fertiggestellt werden soll, worunter fast immer die Softwarequalität leidet. Gerade die Qualität ist allerdings sehr wichtig, um das Produkt einsatzfähig, fehlerfrei und erweiterbar zu halten. Software mit gutem Design, hoher Qualität ist mittelfristig kostengünstiger, erweiterbarer und weniger fehlerbehaftet als schnell erstellte sogenannte Frickelsoftware.
(Quelle: http://de.wikipedia.org/wiki/Extreme_Programming#Prinzipien)

Es gibt einige Beispiele (ich hatte letztens einen Hyperlink für ein gescheitertes Board-Projekt), wo PHP-Software-Projekte an unübersichtlichen Strukturen und schlechtem Code zugrunde gegangen sind.

Gruß
Claus
Last Edit: Mon, 18. December 2006 - 09:35:34 by ClausVB