NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Checkbox a výpis

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
oggymotslp
Člen
Avatar
oggymotslp:24.9.2016 11:26

Ahoj,
mám výpis uživatelů s jejich tokeny, a u každého mám checkbox.

echo('<tr><td>' . $clanek['id'] . '</td><td>' . $clanek['username'] . '</td><td>' . $clanek['jmeno'] . ' ' . $clanek['prijmeni'] . '</td><td>' . $clanek['token'] . '</td><td><input name="' . $clanek['id'] . '" value="' . $clanek['token'] . '" type="checkbox"></td></tr>');

Celé to mám v formuláři metodě POST. Jak mám udělat to, když uživatel vybere pomocí toho checkboxu nějaké možnosti třeba (A, B a D), tak to od každé té možnosti vypíše její token? A vše do jednoho řádku pouze s mezerou, třeba ; ?

Děkuji všem :)

Odpovědět
24.9.2016 11:26
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
gorri
Člen
Avatar
Odpovídá na oggymotslp
gorri:29.9.2016 21:23

Zkus to nějak rozvézt. Nejsem sice v PHP nějak extra borec ale nechápu oč přesně jde.

Nahoru Odpovědět
29.9.2016 21:23
Když vím, tak poradím. Nikdo neví všechno :-)
Avatar
roverjedla
Člen
Avatar
roverjedla:29.9.2016 21:31
$clanek['prijmeni'];

Vypisuješ příjmení článku?? Nerozumím tomu proč je to takto pojmenované...

 
Nahoru Odpovědět
29.9.2016 21:31
Avatar
oggymotslp
Člen
Avatar
Odpovídá na roverjedla
oggymotslp:4.10.2016 15:47

Pojmenování neřeš. Jde o to, že to je takto:

foreach ($clanky as $clanek)
{



        echo('<tr><td>' . $clanek['id'] . '</td><td>' . $clanek['username'] . '</td><td>' . $clanek['jmeno'] . ' ' . $clanek['prijmeni'] . '</td><td>' . $clanek['token'] . '</td><td><input type="checkbox"></td></tr>');

}

A potřebuji vybrat pouze ty, kteří jsou označeni checkboxem.

Nahoru Odpovědět
4.10.2016 15:47
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Michal
Člen
Avatar
Odpovídá na oggymotslp
Michal:4.10.2016 16:16

Šlo by to třeba tak, že by si všem checkboxům dal stejné name (např. vybrane[]). Důležité jsou ty závorky. Ty totiž říkají, že ve výsledném $_POST můžou být hodnoty i více než jednoho checkboxu.

<form method="POST">
   <table>

<?php
$clanky = [...];
foreach ($clanky as $clanek) {
   echo '<tr><td>' . $clanek['id'] . '</td><td>' . $clanek['username'] . '</td><td>' . $clanek['jmeno'] . ' ' . $clanek['prijmeni'] . '</td><td>' . $clanek['token'] . '</td><td><input name="vybrane[]" value="' . $clanek['token'] . '" type="checkbox"></td></tr>';
}
?>

   </table>
   <input type="submit" value="Filtrovat">
</form>

<?php
// Pokud byl formulář odeslán, vypíšou se tokeny všech vybraných položek oddělené středníkem.
if (isset($_POST['vybrane'])) {
   echo implode(';', $_POST['vybrane']);
}
?>
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
4.10.2016 16:16
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.