NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 3 - Formulář a výpis dat z databáze do tabulky v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
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 :-)

 
Odpovědět
12.2.2020 22:37
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

 
Odpovědět
25.4.2020 23:29
Avatar
Odpovídá na Roman Zoufalý
Patrik Šimek:2.7.2020 18:24

jak jsi to dal na tu doménu?

 
Odpovědět
2.7.2020 18:24
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

 
Odpovědět
8.2.2021 14:44
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>";
 
Odpovědět
29.3.2021 14:28
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ě.

 
Odpovědět
29.3.2021 14:31
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.

 
Odpovědět
11.7.2021 2:36
Avatar
Michal Gros
Tvůrce
Avatar
Michal Gros :7.1.2022 23:08

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

Odpovědět
7.1.2022 23:08
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"));

Odpovědět
20.2.2022 9:46
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      |
+-----------------+
Odpovědět
20.2.2022 10:11
Ne estas pano sen laboro!
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 10 zpráv z 104.