habs rausgenommen, bleibt aber so...
Abfarge in Abfrage ??
Einklappen
X
-
-
doch, in der while-schleife war sie ja richtig drin.
aber warum überprüfst du ob $tmp true ist, wenn sie noch gar nicht gesetzt ist? das gibt erstens n notice und wird vielleicht in zukunft zu nen error führen.EDIT:
ich hab oben noch n edit gemacht.
Kommentar
-
also irgendwie check ich das nicht ganz...
Also die evals sollen Templates sein, ja... Ich lad das ganze ding mal hoch.
http://www.wiewowarum.net/test/
so siehts momentan aus... :\
Kommentar
-
ok, ich habs jetzt versucht so zu bauen, wie du es willst...
PHP-Code:$fragen = $db->query("SELECT A.ansid,Q.questid, Q.quest, A.answer, A.questid AS id FROM q_answers A LEFT JOIN q_quests Q USING(questid) ORDER BY Q.questid, A.ansid ASC");
while($row=$db->fetch_array($fragen))
{
$tmp = "";
eval ("\$ans .= \"".gettemplate("ansbit")."\";");
if($tmp != $row[questid])
{
eval ("\$main .= \"".gettemplate("questbit")."\";");
$tmp = $row[questid];
}
}
Kommentar
-
gib die sql-query mal in myadmin ein. Ich bin sicher, da wird ein anderes ergebnis sein. vermutlich macht dein "möchtegern-Template-System" da voll den murgs!
EDIT:
versteh das mit dem möchtegern nicht falsch. will dich damit nicht nieder machen. bin einfach der auffassung, dass alles, was nicht macht, was es soll, lediglich ein möchtegern ist.
Kommentar
-
hallo, hatte bis jetzt keine Zeit, weiterzuarbeiten.
Also ich habe die Query in phpmyadmin eingegeben, und ´folgendes kommt raus:
ansid | questid | quest | answer
======================
Es wurde also gut gejoined :\
Es werden jetzt pro Frage vier Datensätze angezeigt welche die vier unterschiedlichen Antworten enthalten. Also eigentlich das was man erwartet hat.
ok, mein möchtegern Template system, kommt glaub ich von tutorials.de
PHP-Code:function gettemplate($template,$endung="htm") {
$ordner="tpl";
return str_replace("\"","\\\"",implode("",file($ordner."/".$template.".".$endung)));
}
function dooutput($template) {
echo $template;
}
MfG Oli
EDIT:
hm, es werden ein paar backslashes nicht angezeigt, aber ist ja bekannt..
Kommentar
-
-
mal ein beispiel:
du hast eine var: antworten:
$antworten = 'erste';
$antworten.= 'zweite';
$antworten.= 'dritte';
$antworten.= 'vierte';
soweit ist alles okay. und wenn du $antworten ausgibst, werden auch alle vier angezeigt.
wenn du jetzt die antworten aus der nächsten frage anhängst, dann werden die ersten vier, + die nächsten vier ausgeben. also musst du $antworten vorher leeren.
Das ist dein Problem. Angenommen du hast deine "Template-Engine" verstanden, sollte das aber nicht schwer zu beheben sein.
Kommentar
-
nunja, ich habe die engine eigentlich schon verstanden, aber die Templates werden ja erst am ende des scriptes mit dooutput ausgegeben.
Also wenn ich den cache leere, dann wird ja gar ncihts ausgegeben, eben nur das was der cache am Ende enthält. Ich kann natürlich dynamische Vars machen, aber irgendwie... ich glaub mir reicht doch erstmal echo()...
Kommentar
Kommentar