Smarty und Db result

hallo Leute ich will daten die ich aus einer db lese via template (smarty) auslesen nur kommt da immer ein blöder fehler:

zu nächst mal der code:

PHP:

$query=„select * from dbo_Infolehrer where Lv_ID=“.$lehrerid.";";
$database->setQuery($query);
$rows=$database->loadObjectList();
$lehrer[]=$rows[0];
print_r($lehrer);
$smarty = new Smarty;
$smarty->assign(‚lehrer‘, $lehrer);
$smarty->display(’…/templates/intranet3/lehrerdatenanzeigen.tpl’);

TEMPLATE:

{section name=row loop=$lehrer}
{$lehrer[row].Lv_Nr}

Fehlermeldung:
Fatal error: Cannot use object of type stdClass as array in templates_c/%%7D^7DE^7DE9774E%%lehrerdatenanzeigen.tpl.php on line 44

kannn mir jemand sagen voran das liegt oder was ich ändern muss!
irgendwie dürfte er ein problem mit dem objekt haben aber ich bin total planlos wäre net wenn mir wär helfen könnt!

lg kathi

Problem

mit LoadObjectList bekommst du kein array sondern ein objekt.

Also hol es richtig ab damit es auch ein array ist.

while($row = mysql_fetch_object($result))

Hier ist $row ein Objekt (kein Array)

while($row = mysql_fetch_array($result))

Hier ist $row ein Array und kann dann auch so benutzt werden.

Also Probier es mal mit
$lehrer = array („wichtig“, „pigelig“ , „nurdoof“);
Wei ich glaub du übergibst da die werte falsch, so das es eben kein array ist.

$rows=$database->loadObjectList();
$lehrer[]=$rows[0];
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

noch mal hilfe nötig :smile:
Hello gibt es nicht auch eine möglichkeit im template das objekt zu verarbeiten vl mit -> oder so!
das mit deinem while funktioniert nicht da kommt wieder eine fehlermeldung
mysql_fetch_object(): supplied argument is not a valid MySQL result resource

vl steh ich ja auch total auf der leitung *gg*

lehrerid=$_GET[‚lehrer‘];
$lehrer = array();
$query=„select * from dbo_Infolehrer where Lv_ID=“.$lehrerid.";";
$database->setQuery($query);
$rows=$database->loadObjectList();
while($row = mysql_fetch_object($result))
$smarty = new Smarty;
$smarty->assign(‚lehrer‘, $row);
$smarty->display(’…/templates/intranet3/lehrerdatenanzeigen.tpl’);

jedenfalls funkts so auch net

ersuch mal

 $sql = ' select \* from dbo\_Infolehrer where Lv\_ID=".$lehrerid ";";
 $database-\>setQuery( $sql );
 $rows = $database-\>loadObjectList();
 $nrs = 0;
 foreach ( $rows as $row ) {

 foreach ( $row as $detail=\>$element ) {
 $daten[$detail]=$element;
 }
 $lehrer[$nrs]=$daten;
 ++$nrs;
 }
 }
$smarty = new Smarty;
$smarty-\>assign('lehrer', $lehrer); 
$smarty-\>display('../templates/intranet3/lehrerdatenanzeigen.tpl');

da ich kein mambo hab immoment , weiss ich nicht was das array nun wirklich liefert bei objekt.

Beim nächsten versuch sollten wir aber dann auch bald die Lösung haben.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

versuche einmal

TEMPLATE:

{section name=row loop=$lehrer}

{$lehrer[row]->Lv_Nr}

oder

{$row->Lv_Nr}

(bin mir nicht mehr sicher, wie das section war…)

Alexander

danke schön so funkts!

lg kathi

danke schön so funkts!

lg kathi

Freu :smile: und das ohne es testen zu können
(ich klopf mir meine schulter)