Autor Zpráva
Andrew19
Profil
Měl bych takový problém mám tabulku která má tři sloupce a jeden řádek.Chci udělat to že do každé buňky se mi vypíše jedna hodnota z databáze a v té druhé buňce se bude pokračovat ve výpisu. Dejme tomu že mám databázi která má sloupec s názvem "jmeno" a má celkově tři řádky a já chci aby se mi tento sloupec postupně vypsal do těch tří daných buněk a né pod sebe jako když výpis vypadá asi nějak takhle : <?

$spojeni = mysql_connect("","","");
mysql_select_db('', $spojeni);
mysql_query("SET NAMES 'cp1250';");

$vysledek=mysql_query("select * from "" ORDER BY jmeno DESC");
while ($zaznam=mysql_fetch_array($vysledek) ):

"<table width=650 border=0 cellspacing=3 cellpadding=0>";
" <tr>";
"<td>".$zaznam["jmeno"]."</td>";
" <td>".$zaznam["jmeno"]."</td>";
"<td>".$zaznam["jmeno"]."</td>";
"</tr>";
"</table>";


když výpis je takto tak se mi vypíšou tři tabulky po třech sloupcích a v každé se bude opakovat jedno jméno.

Jak to udělat aby se vypsala jedna tabulka se třemi jmény?Předem děkuji za názory
Alphard
Profil
tabulku s řádkem musíte otevřít před cyklem, pak vypsat ty jména a za cyklem doplnit párové tagy
Andrew19
Profil
asi si zcela přesně nedokážu vybavit jak by to mělo vypadat můžete někdo naznačit?
Alphard
Profil
...
$vysledek=mysql_query("select * from "" ORDER BY jmeno DESC"); 

echo "<table width=650 border=0 cellspacing=3 cellpadding=0>"; 
echo " <tr>"; 

while ($zaznam=mysql_fetch_array($vysledek) )
  echo " <td>".$zaznam["jmeno"]."</td>"; 
echo "</tr>";
echo "</table>";
Andrew19
Profil
když to napíšu takhle tak se mi vypíše na první řádek jeden záznam a pak se na dále vypisují pod tuto tabulku hodnoty vedle sebe kolik se jich jen vejde na šíři stránky:-((( Proč se vypíše do tabulky jen jedna hodnota? Jak to udělat aby se do každé buňky vypisovali hodnoty po sobě a počet řádků by záležel na tom kolik je v databázi záznamů....
Alphard
Profil
vše by mělo být v jednom řádku
dejte sem celý kód a příklad, jak to má vypadat
Andrew19
Profil
To máte sice pravdu že by vše mělo být v jednom řádku ale já potřebuji aby to bylo sice v jednom řádku ale v tom jednom řádku aby se to postupně dalo do jedné buňky potom do druhé a pak do třetí atd....

kod: <?

$spojeni = mysql_connect("","","");
mysql_select_db('', $spojeni);
mysql_query("SET NAMES 'cp1250';");

$vysledek=mysql_query("select * from prodejna Where kategorie='BotyBezecke' ORDER BY cena DESC");

echo "<table width=650 border=1 cellpadding=0 cellspacing=3 bordercolor=#FF0000>";
echo " <tr>";

while ($zaznam=mysql_fetch_array($vysledek) ):
echo " <td>".$zaznam["nazev"]."</td>";
echo " <td>".$zaznam["nazev"]."</td>";
echo " <td>".$zaznam["nazev"]."</td>";
echo "</tr>";
echo "</table>";
endwhile;
?>&nbsp;


tak a výsledek by měl vypadat tak že : je tabulka o jednom řádku a třech sloupcích a když si odmyslíte to formátování jako ohraničení tabulky a jednotlivých buněk tak výsledek vypadá : 1.buňka BOTY XC 2.buňka BOTY XR 3.buňka BOTY RT nemá to být výpis do jedné buňky jako takto 1.buňka BOTY XR BOTY XC BOTY RT....
Andrew19
Profil
a ještě jde o to že když je více než tři položky tak se vypíše další tabulka pod tím stejným systémem.... prostě dokud budou záznamy odpovídat podmínkám
Alphard
Profil
zcela jste změnil můj kód a jeho základní myšlenku
dám vám sem jeden starší kód, také z této diskuse, pro výpis to tří sloupců, ten už snad zvládnete upravit
je úplný, takže než se pustíte do úprav doporučuji spustit v tomto stavu a popřemýšlet o tom, jak funguje (ale zase ne moc, konstrukce if(): a endif; jsou zastaralé)

$cisla = range (1, 120);
$p = 0;

  foreach ($cisla as $cislo):
  if (!($p++ % 3)):
    echo "<table>";
    echo " <tr>";
  endif;
  echo " <td>".$cislo."</td>";
  if ($p++ % 3 == 2):
    echo "</tr>";
    echo "</table>";
  endif;
  endforeach;

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0