Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 5. 6. 2006, 19:55:01
Ahoj, jsem zacatecnik v php a potrebuji poradit, jak tento zapis nize uvedeny zapsat takovym zpusobem, aby byl php a html kod oddeleny od sebe. Dekuji vsem za pripadnou pomoc.
<? $result = mysql_query("select * from kategorie order by name"); while ($row = mysql_fetch_array($result)): echo "<table>"; echo "<tr>"; echo "<td>"; echo "» "; echo "<a href='index.php?id="; echo $row["id"]; echo "'>"; echo $row["name"]; echo "</tr>"; echo "</td>"; echo "</table>"; endwhile; ?> |
||
WanTo Profil |
#2 · Zasláno: 5. 6. 2006, 19:55:52
|
||
mila Profil |
#3 · Zasláno: 5. 6. 2006, 20:26:20
Pokud na to chceš jít od lesa, tak musíš používat nějaký šablonovací systém.
Často je to ale zbytečné a začátečníku bych to nedoporučoval. Pokud jde o ten tvůj kus kódu, může ho zkusit něco jako: printf ('<tr><td>»<a href="index.php?id=%d">%s</tr></td>',$row["id"], $row["name"] ); |
||
Casero Profil |
#4 · Zasláno: 5. 6. 2006, 20:33:34
Anonymní
prostě jednoduše...části řetězců mužes svázat tečkou takže echo "<table>"; echo "<tr>"; je stejné echo "<table>"."<tr>"; |
||
llook Profil |
#5 · Zasláno: 5. 6. 2006, 20:50:00
Já bych to udělal nějak takhle:
<?phpOmezovat se můžu i bez šablonovacího systému, stačí trocha sebekázně. |
||
Anonymní Profil * |
#6 · Zasláno: 5. 6. 2006, 22:22:06
Dekuji vsem za pomoc a prednostne moc dekuji llook, protoze tohle jsem prave chtel. :o)
|
||
finc Profil |
#7 · Zasláno: 6. 6. 2006, 16:27:05
Osobne si myslím, že to co použil llook není úplně ideální.
Doporučuji si zkusit napsat vlastní třídu na tabulku. Když se nad tím zamyslíte, tak zjistíte, že tabulku pořád vypisujete stejným způsobem. Jsou tam maximálně odlišnosti v počtu řádku či jiného stylování. Navíc když budete vážně šikovný, tak se vám nakonec může podařit to, že jednu třídu budete volat pro vytvoření struktury tabulky a druhou pro export do XLS, apod. Př.: <?php $table = new Table(); $headers = array(); $data = array(); $headers[0][0]["text"] = "Prvni sloupec"; $headers[0][0]["align"] = "center"; $headers[0][0]["background"] = Barva::cervena(); // zde je pouzita napr dalsi trida pro vraceni cisla preddefinovane barvy $headers[0][1]["text"] = "Druhy sloupec"; $query = "SELECT * FROM tabulka"; if ($result = parent::mysqli()->query($query)) { $i = 0; while($row = $result->fetch_assoc()) { $i++; $data[$i][0]["text"] = $row["nazev"]; $data[$i][1]["text"] = $row["popis"]; } } $table->createTable($headers, $data); // zobrazeni tabulky $table->zobrazHtmlTable(); ?> Dalo by se pokračovat dál, co všechno je možné, záleží na požadavcích a fantazii programátora. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0