Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 3. diel - Formulár a výpis dát z databázy do tabuľky v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Roman Zoufalý:12.2.2020 22:37

Ahoj,
když zkouším ve 3.části manuálu ( díky moc za něj, dobrá práce ) výpis a dám na stránce refresh ( F5 ), tak se mi znovu přidají původně vkládané hodnoty do tabulky i když jsou pole v tu chvíli prázdná. Jak to?
Díky za reakci :-)

Avatar
Miloshcz
Člen
Avatar
Miloshcz:25.4.2020 23:29

Ahoj, mohl bych požádat o radu?
Mám kod

$tabulka = Db::queryall('SELECT MONTHNAME(Mesic), SUM(Pocet1), SUM(Pocet2), SUM(Pocet3), SUM(Pocet4), SUM(Pocet5), SUM(Celkem1), SUM(Celkem2), SUM(Celkem3), SUM(Celkem4), SUM(Celkem5) FROM `uctenka` GROUP BY (Mesic)');

echo(' <h2>Souhrn </h2><table class="table table-bordered"><tr><td><b style="text-align: center">měsíc vystavení</td><td><b> Z</td><td><b>M</td><td><b>D</td><td><b>T</td><td><b>Ostatní</td><td><b>celkem za měsíc</td></tr>');

foreach ($tabulka as $c);
echo var_dump($tabulka)."<br>";
echo ("as c"). "<br>";
echo var_dump($c)."<br>";

 {
    echo('<tr><td>' . htmlspecialchars($c ["MONTHNAME(Mesic)"]));
        echo('</td><td>' . htmlspecialchars($c ["SUM(Pocet1)"]));
        echo('</td><td>' . htmlspecialchars($c ["SUM(Pocet2)"]));
        echo('</td><td>' . htmlspecialchars($c ["SUM(Pocet3)"]));
        echo('</td><td>' . htmlspecialchars($c ["SUM(Pocet4)"]));
        echo('</td><td>' . htmlspecialchars($c ["SUM(Pocet5)"]));
        echo('</td><td>' . htmlspecialchars($c ["SUM(Celkem5)"] )); echo (",- Kč") ;


     echo('</td></tr>');
    }
echo('</table>');

Nemůžu však dostat do tabulky výpis všech řádků. SQL dotaz vrátí všechny řádky, echo var_dump pro $tabulka vrátí všechny hodnoty, ale pokud zadám echo var_dump pro $c tak mi vyjede poslední řádek jako se mi zobrazuje v tabulce. At hledám jak hledám, nemůžu zjistit kde může být chyba.

díky za radu

Avatar
Odpovedá na Roman Zoufalý
Patrik Šimek:2.7.2020 18:24

jak jsi to dal na tu doménu?

Avatar
Pavel Kubalík:8.2.2021 14:44

Dobrý den
Když jsem ukončil kurz základů PHP, měl jsem dle doporučení v textu jít na tento kurz. Začal jsem to číst, a narazil jsem na slovo "wrapper". Toho jsem se lekl (protože jsem tomu nerozuměl) a tak jsem šel na kurz OOP. Když jsem se dostal ke "statice", zjistil jsem, že "wrapper" není žádné sprosté slovo, a že je vše v naprostém pořádku. Řekl jsem si, že nyní je nejvyšší čas dodělat si, čeho jsem se před tím lekl. Později bych se sem již nedokázal vrátit. Jsem tedy spokojen.
V této první půlce (lekce 1 - 3) jsem měl drobné problémy. Program jsem "naťukával ručně", ale v řádcích, kde bylo $_POST mi editor dával vykřičníky. Tak jsem to tam raději zkopíroval, ale vykřičníku jsem se nezbavil. Tak jsem to spustil, a ejhle, ono to chodilo. Tak nevím.
Už se těším na to, co je to ten NERS. Je dobré se těšit.
Děkuji PK

Avatar
Josef Šlejtr:29.3.2021 14:28

Ahoj, kurz je výborný a postupně se sám učím. Měl bych prosbu u radu. Chtěl bych vytvořit formulář kam chci vkládat vážení jednotlivých zvířat. Ćísla jednotlivých zvířat mám v databázi a seznam těchto zvířat se v čase mění. Do formuláře bych rád 2 sloupce. V jednom sloupci by bylo číslo zvířete (které by se natahovalo z databáze) a v druhém sloupci by se zapisovaly hmotnosti jednotlivých zvířat zjištěné při jednom vážení. Celé by s najednou odeslalo do databáze. Skript mám špatně, protož se do databáze vkládá vždy jen hmotnost posledního zvířete v seznamu. Poradí prosím někdo?

 echo "<table class='potomci'>";


 echo  "<form  method='post'>" ;


 $dat_vaz="2021-03-21";



 $datum_od = $rok."-01-01"; // časový interval výběru podle data narození zvířat do sestavy
 $datum_do = $rok."-12-31";


 $rph10_2019 = Db::queryAll


("SELECT * FROM $farmar


WHERE  datnar_farma between '$datum_od' AND '$datum_do'

ORDER BY zvire ASC");



echo

"<tr>
          <th> Číslo </th>

          <th> Hmotnost</th>


</tr>";

foreach ($rph10_2019 as $u)
                {


  echo "<tr>";


  $zvire=($u['zvire']);
  echo " <td class='stred'> ";
  echo " <input name='cislo_vaha' type='text' size='8' value='$zvire  '  /> </td>";

  echo " <td class='stred'> ";


  echo " <input name='vaha' type='text' size='4' value='$vaha'   /> </td>";
  $vaha=$_POST['vaha'];

  echo "</tr>";

  IF ($_POST)
  {
                        Db::query('
                                INSERT INTO vazeni_slejtr (cislo_vaha, dat_vaz, vaha  )
                                VALUES (?,?,?)

                        ',$zvire,
                           $dat_vaz, $_POST['vaha'] );
  }


           }

  echo "</table>";

echo  "<input type='submit' value='Vlož hlášení o vážení' /> ";

echo "</form>";
Avatar
Josef Šlejtr:29.3.2021 14:31

Jenom doplním , formulář mi správně vkládá sloupec s vygeerovanými čísly zvířat, ale nedaří se mi duehý sloupec s těmi hmotnostmi. Ty se zadávají do vlastního formuláře ručně.

Avatar
Dušan Kovářík:11.7.2021 2:36

Během této lekce jsem cítil, jak se mi vše konečně trochu dostává do krve. phpMyAdmin, wrapper, připojení k databázi, jednoduché SQL dotazy v PHP, bezpečnost... Díky za článek.

Avatar
Michal Gros
Tvůrce
Avatar
Michal Gros :7.1.2022 23:08

chybí mi doresení kontroly neprazdných input poli a kontrola datumu

Odpovedať
Jestli jste dobří nahrnou na Vás spoustu práce. Jestli jste sakra dobří, tak se jí dokážete zbavit.
Avatar
Josef N.
Člen
Avatar
Josef N.:20.2.2022 9:46

Ahoj,
jsou tu nepřesnosti.

1. V souboru index.php (příloha): $datum = date("Y-m-d H:i:s", strtotime($_POS­T['datum_naro­zeni']));

Uloží do sloupce "datum_narozeni" hodnotu 2000-02-11 00:00:00.
Spravně by mělo být: $datum = date("Y-m-d", strtotime($_POS­T['datum_naro­zeni'])); uloží 2000-02-11
2. V souboru "index.php" $datum = date("d.m.Y", strtotime($u['da­tum_narozeni']));
echo('</td><td>' . htmlspecialchar­s($datum));
Lze přímo v SQL:select str_to_date("25­.11.2023",get_f­ormat(date,"E­UR"));

Odpovedať
Ne estas pano sen laboro!
Avatar
Josef N.
Člen
Avatar
Josef N.:20.2.2022 10:11

Se to ořízlo :-)

Měl bych pár (snad konstruktivních) připomínek:

1. Uložení datumu narození
$datum = date("Y-m-d H:i:s", strtotime($_POS­T['datum_naro­zeni'])); = nepřesnost, uloží zbytečně i hodinu, minutu, vteřinu (2000-02-11 00:00:00), přesnější je: $datum = date("Y-m-d", strtotime($_POS­T['datum_naro­zeni'])); - (2000-02-11)

2. Ani to není v PHP nezbytně nutné ošetřovat, existuje lze to ošetřit v SQL dotazu:

select str_to_date("25.11.2003",get_format(date,"EUR")) as datum_narozeni;
+----------------+
| datum_narozeni |
+----------------+
| 2003-11-25     |
+----------------+

3. V souboru index.php je pak zbytečné:

$datum = date("d.m.Y", strtotime($u['da­tum_narozeni']));
echo('</td><td>' . htmlspecialchar­s($datum));

Stačí to v SQL dotazu upravit:

select DATE_FORMAT("2003-11-25","%d.%m.%Y") as datum_nar_cesky;
+-----------------+
| datum_nar_cesky |
+-----------------+
| 25.11.2003      |
+-----------------+
Odpovedať
Ne estas pano sen laboro!
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 104.