Autor | Zpráva | ||
---|---|---|---|
viktor Profil * |
Ahoj, mám problém se smarty, chci pomocí něj vypsat hodnoty z tabulky ale ať dělám co dělám nevypisuje mi to nic. Přitom když vytvořím například proměnou $a="peklo"; a pak já smrz smarty vypíšu, tak není problém. To co tu nefunguje je výpis dat z databáze. Projekt1.php vypadá takto:
<?php require('C:\PHPWebServer\http_docs\Smarty/Smarty.class.php'); $smarty = new Smarty(); $smarty->setTemplateDir('C:\PHPWebServer\http_docs\Smarty\templates'); $smarty->setCompileDir('C:\PHPWebServer\http_docs\Smarty\templates_c'); $smarty->setCacheDir('C:\PHPWebServer\http_docs\Smarty\cache'); $smarty->setConfigDir('C:\PHPWebServer\http_docs\Smarty\configs'); $spojeni = mysqli_connect ('localhost', 'root','lokomotiva', 'harmonika', 3306 ); if ($spojeni) echo "Spojení navázáno" ; else { echo "Spojen9 se nepodařilo"; echo "<br>"; echo mysqli_connect_error(); } $vysledek = mysqli_query($spojeni, 'SELECT nazev,typ,vyrobce,cena, ID_akordeonu FROM seznam_harmonik'); if (!$vysledek){ echo "Smůla"; } $radek = mysqli_fetch_array($vysledek); $smarty->assign('radek', $radek); $smarty->display('projetk1.tpl'); if ($spojeni) mysqli_close($spojeni); a projekt1.tpl takto: <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title>Akordeony</title> </head> <body> <form action="projekt1_connect.PHP" name="Přidej harmoniku" method="post"> Název:<input type="text" name="nazev"> Typ:<input type="text" name="typ"> Výrobce:<input type="text" name="vyrobce"> Cena:<input type="text" name="cena"> ID:<input type="text" name="ID_akordeonu"> <input type="submit" value="Odeslat data"> </FORM> <span style="position: absolute; top: 200px; left: 1100px"><img src="choma.jpg" width="400" height="600"></span> <span style="position: absolute; top: 400px; left: 50px"><img src="choma.jpg" width="200" height="300"></span> {foreach from="$radek" item="radek"} <tr> <td>{$radek.nazev}</td> <td>{$radek.typ}</td> <td>{$radek.vyrobce}</td> <td>{$radek.cena}</td> <td>{$radek.ID_akordeonu}</td> </tr> {/foreach} <form action="projetk1_mazani.php" name="mazani" method="POST"> Zadej id akordeonu kterého chceš smazat:<input type="text" name="id"> <input type="submit" value="Smaž"> </FORM> <form action="projetk1_uprava.php" name="mazani" method="POST"> Zadej id akordeonu kterého chceš upravit:<input type="text" name="id"> Zadejte nová data u tohoto akordeonu <br>Název:<input type="text" name="nazev"> Typ:<input type="text" name="typ"> Výrobce:<input type="text" name="vyrobce"> Cena:<input type="text" name="cena"> ID:<input type="text" name="ID_akordeonu"> <input type="submit" value="Uprav"> </body> </html> ////// proměné v tpl jsou sice v ciklu, ale zkoušel jsem je vypsat i všelijak jinak a nikdy mi to data z pole $radek nevrátilo, přitom ty data tam jsou, pokud je vypíšu smrz php tak není problém. A jak už jsme říkal pokud vypíšu skrz smarty třeba proménou $a="nebe"; tak jí to vypíše bez problému, nechápu tedy kde je problém, dík za radu. Moderátor Alphard: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Alphard Profil |
#2 · Zasláno: 16. 4. 2011, 11:23:19
V PHP to vypisujete přes stejně sestavený
foreach() ?
|
||
viktor Profil * |
#3 · Zasláno: 16. 4. 2011, 11:26:50
V PHP přes echo a v echu je tabulka
|
||
Alphard Profil |
#4 · Zasláno: 16. 4. 2011, 11:30:38
O echo mi nejde, problém by mohl být v tom, že v $radek je fakt jen první řádek a ne všechna data. Já jsem ale přímo s mysqli strašně dlouho nepracoval, tak si nejsem jistý. Viz http://cz.php.net/manual/en/mysqli-result.fetch-array.php#95881.
|
||
viktor Profil * |
#5 · Zasláno: 16. 4. 2011, 11:34:50
Takto to vypisuju v php
while ($radek = mysqli_fetch_array($vysledek)){ echo "<table rules=all frame=border>"; echo '<tr><td>', $radek['nazev'], '</td>'; echo '<td> ', $radek['typ'], '</td>'; echo '<td> ', $radek['vyrobce'], '</td>'; echo '<td> ', $radek['cena'], '</td>'; echo '<td> ', $radek['ID_akordeonu'], '</tr></td>'; echo "</table>"; V smarty to nic nevypíše ani pokud napíšu čistě jen {$radek} {$radek.nazev} |
||
Lamicz Profil |
#6 · Zasláno: 16. 4. 2011, 13:46:25 · Upravil/a: Lamicz
$arr = array(); $i = 0; while($row = mysql_fetch_assoc($this->res)){ foreach($row as $key => $val){ $arr[$i][$key] = $val; } $i++; } return $arr; |
||
Časová prodleva: 13 let
|
0