| 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: 15 let
|
|||
0
).