Autor Zpráva
peter_r
Profil
asi ste očakávali, že po tom mojom prvom príspevku a mojej neznalosti PHP to nebol posledný príspevok :) ale idem sa pomaly učiť a chcem ísť trošku ďalej, mám tabuľku, kde viem pridať údaje, zobraziť, vyhľadať, chcel by som teraz upraviť a vymazať

toto je kód kde sa zobrazuje určitý riadok tabuľky, na konci sú dva tlačidlá upraviť a vymazať

<?php
        
        require_once('Db.php');            
        Db::connect('127.0.0.1', 'materasso', 'root', '');
        
        $matrace = Db::queryAll('
            SELECT *
            FROM matrace WHERE matrace_id=' .intval($_GET["mat_id"])
        );
            
        echo('<div id="main"><div class="left">');
        foreach ($matrace as $u)
        {
            echo('<h2>'.htmlspecialchars($u["nazov"]).'</h2>');;
            echo('Celková výška: ' . htmlspecialchars($u["vyska_celkova"]).' cm<br>');
            echo('Poťah: ' . htmlspecialchars($u["potah"]).'<br>');
        }
        echo('</div><div class="right">' . '<img src="img/' . $u['nazov'] . '.jpg" width="600" /></div></div>');    
        
        ?>
        
        <div class="clear"></div>
        
        <form action="upravit.php" method="post">
        <input type="submit" value="Upraviť" />
        </form>
            
        <form action="vymazat.php" method="post">
        <input type="submit" value="Vymazať" />
        </form>

čiže ak dobre uvažujem, aby som vedel ktorý riadok tabuľky ideme upravovať, potrebujem $u["matrace_id"] ktorý (neviem či si dobre myslím) už vlastne je definovaný ... ??? hovorím správne?
RastyAmateur
Profil
peter_r:
Ano, potřebuješ přes ty formuláře odeslat nějaká data, jedním z nich musí být nějaké ID. Poté k úpravě slouží UPDATE, k mazání DELETE. Případně já užívám toho, že do tabulky přidám sloupec indikující to, jestli byl záznam smazán či ne a ve všech selectech pak přidávám podmínku. Když něco omylem smažeš, jde to pak ještě snadno vrátit...

ale idem sa pomaly učiť a chcem ísť trošku ďalej
Jen tak mimochodem, ještě nedavno jsi tvrdil opak :D
peter_r
Profil
RastyAmateur:

tak nič mi asi iné neostáva, nechcem aby mi niekto napísal kód, ale chcem aby som tomu troška chápal, aj keď bez vašej pomoci to určite nedám

čiže aby som pokračoval, v tom súbore upravit. php musím mať najskôr taký istý formulár, ako na pridávaní nových údajov, čiže:

<form method="post">
            Názov:<br />
            <input type="text" name="nazov" /><br />
            Poťah:<br />
            <input type="text" name="potah" /><br />
            Výška:<br />
            <input type="text" name="vyska_celkova" /><br /><br />
            <input type="submit" value="Upraviť" />
        </form>

ale teraz chcem aby mi v každom z input už vypísalo údaje, ktoré v tabuľke sú a po stlačení submit mi uloží zmeny, ale tu som samozrejme nahratý, poradí mi niekto ako na to? Ďakujem
Keeehi
Profil
peter_r:
Údaje o záznamu si vytahneš z databáze a jen je vypíšeš do value těch inputů.
peter_r
Profil
takže teraz ako to vytiahnem, môže byť toto?

  SELECT *
            FROM matrace WHERE matrace_id=$u["matrace_id"]

a vpíšem to do inputu:

<input type="text" name="nazov" value=$u["nazov"] />
RastyAmateur
Profil
peter_r:
Budu předpokládat, že obsah pole $u je správný

V tom dotazu opět nepředcházíš SQL injection, podívej se do posledního tvého příspěvku

a v inputu ti opět chybí uvozovky a nějaký to echo. Musíš tomu říct, že se najednou jedná o PHP
<input type="text" name="nazov" value="<?php echo $u["nazov']; ?>" />
peter_r
Profil
RastyAmateur:

som z toho jeleň, nejde mi to, neviem to ... :(
RastyAmateur
Profil
peter_r:
asi bys měl začít nějakým jednoduchým tutorialem

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:

0