Autor Zpráva
quad
Profil *
public function get_category($id)

    {

    // Vybereme kategorii podle $id

    $sql = "SELECT * FROM kategorie WHERE id=$id";

    // Provedeme příkaz sql a uložíme jako zdroj

    $resource  = mysql_query($sql);

    // Z výsledku(zdroje) získáme objekty s daty

    while($col = mysql_fetch_object($resource))

        {

           print "<input type='text' value='$col->kat' name='values[]'>";

        }

        // Pokud klikneme na tlačítko Uložit změny

        if(isset($_POST['save']))

        {

            $array = $_POST['values'];

            if(is_array($array)) {

            foreach($array as $key => $value) {

            $sql="UPDATE kategorie SET kat='$value' WHERE id='$id'";   }

            }

            print $sql.'<br>';

            mysql_query($sql);

        }

    }

kdyz dam $this->get_category(1); $this->get_category(2); s nejakymi hodnotami pak je vysledek prikazu pro hodnoty pavel, jakub > UPDATE kategorie SET kat='jakub' WHERE id='1'; UPDATE kategorie SET kat='jakub' WHERE id='2'; ale to mi samozrejme ulozi 2x jakub, jak docilit toho, aby se mi ulozili obe hodnoty? ://
Kajman
Profil
Na řádku 19. asi bude lepší dát identifikaci primárního klíče do hranatých závorek.

Řádky 39 a 41 patří dovnitř foreach, jinak v proměnné $sql bude jen poslední stav.

A vstupy od uživatele máte náchylné na sql injection.
quad
Profil *
tomu nerozumím je to v hranatých závorkách
Kajman
Profil
Takhe v $_POST['values'] bude pole se dvěma jmény, ale nebudete vědět, které patří ke kterému id.

Lépe se Vám to bude zpracovávat, když si to v html označíte.

print "<input type='text' value='".htmlspecialchars($col->kat)."' name='values[{$col->id}]'>";
quad
Profil *
já vím, ale já potřebuji mít ta dvě jména různá :( tedy ke každému id jiné, a hledám chybu proč to nejde


vypisuje mi to totiž dvě stejná jména, ale nápad s hran.závorkou vítám


potrebuji updatovat ty dve kategorie, ale hodnoty ktere zapisu do inputu se mi ulozi do db obe stejne :(
Kajman
Profil
V tom foreach pak budete mít naplněné $key, které můžete použít ve where místo $id.
quad
Profil *
ja potrebuji proste predat hodnotu toho inputu, nejprve vypsat z db do input a pote co uzivatel prepise, tu prepsanou ulozit


v tom $key jsou ale stejná ta id
Kajman
Profil
quad:
v tom $key jsou ale stejná ta id

Nejsou - po té úpravě budou v $key správná id k těm názvům.
quad
Profil *
už to funguje, ale píše to Notice: Undefined index: sluzby $sluzby = $_POST['sluzby']; kdyz mam print "<input type='text' class='sluzby' value='$col->sluzby' name='sluzby[]'>"; tak to prece neni chyba ne? nebo jak mam to pole pomoci postu efektivneji prenest?


uz to mam

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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