HTML komentáře

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

HTML komentáře

Příspěvek od esfilip »

Ahoj, jak nejjednodušeji udělat komentáře na stránku?

Mám stránku kde mám nějaký produkt a k němu chci pod obrázek komentáře (produktu je více). Mám tam pod obrázkem tabulku o nějakých rozměrech kde chci aby se vypisovali z databáze SQL, nebo se komentáře dělají jinak než v SQL? třeba jen textový dokument? pokud ano tak jak?

Dále bych potřeboval taky funkční kód na to aby šli komentáře doplňovat. nějaký tlačítko a dále formulář (jméno, komentář). Řazení bych chtěl od nejnovějších po nejstarší. Stránky dělám v CSHTML.

předem děkuji
Exp
Začátečník
Začátečník
Registrován: 24. črc 2004
Bydliště: Tábor
Kontaktovat uživatele:

Re: HTML komentáře

Příspěvek od Exp »

Jestli to dobře chápu a ty chceš uživatelům dovolit vkládat komentáře pod nějaký objekt, tak běžný základ je PHP a SQL.
Funkční kód ti tu asi nikdo psát nebude, princip je ale jednoduchej a návodů se všude válí mraky.
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

Re: HTML komentáře

Příspěvek od esfilip »

Takže jedině v PHP? dobře nebude problém to z HTML dát do PHP. návod si najdu
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

Re: HTML komentáře

Příspěvek od esfilip »

tak sem si našel jeden návod, ale mám 2 problémy

1) umístění souboru se mi nedaří dostat tam kam chci (vytváří se pouze tam kde je xxx.php)
$cesta_souboru="log.txt"; // cesta k souboru TXT, do kterého se budou daný komentáře ukládat
$umisteni_scriptu=""; //umístění tohoto souboru

Zkoušel jsem /data/komentare/log.txt ale to nejde taky jsme zkoušel dat na začátek cesty ~/ ale nic

2) komentáře potřebuji k více produktům... jak určím pro jaký produkt to je když mám uděláno že na tu stránku s daným produktem se dostanu pomoci kodu:

@foreach(var row in db.Query(selectQueryString)){
<a href="@Href("/lang/cz/detail.cshtml", row.ID)"><img src="/upload/img/@row.img" width="200" height="100" hspace="5" vspace="5" style="border:5px outset @row.rate"/></a>}

takže nahoře v adrese mám pak http://localhost:23065/lang/cz/detail.cshtml/7 tedy produkt č.7
Exp
Začátečník
Začátečník
Registrován: 24. črc 2004
Bydliště: Tábor
Kontaktovat uživatele:

Re: HTML komentáře

Příspěvek od Exp »

Dám ti dobrou radu - zapomeň na ukládání komentářů do texťáku a udělej to databázově.
Broxik
Začátečník
Začátečník
Uživatelský avatar
Registrován: 11. led 2010

Re: HTML komentáře

Příspěvek od Broxik »

Imo nemusi mit pristup k zadnemu. POkud musis pouzit soubor na skladovani commentu k produktu clanku atd.. tak to aspon delej nejako strukturovane. Treba CSV oddelene strednikem. Nezapomen ale replacovat strednik za specialni znak at se ti pak nerozhodi formatovani.

Co se tyka odkazu. Nemuzes sem hazet odkaz na svuj localhost. TO je jakoby tvuj server a s tou adresou vidis jen to co ty mas na pocitaci v ramci IIS nebo apache... Pokud chces nekomu neco ukazat sou 2 moznosti. Budto mas domenu, kterou nasmerujes na svoji IP adresu pak by to melo jit bez slozitosti a pak mas moznost si tam namyslet co chces s tim ze si dotycni musi do host vlozit IP a domenu... treba www.testujurad.cz 192.168.1.1 s tim ze ta IP je venkovni ne vnitrni.... Tim pak rucne windows presmeruji na dane IP a zobrazi se jim tva stranka...
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

Re: HTML komentáře

Příspěvek od esfilip »

S tou adresou to mělo bejt jen jako že se mi produkty otevírají číselně za adresou. jinak co se týká toho že bych to měl udělat databázově je mi jasný ale nenašel sem nikde návod a v PHP fakt neumím takže bych potřeboval krok za krokem jak na to.

mám jednu hlavní stránku kde mám třeba 5 produktu... když kliknu třeba na produkt chleba tak se otevře stránka detail.cshtml/2 (ta 2=chleba) a tam mám obrázek, popis a taky tam chci okno s komentářema a s formulářem .... jméno a text. Ukládání do té databáze .... je mi jasný že to detail musím asi hodit z cshtml na php ale nevím kde vycucat ty kody aby to fungovalo na každý produkt nezávysle.
Exp
Začátečník
Začátečník
Registrován: 24. črc 2004
Bydliště: Tábor
Kontaktovat uživatele:

Re: HTML komentáře

Příspěvek od Exp »

Je to triviální, do toho texťáku (pokud ho tak moc chceš) budeš ukladat ID produktu a k němu komentář. Pokud to bude např. CSV jak navrhuje Broxik, tak nejjednodušší struktura souboru může vypadat následovně:

Kód: Vybrat vše

ID produktu;ID uživatele;komentář;
1;uživatel1;koment1;uživatel2;koment2;
2;uživatel1;koment1;
3;uživatel1;koment1;uživatel2;koment2;uživatel3;koment3;
atd.

Tedy v prvním sloupci je ID produktu, ke kterýmu se komentáře vztahujou. Komentář je pak uložen vždy spolu s ID uživatele, který komentář vložil. Pokud nejsi moc zdatný v operacích s textovýma řetězcema, může se struktura upravit tak, že na jednom řádku je vždy jeden komentář k jednomu produktu od jednoho uživatele (tedy obdobně jako to ukládají SQL DB).

Kód: Vybrat vše

ID produktu;ID uživatele;komentář;
1;uživatel1;koment1;
3;uživatel5;koment1;
8;uživatel54;koment1;
1;uživatel7;koment2;
Ještě jednou upozorňuju, že pokud máš možnost udělat to databázově, tak ukládání do texťáku je velice nešikovný řešení a dost možná strávíš víc času naučením se prací s textovýma řetězcema než by zabralo naučení několika základních DB dotazů.
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

Re: HTML komentáře

Příspěvek od esfilip »

Dobrá databáze tedy bude super a asi i pro orientaci časem. jak mám tedy postupovat? mám jednu jednoduchou databázi kde je ID, název, popis... mám další databáze kde mám ID, nick, text... teď mě tak napadá mohu pro komentáře použít podobný ne-li stejná kódy jako pro registraci produktu? jednoduchý formulář a jednoduchý zobrazení?
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

Re: HTML komentáře

Příspěvek od esfilip »

Tak už to z části mám, teď mám jiný problém a to s načítání komentářů. Mám databázi a v ní tabulku produkty kde je ID,jmeno,popis,atd.... takto těch produktu mám třeba 10. Mám další tabulku kterou mám pojmenovanou komentare. v ní mám ID,produkt,nick a text. Když vlezu na jeden z produktu třeba na 5 tak se mi otevře detail.cshtml/5 kde mám fotku, popis, název a také okno s komentářemi kde by se měli zobrazit komentáře z tabulky 2 a podle ID najde dotičné a vypíše je. Tohle by ještě fungovalo ale já potřebuji aby to nepřiřazoval podle ID ale podle "produkt" používám tyto kody:

var db = Database.Open("pokus");
var selectQueryString = "SELECT * FROM produkty WHERE Id=@0";
var selectQueryString2 = "SELECT * FROM komentare WHERE Id=@0";
var ProductId = UrlData[0];
var row = db.QuerySingle(selectQueryString, ProductId);
var row2 = db.QuerySingle(selectQueryString2, ProductId);

var jmeno= row.jmeno;
var popis= row.popis;
atd.....

var nick= row2.nick;
var text= row2.text;


zkoušel jsem třeba změnit:
var selectQueryString2 = "SELECT * FROM komentare WHERE Id=@0";
var selectQueryString2 = "SELECT * FROM komentare WHERE produkt=@0";


ale buď to nejde a nebo to má chybu

prostě potřebuji nějaký příkazem změnit načítání v tabulce 2 ze sloupce ID na produkt

předem děkuji
Smith
Pokročilý
Pokročilý
Uživatelský avatar
Registrován: 11. úno 2004
Bydliště: někde u UH
Kontaktovat uživatele:

Re: HTML komentáře

Příspěvek od Smith »

Když už tak ...

Kód: Vybrat vše

var selectQueryString2 = "SELECT * FROM produkty WHERE Id=@0";
var selectQueryString2 = "SELECT * FROM komentare WHERE produkt=@0";
Neber to nějak ve zlém... ale v první řadě by ses měl naučit programovat (naučit se ovládat jazyk, ve kterém to děláš ... ASP.NET?), naučit se pracovat s SQL a databázemi.
Přijde mi, že tu blastlíš něco, a ani pořádně nevíš co.
# Desktop [Ryzen 9 7950X, 128 GB RAM, GeForce GTX 1660 Ti, 4x SSD, 3x Dell UP2716D(A), W11 Pro]
# Notebook Dell XPS 13 [i7-7500U, 16 GB RAM, 512 GB SSD, W11 Pro], Apple MacBook Air 13" [M2, 16 GB RAM, 512 GB SSD]
# Home Server [2x E5-2630 v3, 128 GB RAM, WS2019] # Storage Synology DS1815+ [24 TB RAID6], Synology DS1819+ [24 TB RAID6, 10 GbE]
# Samsung Galaxy S23 Ultra # Canon EOS R5, Canon EOS 3, Canonet QL17 G-III, Bronica SQ-A # www.photosmith.cz
Exp
Začátečník
Začátečník
Registrován: 24. črc 2004
Bydliště: Tábor
Kontaktovat uživatele:

Re: HTML komentáře

Příspěvek od Exp »

Nevim v čem to píšeš, přijde mi to jako .net, ve kterým nedělám, takže konkrétní řešení ti nenapíšu, nicméně obecně je princip jednoduchý.

Potřebuješ získat komentáře vztažený k produktu -

Kód: Vybrat vše

SELECT * FROM komentare WHERE produkt = _konkretni_produkt;
Nevim co se dosazuje za @0, ale začal bych tim, že bych si sestavil dotazy a zkoušel je přímo na databázi, jestli mi vůbec vrací to, co chci.

Jinak viz kolega, zdá se že vůbec nevíš co jednotlivý části kódu dělaj...
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

Re: HTML komentáře

Příspěvek od esfilip »

Ano moc tomu nerozumím ale už jsem udělal velký kus práce.

jak mohu přepsat tento příkaz "@foreach(var row2 in db.Query(selectQueryString2, ProductId))" v <body> na příkaz této podoby: var row2 = db.QuerySingle(selectQueryString2, ProductId);

a už by to mělo vše fungovat :)
Odpovědět

Zpět na „Programování a web“