Autor | Zpráva | ||
---|---|---|---|
David_ Profil * |
#1 · Zasláno: 4. 9. 2008, 21:04:29
Ahoj,
mám tabulku: Publikovat Název Hodnota Pořadí Povolit <checkbox> <text input> <text input> <text input> <checkbox> <td><input type="checkbox" name="publikovat[]" /></td> <td><input type="text" name="nazev[]" size="50" /></td> <td><input type="text" name="hodnota[]" size="50" /></td> <td><input type="text" name="poradi[]" size="3" /></td> <td><input type="checkbox" name="povolit[]" /></td> a potřebuju je zpracovat po řádcích v php, napsal jsem si teda na to nějaký script: $pocet = 0; foreach($d["nazev"] as $nazev) { $hodnota = $d["hodnota"][$pocet]; $poradi = $d["poradi"][$pocet]; $publikovat = $d["publikovat"][$pocet]; $povolit_aktualizace = $d["povolit_aktualizace"][$pocet]; $parametry[] = array ( 'nazev' => $parametr, 'parametr_publish' => $zobrazit, 'hodnota' => $hodnota, 'product_id' => $product_id, 'poradi' => $poradi, 'povolit_aktualizace' => $povolit_aktualizace ); } jenze problem je, ze kdyz dam pred tim cyklem foreach print_r($d["publikovat"]); tak mi to vypise: Array ( [0] => on ) i kdyz mnou vyplnena tabulka vypada takhle: <neoznacen> nazev1 hodnota1 1 <checked> <checked> nazev2 hodnota2 1 <checked> <neoznacen> nazev3 hodnota3 1 <checked> proste mi to da On jenom u tech, kde je checkbox oznacen, ale neda to Off tam, kde neni checkbox oznacen... Co s tím? |
||
trinitrochleba Profil * |
#2 · Zasláno: 5. 9. 2008, 09:21:47
"off" se neposila / neexistuje. Pokud neni nejakej checkbox oznacen, tak pak neposle NIC, zatimco kdyz je oznacen, posle to zminene "on"
|
||
David_ Profil * |
#3 · Zasláno: 5. 9. 2008, 15:04:13
no prave, tak jak se da udelat to zpracovavani tech udaju po radcich?
|
||
Alphard Profil |
#4 · Zasláno: 5. 9. 2008, 15:10:17
zdá se mi, ž do toho zbytečně motáte i pole, dal bych tam normální name
a potom $poradi = isset ($_POST['poradi']) ? $_POST['poradi'] : FALSE; |
||
David_ Profil * |
#5 · Zasláno: 6. 9. 2008, 17:47:41
poradi mi funguje, nefungovaly mi checkboxy - publikovat a povolit aktualizace, ale uz to mam, diky za snahu:
checkbox.cz // stranka s checkboxy: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> </head> <body> <form action="vysledek.php" method="post"> <table> <tr> <td>publikovat</td> <td>nazev</td> <td>hodnota</td> <td>poradi</td> </tr> <tr> <td><input type="checkbox" name="publikovat[]" value="0" /></td> <td><input type="text" name="nazev[]" size="50" /></td> <td><input type="text" name="hodnota[]" size="50" /></td> <td><input type="text" name="poradi[]" size="3" /></td> <td><input type="checkbox" name="povolit_aktualizace[]" value="0" /></td> </tr> <tr> <td><input type="checkbox" name="publikovat[]" value="1" /></td> <td><input type="text" name="nazev[]" size="50" /></td> <td><input type="text" name="hodnota[]" size="50" /></td> <td><input type="text" name="poradi[]" size="3" /></td> <td><input type="checkbox" name="povolit_aktualizace[]" value="1" /></td> </tr> <tr> <td><input type="checkbox" name="publikovat[]" value="2" /></td> <td><input type="text" name="nazev[]" size="50" /></td> <td><input type="text" name="hodnota[]" size="50" /></td> <td><input type="text" name="poradi[]" size="3" /></td> <td><input type="checkbox" name="povolit_aktualizace[]" value="2" /></td> </tr> </table> <input type="submit" value="Odeslat" /> </form> </body> </html> vysledek.php // stranka s vysledkem: <?php ini_set('display_error','On'); ini_set("max_execution_time", "3000000"); $product_id = 983; $d = $_POST; $parametry = array(); if(is_array($d["nazev"])) { $poradiArray = $d["poradi"]; $nazevArray = $d["nazev"]; $hodnotaArray = $d["hodnota"]; $publikovatArray = $d["publikovat"]; $povolit_aktualizaceArray = $d["povolit_aktualizace"]; $publikovane = array_values($d["publikovat"]); $aktualizace = array_values($d["povolit_aktualizace"]); $pocet = 0; foreach($d["nazev"] as $parametr) { $hodnota = $d["hodnota"][$pocet]; $poradi = $d["poradi"][$pocet]; if(in_array($pocet, $publikovane)) { $zobrazit = 1; } else { $zobrazit = 0; } if(in_array($pocet, $aktualizace)) { $povolit_aktualizace = 1; } else { $povolit_aktualizace = 0; } if((empty($hodnota)) AND (empty($parametr))) { continue; } $parametry[] = array ( 'nazev' => $parametr, 'parametr_publish' => $zobrazit, 'hodnota' => $hodnota, 'product_id' => $product_id, 'poradi' => $poradi, 'povolit_aktualizace' => $povolit_aktualizace ); $pocet++; } // print_r($parametry); echo "<table>\n"; echo "<tr><td>publikovat</td><td>nazev</td><td>hodnota</td><td>poradi</td>< td>povolit_aktualizace</td><td>product_id</td></tr>\n"; foreach($parametry as $parametr) { echo "<tr><td>".$parametr["parametr_publish"]."</td><td>".$parametr["nazev" ]."</td><td>".$parametr["hodnota"]."</td><td>".$parametr["poradi"]."</ td><td>".$parametr["povolit_aktualizace"]."</td><td>".$parametr["produ ct_id"]."</td></tr>\n"; } echo "</table>\n"; } ?> |
||
Časová prodleva: 16 let
|
0