Hallo liebe Forengemeinde,
Hintergrund:
ich bin neu hier und programmiere PHP erst seid 2 Wochen. Zurzeit befinde ich mich im Praktikum bei meiner Firma die mich ab dem 15.09 als Azubi übernimmt.
Zurzeit versuche ich meine Kentnisse mit kleinen Übungen zu festigen.
Nun mein Problem:
Einmal der Code:
__________________________________________________________________
include_once 'news_db.php';
include_once 'act_datetime.php';
$query = "select * from $tablename ";
$result = mysql_db_query ($dbname,$query, $link);
$row = mysql_fetch_array($result);
//Array leeren
$newArr = array();
//MYSQL_ASSOC gibt nur die assoziativen Arrays aus
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$newArr[] = $row;
}
$smarty->assign('resArr', $newArr);
$smarty->assign('act_date',$date);
$smarty->display('templates/newsticker_front.tpl');
____________________________________________________________________
Hier seht ihr meine DB abfrage. Das funktioniert soweit auch. Daten wie timestamp und die Datenbankinformationen hole ich per include von anderen dateien.
Am ende übergebe ich die ausgabe an mein template.
Nun mein Template:
________________________________________________________________
<table border="1" align="center" valign="top">
<h1 align="center"> Newsticker</h1>
<tr>
<td colspan=1> Aktuelles Datum:</td><td colspan=1>{$act_date}</td>
</tr>
<tr>
<td colspan=2> </td>
</tr>
{foreach $resArr as $arr}
<tr>
<td>{print_r($arr['message'])}</td>
<td>{print_r($arr['date'])}</td>
</tr>
{/foreach}
</table>
______________________________________________________________________
Hier übergebe ich das Array meiner schleife die dann eine tabelle erstellt. Funktioniert auch.
Nun kommt der Fehler, in den Tabellen steht nach der ausgabe immer eine 1 hintendran. Egal ob in der Tabelle für die "message" oder für das "date".
In der Datenbank sind die einträge sauber.
Gebe ich zum testzweck ein eintrag aus, kommt ebenfalls keine 1.
Meine Vermutung: Liegt es vll an der print_r ausgabe? das die "1" ein "true" bedeutet? Wenn ja, gibt es einen anderen befehl der mir eine solche ausgabe richtig ausgibt? mit echo wird es meines wissens nicht gehen..
Leider gehen mir die Ideen aus. Ich hoffe auf eure Hilfe. Bitte schreibt aber nicht nur die Lösung hin falls euch eine einfällt sondern erklärt diese zum nachvollziehen (ich will ja was dabei lernen ).
Kleine Info noch: Das Template ist mit HTML und Smarty template engine aufgebaut. Deshalb wird der foreach befehl in den geschweiften klammern geschrieben.
Danke schonmal Vorab!
lg