HTML, CSS a PHP Velká pomoc

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, CSS a PHP Velká pomoc

Příspěvek od esfilip »

Ahoj lidi, potřebuji poradit s pár věcmi ohledně tvoření webu. Na internetu to nikde nemohu najít, a proto jako poslední možnost píši sem. Rozepíšu to do bodů a více popíši. Uvítal bych kdyby kody nebo postupy byly srozumitelné a nejlépe v kodu HTML. Uvítám klidně i nějaký zip/rar s návody nebo odkazy a nebo "// popis příkazu"

1) Upload obrázku + název - odpovězeno - stále nerozumím
Mám stránku, kde funguje "upload obrázku" a uloží ho do předem definované složky "images". Uloží ho s názvem, jak se obrázek doopravdy jmenuje. Jde mi o to, abych nad upload vypsal kod, který vyhodí formulář s názvem, a když tam napíši "xxx" a vyberu obrázek a potvrdím to, tak aby ho uložil do té složky "images" s názvem "xxx.jpg"

K tomuto ještě potřebuji dodat příkaz, který uloží daný název do databáze (to už bych měl zvládnout formuláře, s db umím)

2) Načtení dat z Databáze - vyřešeno
Mám v databázi sloupec ID,název,cena,image umím udělat, že tyto hodnoty vypíše do tabulky v HTML. Ale potřeboval bych spíš, aby každá z řádků měla vlastní rámeček + images z předešlého dotazu.
3) Srovnání dat z Databáze - odpovězeno - vyřešeno
Příkazem var selectQueryString = "SELECT * FROM Firmy ORDER BY cena desc"; umím srovnat danný hodnoty podle ceny, ale jak docílím toho, abych v HTML udělal něco z bodu 2) ale s tím, že to bude zobrazovat jen data s cenou nižší nebo vyšší než xx
4) Odkaz - vyřešeno
Když zadám kód:
<a href="~/str/about.cshtml"><img src="xxx.xx" alt="Žebříček" width="100" height="100" border="2" align="right"></img></a>

Stačí dopsat do hlavičky <base target="_parent">
a kliknu na to tak se přesměruje na tu stránku... tomu rozumím ale když na jiné stránce vytvořím <iframe> a do něj pak dám předchozí kód tak se nová STR otevře v tom rámečku ale jak udělat aby se načetla stránka celá bez ohledu na rámeček...?

5) Rozměry stránek - odpovězeno - vyřešeno
Mám stránky které dělám na 1920x1080 tedy široko úhle, a ne jako většina, že jsou jako nudle... ale když okno prohlížeče přichytím na polovinu obrazovky nebo okno jen zmenším tak se na prohlížeči vše včetně menu rozřádkuje ale já potřebuji aby se objevila posuvná lišta jako je tomu třeba na této str

6) Ověření foruláře - odpovězeno
Když mám formulář, a v něm některá pole jsou na čísla, jiné na písmena, některá jako Email... jak nejlehčeji udělat v HTML ověření, že se pole vyplnilo správně, tedy aby u čísel byly pouze čísla a třeba určitý počet, a aby email byl zapsán včetně @ a .xx. Jediné, co mám je, že pole není prázdné.
if (Email.IsEmpty()) {
ModelState.AddError("Email", "Váš email nebyl vyplněn");
}


7) Rozkliknutí detailů
Mám z DB vypsáno pár řádků v HTML, už se mi povedlo, že jde na jednotlivé klikat a otevře pro ně zvláštní stránku, jde o detaily... xxx/xxx/xxx.cshtml/daná hodnota, ale stránka je prázdná jak mám docílit, aby ukázal další věci z DB k té dané hodnotě Příklad:

V tabulce ID, název, cena
1, chleba, 15
2, rohlík, 2
3, roláda, 20

Když kliknu na roláda otevře se stránka s dalšími detaily, které budou předem vypsány v DB, ale stránku mám prázdnou.

8) Zobrazení dat z databáze s limitem
Umím vyvolat příkaz na zobrazení dat z DB konkrétně jde o obrázek ale bohužel se mi načtou všechny řádky tedy xx obrázků. Já ale potřebuji aby se načetl pouze jeden a to náhodně po každým refresh stránky.

var selectQueryString = "SELECT * FROM Obchod order by rand() limit 1";

Našel jsem to na internetu ale nefunguje mi to... když smažu to order by rand() limit 1 Tak to funguje ale jsou všechny...

Předem moc děkuji za odpovědi
Naposledy upravil(a) esfilip dne čtv 21. úno 2013, 09:24, celkem upraveno 17 x.
acerr
Začátečník
Začátečník
Registrován: 19. dub 2012

Re: HTML, CSS a PHP Velká pomoc

Příspěvek od acerr »

k 3tímu bodu bych udělal cyklus kterým to vytřídíš dle potřeby a pak bych jen jednoduše zobrazil co potřebuju
nou
Začátečník
Začátečník
Registrován: 11. pro 2009

Re: HTML, CSS a PHP Velká pomoc

Příspěvek od nou »

SELECT * FROM Firmy ORDER BY cena desc WHERE cena<XX
acerr
Začátečník
Začátečník
Registrován: 19. dub 2012

Re: HTML, CSS a PHP Velká pomoc

Příspěvek od acerr »

s databází moc nedělám ale vždy bys měl načíst jiný řádek do proměné, tu pak porovnat a pokud splňuje kritéria tak jí nechat vypsat.
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: HTML, CSS a PHP Velká pomoc

Příspěvek od OndraSter »

Anebo vytáhnout relevantní data rovnou pomocí SQL dotazu. Ušetří to přenos dat mezi servery.
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

Re: HTML, CSS a PHP Velká pomoc

Příspěvek od esfilip »

Tomu moc nerozumím... mám toto:

@{
var db = Database.Open("test");
var selectQueryString = "SELECT * FROM Firmy ORDER BY Cena desc";
}

<!DOCTYPE html>

<html lang="cs">
<head>
<style>
table, th, td {
border: solid 1px #bbbbbb;
border-collapse: collapse;
padding: 2px;
}
</style>
</head>
<body bgcolor="black"> <font color="white">

<h1>Srovnání</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>Nazev</th>
<th>Cena</th>
</tr>
</thead>
<tbody>
@foreach(var row in db.Query(selectQueryString)){
<tr>
<td>@row.id</td>
<td>@row.nazev</td>
<td>@row.cena</td>
</tr>
}
</tbody>
</table>
</body>
</html>


Dejme tomu že pokud bych chtěl zobrazit 2 řádky tedy 2 tabulky tak tento kód mam vytvořit 2x kde jednou bude cena > než 50 a v druhé < 50?

Ale jinak pořád nevím jak uložit vlastní název z formuláře k obrázku do DB a ten obrázek pak načíst zde třeba místo Název a aby obrázek podle názvu vzal z DB v tom samém řádku kde bude jeho ID a cena...
shipo
Začátečník
Začátečník
Uživatelský avatar
Registrován: 28. pro 2007

Re: HTML, CSS a PHP Velká pomoc

Příspěvek od shipo »

Pokud máš PHP, tak k obrázku: http://www.w3schools.com/php/php_file_upload.asp
originální jméno je v $_FILES["file"]["name"], soubor pak přesuvat s názvem z formuláře pomocí move_uploaded_file($tmp_name, "$uploads_dir/$name"); http://php.net/manual/en/function.move- ... d-file.php
jméno z formuláře pak vložit pomocí INSERT INTO nebo UPDATE do DB.

Celý HTML kód nemusíš kopírovat, stačí mít dva dotazy selectQueryString2 kde dáš WHERE cena < XX + @foreach(var row in db.Query(selectQueryString2)){ .

Šoupátko zajištíš pomocí vložení <div> do <body> kde mu ve stylech dáš width: 1900px;. http://programujte.com/clanek/200708120 ... ayout-1-3/
<body bgcolor="black"> <font color="white"> zkus raději přepsat do <style> (nejlepší pro CSS je ale externí soubor).

Z <iframe> nejde ovládat nadřazená stránka, chová se jako nové okno.
esfilip
Začátečník
Začátečník
Registrován: 11. bře 2007
Bydliště: Praha

Re: HTML, CSS a PHP Velká pomoc

Příspěvek od esfilip »

Zkoušel jsem to první s tím PHP ale to mi nějak nejde píše že vše proběhlo v pohodě ale obrázek nikde... pokud by to šlo napsat a udělat v HTML byl bych moc vděčný tady je kód který mám a funguje ale napůl. Obrázek uloží a jméno dá do DB ale s obrázkem nemá nic společného. Potřebuji vybrat obrázek napsat nějaké slovo a když se podívam so uložeého obrázku bude tam slovo.jpg a v DB bude ve sloupci images také slovo.jpg

@{
WebImage photo = null;
var newFileName = "";
var imagePath = "";

if(IsPost){
photo = WebImage.GetImageFromRequest();
if(photo != null){
newFileName = Path.GetFileName(photo.FileName);
imagePath = @"\upload\images\" + newFileName;
photo.Save(@"~\" + imagePath);
}
}

var db = Database.Open("osobni");
var Jmeno = Request["Jmeno"];

if (IsPost) {

if(ModelState.IsValid) {
var insertQuery = "INSERT INTO data (Jmeno)" +
"VALUES (@0)";
db.Execute(insertQuery, Jmeno);

Response.Redirect(@Href("~/reg/reg_k.cshtml"));
}

}

}
<!DOCTYPE html>

<html lang="cs">
<head>
<style type="text/css">
label {float:left; width: 8em; text-align: right;
margin-right: 0.5em;}
fieldset {padding: 1em; border: 1px solid; width: 30em;}
legend {padding: 2px 4px; border: 1px solid; font-weight:bold;}
.validation-summary-errors {font-weight:bold; color:red; font-size: 11pt;}
</style>

</head>

<form method="post" action="" enctype="multipart/form-data">
<fieldset>
<legend>Pokus</legend>
<div>
<label>Jméno:</label>
<input name="Jmeno" type="text" size="50" value="@Jmeno" />
</div>
<div>
<label style="color: red" for="Image">Obrázek:</label>
<input type="file" name="Image" size="33" multiple accept='image/*' />
</div>
</fieldset>
</form>
</body>
</html>
shipo
Začátečník
Začátečník
Uživatelský avatar
Registrován: 28. pro 2007

Re: HTML, CSS a PHP Velká pomoc

Příspěvek od shipo »

Jak přímo z HTML změnit jméno odesílaného souboru nevím, ale na serveru pomocí PHP by to mělo určitě jít. Příjem dat na serveru od klienta http://www.zive.cz/clanky/php---10-dil- ... fault.aspx $pojmenovany = $_POST["pojmenovany"]; Zbytek by možná šel ještě obejít přes funkce (nenapsal jsi co přesně nefunguje): rename("./nahrany.JPG", "./pojmenovany.JPG"); copy("./pojmenovany.JPG", "./images/pojmenovany.JPG"); unlink("./nahrany.JPG");

6) Pomocí JavaScriptu -> jQuery http://docs.jquery.com/Plugins/Validation#Demos
http://docs.jquery.com/Plugins/Validati ... ods/number
http://docs.jquery.com/Plugins/Validation/Methods/email
Odpovědět

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