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
jip123
Člen
Avatar
jip123:10.11.2014 16:33

V kódu jsem narazil na řádek: ', $_POST['jmeno'], $_POST['prijmeni'], $datum);
Nějak jsem nepochopil, proč řádek začíná ',
Prosím o polopatické vysvětlení. Díky

Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovedá na jip123
Jan Lupčík:10.11.2014 18:06

Končí tím předešlý řádek s dotazem. Takhle to vypadá přehledně, ale pokud chceš, měj dotaz na 1 řádku i s ' a na 2. řádku prvky. :)

Odpovedať
TruckersMP vývojář
Avatar
filipsevcik
Člen
Avatar
Odpovedá na Martin Konečný (pavelco1998)
filipsevcik:2.2.2015 17:32

Martin Konečný (pavelco1998)

Vedel by si mi na kode ukazat akoby som to implementoval presne na clanok vyssie? Keby chcem vybrat iba jeden riadok na zaklade ID.. stale robim nieco zle, nejde mi to.

moc dik

Avatar
Odpovedá na filipsevcik
Martin Konečný (pavelco1998):4.2.2015 12:00

Ahoj, sorry a pozdní odpověď, byl jsem mimo.
Nevím, jak je ta třída Db přesně napsaná, ale mohlo by to jít takto:

$id = (int) $_GET["id"];

$data = Db::queryOne("
  SELECT * FROM tabulka
  WHERE id = ?
", $id);
Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
petr.jouza
Člen
Avatar
petr.jouza:11.5.2015 17:01

Ahoj,
uměl by mi někdo pomoci s mou jednoduchou úlohou? Chci vytvořit databázovou tabulku, která si bude ukládat pouze emailové adresy.
Vkládání emailu se mi pomocí tohoto návodu podařilo a je funkční:

Db::connect($dbServer, $dbName, $dbUser, $dbPassword);
Db::query('INSERT INTO registrace_mail_denni_menu (email) VALUES (?)',$_POST['email']);

Kdyby mi někdo poradil jak otestovat, zda vkládaný email již je v databázi a pokud by byl, tak by vyskočilo upozornění, že email je již registrován, tak bych byl rád.

Ale nedaří se mi napsat smazání. Zkoušel jsem různé varianty:

Db::query('DELETE FROM registrace_mail_denni_menu (email) VALUES (?)',$_POST['email']);

V kódu jsem zkoušel Db::queryOne, Db::querySingle... v SQL příkazu ještě WHERE a pořád mi vyskakují nějaké chyby.

Omlouvám se, že to neumím pořádně popsat, ale toto je má první zkušenost s SQL a moc mi to pomůže ve správě webu restaurace mé sestřenky a alespoň se naučím něco nového :)

Předem díky všem.
Petr

Avatar
Odpovedá na petr.jouza
Martin Konečný (pavelco1998):11.5.2015 17:07

Ahoj,

jestli již daný mail v DB je - k tomu stačí na sloupec hodit unikátní klíč (unique key). Databáze ti pak sama vyhodí error, že se snažíš vložit duplicitní záznam.

U DELETE si stačí nastudovat, jak se jeho syntaxe píše. Nemažeš hodnoty sloupců, ale celý záznam (tj. řádek).

DELETE FROM `tabulka` WHERE podmínka
Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
petr.jouza
Člen
Avatar
Odpovedá na Martin Konečný (pavelco1998)
petr.jouza:11.5.2015 18:31

SUPER, díky moc... už se mi to podařilo i vymazat. Ještě se chci zeptat: dá se nějak ta chybová hláška z MySQL počeštit? Nastavit co se má zobrazit v případě duplicity?

Avatar
Odpovedá na petr.jouza
Martin Konečný (pavelco1998):11.5.2015 20:38

Pokud to máš nastavené tak, aby ti to vyhazovalo výjimku, pak ji stačí jen odchytit a určit si vlastní text.

try {
  // DB dotaz
} catch (PDOException $e) {
  // došlo k duplicitě
}
Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
petr.lhota
Člen
Avatar
petr.lhota:10.6.2015 11:31

Ahoj vsem, vedeli byste pokud odeslu registraci noveho uzivatele - mam zpet error: Warning: PDOStatement::e­xecute(): SQLSTATE[HY000]: General error: 1364 Field 'pocet_clanku' doesn't have a default value in C:\Levtrigo\www\Db­.php on line 61
? Mel jsem za to, ze sloupec "pocet_clanku" bude ignorovan... Diky , Petr.

Odpovedať
At uz peklo bylo nebo nebylo, vymysleno bylo dobre.
Avatar
Odpovedá na petr.lhota
Neaktivní uživatel:10.6.2015 11:48

No, evidentně nebude. Zřejmě je nastavený jako not null, nemá defaultní hodnotu a ty ho v příkazu nedefinuješ.

// Ideální by bylo nastavit defaultní hodnotu 0

Editované
Odpovedať
Neaktivní uživatelský účet
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.