ugrás a tartalomhoz

Táblázat generálás

hunge · 2007. Feb. 21. (Sze), 14.09
Sziasztok!
nem ismertek olyan univerzális PHP kódot/osztályt ami egy tömbből olvassa ki az értékeket és abból táblázatot generál?
Valami olyasmire gondoltam mint ami a PHPMyAdminba van ahol megírok egy lekérdezést és ő kiírja nekem az eredményeket.
Valamint azt is kellene tudnia hogy az egyes értékek helyére linkeket/ikonokat vagy adott érték helyére a tömb 1 másik elemének az értékét lehessen tenni.

példa társitásos tömb:

tomb[kulcs1][$i]
tomb[kulcs2][$i]
tomb[kulcs3][$i]
tomb[kulcs4][$i]
tomb[kulcs5][$i]

példa kimenet első sor:
<tr>
<td>tomb[kulcs1][$i]<td> <td>tomb[kulcs2][$i]<td> <td><a href='link.html' ><img src="kep.gif"></a> <td> <td>tomb[kulcs1][$i],tomb[kulcs4][$i]<td> <td>tomb[kulcs5][$i]<td>
</tr>

<tr>
<td>tomb[kulcs1][$i+1]<td> <td>tomb[kulcs2][$i+1]<td>....
</tr>

etc.
Egy kisméretű belső web alapú alkalmazáshoz kellene.(Minimal designu dokumentumkezelő, határidő figyelmeztető prg amit egy rokonnak dobtam össze)

Ahol viszonylag sok több táblás lekérdezést kell írni és elég unalmas mindig megcsinálni a kimenet formázását a táblázatot. Addig eljutottam, hogy a lekérdezést feltudom bontani és kiszedem belőle az oszlopok nevét és elrakom egy tömb-be. De a megjelenítés sok óra vesződés ellenére is elég buggos.

Lehet hogy egy ilyen univerzális lekérdezés megjelenítőt nem php tömbökkel kellene megcsinálni hanem máshogy például: nézet táblákkal???
Csak azt nem tudom hogy lehet e olyat hogy a nézet tábla x. eleme több tábla értékeit tartalmazzák. Lásd 4. <td>kulcs1 érték, kulcs4 érték </td>elem.

Viszont ha ez járható út akkor, ez esetben ha megvan a kívánt tábla azt már pofon egyszerűen foreach-el kilehetne iratni...

Szóval összefoglalva az itt leírtakat:
1 Ismer e a valaki jó táblázat generáló kódot amivel a fent leírtak megoldhatóak.
2 Ha nem akkor jó e/ megvalósítható e a nézettáblás fejtegetés?
3 Ha ezek egyike se követendő akkor mi a megoldás?

Köszönök szépen minden segítséget.
 
1

Minek kód?

janoszen · 2007. Feb. 21. (Sze), 14.14
Ez egy tök egyszerű végigléptetés.

echo("<table>\n");
foreach ($tablamatrix as $sor)
{
 echo("<tr>\n");
 foreach($sor as $cella)
 {
  echo("<td>" . $cella . "</td>\n");
 }
 echo("</tr>\n");
}
echo("</table>");
2

...

hunge · 2007. Feb. 21. (Sze), 16.09
A jelenlegi megoldásnak is ez az alapja de az a baj vele, hogy: ha pl nem olyan sorrendben akarom kiiratni az eredményt ahogy az a tombe van mondjuk azt szeretném hogy a harmadik sor kerüljön legelőre akkor a lap generálásánál többször vannak apró hibák.Ilyen az hogy a linkekhez néha rossz hivatkozás kerül vagy nem kerül, összetartozó dolgok nincsenek együtt /egysorban.

Azt elfelejtettem az előbb említeni, hogy a helyszet egy picit bonyolultabb annál amit leírtam mivel tábla megjelenítő oldalhoz tartozik egy legördülő menű ahol kilehet választani a rendezettséget. Működése (sql: ORDER BY után kerül az itt kiválasztott paraméter) Illetve a lapozás ahol a találatok között lehet navigálni. (sql: LIMIT $tol $ig)

De ezek szerint -ha jól értem- azt javaslod, hogy próbáljak rendet tenni a tömböknél és akkor jó lesz.
Egyébként meg köszi a gyors reagálást.
3

Rendezés vs component

janoszen · 2007. Feb. 21. (Sze), 16.30
Első megoldás, hogy kirajzolás előtt rendezed az adataidat... a szervered terhére.

A második, hogy valamilyen JS komponenst használsz... a felhasználó terhére. Keress a neten, van egy rakás. Nem túl bonyolult találni.