Autor | Zpráva | ||
---|---|---|---|
jataky Profil |
#1 · Zasláno: 9. 11. 2014, 14:14:36
Zdravím,
mám takto naplněná pole. $pozdrav=array("ahoj","pa","cus"); $koho=array("Tom", "Karel", "Pavel","Standa"); $vse = array("1"=>"2","1"=>"3","1"=>"4","2"=>"2"); $pozdravkoho = (Array ( 1 => Array (1 => "Ahoj - Tom",3 => "Ahoj - Pavel",4 => "Ahoj Standa" ), 2 => Array ( 2 => "Pa - Karl" ,3 => "pa - Pavel" ), 3 => Array ( 1 => "Cus - Tom" ,4 => "cus - Standa" ))); ... a chtěl bych z toho dostat tento tvar tabulky: ------------------------------------------------------------ | |ahoj |pa |cus | ------------------------------------------------------------ |Tom |ahoj - Tom | |cus - tom | ------------------------------------------------------------ |Karl | |pa - Karl | | ------------------------------------------------------------ |Pavel |Ahoj -Pavel |pa - Pavel | | ------------------------------------------------------------ |Standa |Ahoj Standa | |cus -standa | ------------------------------------------------------------ echo "<table><th></th>"; for ($q=0 ; $q< count($pozdrav) ; $q++){ echo "<th>".$pozdrav[$q]."</th>";} for ($w=0 ; $w< count($koho) ; $w++){ echo "<tr><td>".$koho[$w]."</td>"; foreach ($pozdravkoho as $pozdrav1 => $po) if ($q=$pozdrav1){ foreach ($po as $datuj => $da) if ($w=$datuj){ echo "<td>".$pozdravkoho[$q][$w]."</td>"; }echo "</tr>";} } echo "</table>\n"; ... ale někde mám chybu. Nevypíše mi to do tvaru výše tabulky. |
||
WertriK Profil |
#2 · Zasláno: 9. 11. 2014, 21:34:59
Poradím ti jak bych na to šel já, ale kód psát nebudu, už jsem na to starý.
První řádek je jen výpis pole pozdravů. To uděláš jedním foreachem. Další řádky jsou dle jmen. Takže další foreach, kde procházíš jména, na začátku otevřeš řádek <tr> na konci ho ukončíš </tr>. Mezi tím dáš další foreach, kde budeš procházet opět ty pozdravy. Podle indexů těch dvou cyklů budeš kontrolovat existenci hodnoty v poli "pozdravkoho" a podle toho vypíšeš prázdnou buňku nebo buňku s hodnotou z pole. |
||
jataky Profil |
WertriK:
... pořád mám někde chybu. echo "<table><th></th>\n \r"; for ($q=0 ; $q< count($pozdrav) ; $q++){ echo "<th>".$pozdrav[$q]."</th>\n \r";}//dopsaný řádek foreach ($koho as $idkoho => $kdo){ echo "<tr><td>".$kdo."</td>"; foreach ($pozdrav as $idpozdrav =>$nazev ){ if (isset($pozdravkoho[$idpozdrav][$idkoho])){ echo "<td>".$pozdravkoho[$idpozdrav][$idkoho]."</td>\n";} else {echo"<td>není záznam</td>";}} echo "</tr>\n \r";} echo "</table>"; |
||
jataky Profil |
#4 · Zasláno: 11. 11. 2014, 16:04:10
jataky:
... už je to OK. Problém byl v číslování v polích. |
||
Časová prodleva: 9 let
|
0