• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Strona informacyjna - budowa, co i jak? pytanie ogólne.

Object Storage Arubacloud
0 głosów
819 wizyt
pytanie zadane 11 lipca 2016 w SQL, bazy danych przez DawidRodycz Gaduła (3,090 p.)
Witam.

Na bieżąco rozwijam się w C++, moja podstawy z HTML CSS i baz danych są podstawami podstaw lecz chcę napisać stronę informacyjną.

Strona na której będą znajdowały opony, będą to różne opony, różne rozmiary, grubości itp. Opony będą przybywać, niektóre zostaną oddane do użytku. A więc chciałbym dodawać do bazy opony z ich "parametrami" wraz ze zdjęciem a te które już zostały oddane chcę usuwać. Strona ma mi umożliwić opcje filtru opon, zaznaczę rozmiar taki wielkość taką i wyświetlą mi się tylko dane opony.

Moje pytanie jest ogólne. Proszę o ogólny zarys tego co będę potrzebował, co będę musiał wykorzystać jak jest z interfejsem wprowadzania nowych opon? będę mógł to robić bezpośrednio na stronie? Czy może będzie prościej do bazy? Jakieś nakierowanie od czego zacząć, czy będę mógł wykorzystać już jakieś dostępne skrypty? Czy jednak wszystko zdołam zrobić sam?

Proszę nie pisać komentarzy typu: Jak jesteś na takim poziomie to zacznij od czegoś prostego. Przyłożę się poszperam tu i tam znajdę informacje, dam radę. Chodzi mi o zarys ogólny abym wiedział co muszę wiedzieć.

5 odpowiedzi

+3 głosów
odpowiedź 11 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)
wybrane 12 lipca 2016 przez DawidRodycz
 
Najlepsza

Witam.

Strona na której będą znajdowały opony, będą to różne opony, różne rozmiary, grubości

No to robisz tabelę "opony" z kilkoma kolumnami. Dla przykładu:

  • ID
  • Producent
  • Grubosc
  • Rozmiar
  • Cena
  • Sciezka do zdjecia 

A Następnie zapytaniem INSERT "wpychasz" tam opony, ale o tym później.

A więc chciałbym dodawać do bazy opony z ich "parametrami" wraz ze zdjęciem a te które już zostały oddane chcę usuwać

(...)

co będę musiał wykorzystać jak jest z interfejsem wprowadzania nowych opon? będę mógł to robić bezpośrednio na stronie? Czy może będzie prościej do bazy?

 Właśnie teraz nadeszło te "później". No to tak: Tworzysz formularz HTML w którym możesz podać nazwę producenta, jej wymiary, grubość, cenę, wrzucisz zdjęcie etc. Dane te wyślesz do skryptu PHP który doda to zdjęcie do jakiegoś katalogu, a następnie dane z formularza wraz ze ścieżką "wepchnie" do bazy danych przy pomocy klauzuli INSERT. Przykład użycia:

INSERT INTO opony VALUES (/*Tutaj dane z formularza*/)

Jest to naprawdę proste, zatem warto zrobić sobie na stronie taki formularz. Po prostu łatwiej się to uzupełnia niż bezpośrednio w bazie.

Strona ma mi umożliwić opcje filtru opon, zaznaczę rozmiar taki wielkość taką i wyświetlą mi się tylko dane opony.

No to tutaj masz 3 opcje:

  1. Zrobić formularz z filtrami, a następnie według tych filtrów przy użyciu PHP budować zapytanie. (sposób 2/10, ale szybko można to zrobić.)
  2. Zrobić formularz z filtrami a następnie według tych filtrów przy użyciu AJAX'u i PHP budować zapytanie. (sposób 4/10, można to zrobić też w miarę szybko.)
  3. Przy ładowaniu strony pobrać odpowiednią ilość recordów (np. 1, 10, 50, 519067561751, jak sobie chcesz) a następnie przy pomocy JavaScriptu filtrować te dane (Sposób 8/10)

A teraz zalety i wady każdego z tych sposobów

    1.

  •  Zalety
    • Szybkie i łatwe w napisaniu
    • minimalne odciążenie komputera klienta
  • Wady
    • Obciążenie serwera sortowaniem (jak wiemy serwery mają limity CPU)
    • Strona przed pokazaniem rezultatu musi się przeładować

     2. 

  •  Zalety
    • W miarę szybkie i łatwe w napisaniu
    • minimalne odciążenie komputera klienta
    • Strona przed pokazaniem rezultatu nie musi się przeładowywać
  • Wady
    • Obciążenie serwera sortowaniem (jak wiemy serwery mają limity CPU)

     3.

  •  Zalety
    • Odciążenie serwera od sortowania (sortowanie odbywa się na komputerze klienta)
    • Strona przed pokazaniem rezultatu nie musi się przeładowywać
  • Wady
    • Wymaga napisania "sortownika" w JS

 Jakieś nakierowanie od czego zacząć, czy będę mógł wykorzystać już jakieś dostępne skrypty?

Co do używania dostępnych skryptów to musiałbys szyć interfejs pod skrypt, a nie skrypt pod interfejs. Szycie interfejsu pod skrypt jest jak dla mnie bez sensu, kastruje ono kreatywnośc frontendowca.

Proponowałbym Ci zacząć pomyśleć, jakie dane chciałbyś przetrzymywać w bazie i zastanowić się nad jej konstrukcją. Drugą sprawą jest interfejs, czyli ten filtr. Zastanów się która opcja z tych trzech będzie dla Ciebie najlepsza. Następnie możesz zastanowić się nad formularzem dodawania nowych produktów, a na sam koniec POD TO napisać skrypt. Tak Według mnie będzie najlepiej. 

komentarz 11 lipca 2016 przez Boshi VIP (100,240 p.)
edycja 11 lipca 2016 przez Boshi
ajaxem można sortować bez problemu pobierając dane wg wybranego parametru.

np

...?parameter=opony

wysyłasz requesta  z klockami  i podstawiasz.

A przy takiej stronce  obciążenie nie ma znaczenia, bo będzie zerowe praktycznie.
komentarz 12 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
No no no :) o taką odpowiedź mi chodziło chociaż nie wcale tak rozbudowaną :) wielkie dzięki będę miał nad czym pracować :)
komentarz 12 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)
W takim razie cieszę się, że pomogłem. Powodzenia w kodzeniu!
komentarz 13 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
Mam gotowy interfejs strony. Stworzyłem system logowania z jednym kontem dostepnym tylko dla administratora gdzie na stronie po zalogowaniu umozliwi wprowadzanie danych do tabeli.

Baza danych opon:

idopont

poraroku

szerokosc

profil

srednica

cena

producent

zdjecie(typu text gdyz ma mi niby sluzyc za sciezke do zdjecia ale nie wiem jeszcze co z tym zrobie).

Wypełniłem baze kilkoma przykłądami ręcznie w phpmyadmin.

Teraz mam parę pytań do samego siebie i szukam trochę ale dużo pomysłów przychodzi mi do głowy ale i tak nie wiem jak je zrealizować.

Mam gotowy formularz do wprowadzania do bazy ale nie jest zaprogramowany w php jeszcze. Moze wprowadzanie zostawie na koniec.

Mam 2 podstrony, opony zimowe i letnie.

Zamierzam umieszczać każdą w divie zdjęcie i pod spodem informacje z bazy.

Ale jak to? mam z góry ustalić ilość divów? przecież opon będzie przybywać? jak mam zautomatyzować tworzenie się divów? czyli pojawianie się nowych opon na stronie?

W takim sensie że opony przybywają a długość strony rośnie.

Nwm jak to zacząć.
komentarz 13 lipca 2016 przez Boshi VIP (100,240 p.)
W pętli pobierasz opony i każdą umieszczasz w divie..

 

foreach($opona as $opony) :?>  <div>
<?=opony['nazwa'] itd</div>

<?php endforeach?>
komentarz 13 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
łapie łapie robi się coraz lepiej :) i ciekawiej :)
komentarz 13 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)
A co do długości strony to robisz stronicowanie strony. Czyli np. 15 opon i ciach! kolejna podstrona albo ładowanie contentu ajaxem.
komentarz 13 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
Mam moze i banalny problem

<img src="img/(tutaj chcę wstawic zmienną).jpg"/>
komentarz 13 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)

No to tak:

<?php
$sciezka="sciezka_z_bazy";
echo '<img src="'.$sciezka.'.jpg'.'"/>';


?>

 

komentarz 13 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
Działa :)

A co do zdjęć planuje napisać jakiś skrypt w PHP który jakiekolwiek otrzymane zdjęcie przekieruje do katalogu z img oraz zmieni nazwę zdjęcia na zwykłe numery 1,2,3,4,5...

Co mi ułatwi zadanie gdyż scieżka w bazie będzie po prostu auto inc.
komentarz 13 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)
hmmm.... W sumie racja. Ścieżką w bazie może wtedy być ID. Wystarczy, że podczas wrzucania pliku skrypt php pobierze ostatnie ID jakie było i zmieni nazwę na ID+1 pliku :)
komentarz 13 lipca 2016 przez Boshi VIP (100,240 p.)
Lepiej generować unikalne key i doklejać na string.
komentarz 13 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
Jeszcze jedna rzecz :D może nie ostatnia.

Teraz buduje INSERT  do bazy.

Aktualnie stoje na pobieraniu = $_POST['']; z formularza

Wszystko pieknie i okey ale mam pole opcji, wybieram albo zimowe albo letnie

pole opcji name="" ma takie same dla kazdej opcji bo tak musi być i jak ja mam przechwicić tą jedna opcje wgl nie trybie.
1
komentarz 13 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)

ale te pole opcji jak masz zrobione? Bo masz 2 wyjścia:

a) na inputach radio

b) na polach select

no i jeśli robisz to na polach select to robisz takie cos:

<select name="pora_roku">
  <option value="zimowa">Zimowa</option>
  <option value="letnia">Letnia</option>
</select>

i jak juz bedziesz pobieral to w zmiennej $_POST['pora_roku'] bedziesz mial zimowa/letnia

komentarz 13 lipca 2016 przez Boshi VIP (100,240 p.)
@Dawid, proponuję ci jakiś kurs php-a od podstaw bo jak bedziesz pytał o takie podstawy co chwilę to za rok tego nie napiszesz.
komentarz 13 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
Oj jest git.
komentarz 13 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)

A jesli chcesz to zrobic na radiach to dla kazdego radia dajesz to samo name tylko inne value:

  <input type="radio" name="pora_roku" value="letnia"> Letnia<br>
  <input type="radio" name="pora_roku" value="zimowa"> Zimowa<br>

 

komentarz 13 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
Jednak nie mam pomysłu na upload tego zdjęcia. Chciałbym żeby było to w tym samym formularzu gdzie wpisuje dane dotyczące opony. :/
komentarz 13 lipca 2016 przez CzikaCarry Szeryf (75,340 p.)

No to po prostu do tagu form dodajesz artybut 

enctype="multipart/form-data"

i w formularzu dodajesz

 <input type="file" name="zdjecie" >

i potem piszesz skrypt PHP obsługujący tego inputa. Tutaj masz wszystko wytłumaczone: http://www.w3schools.com/php/php_file_upload.asp

PS. Tak, tak wiem, W3fools etc. ale to akurat jest dobrze pokazane :D

+1 głos
odpowiedź 11 lipca 2016 przez Boshi VIP (100,240 p.)
edycja 11 lipca 2016 przez Boshi
HTML,CSS,JS(ajax),PHP,MYSQL,SQL to to czego potrzebujesz.

W stopniu podstawowym.

 

W najprostszej postaci napisanie mechaniki do tego to jakieś 1-2h max. Baza nie wydaje się skomplikowana.

opony, kategorie,  zdjecia

 

filtracja przez ajaxa najszybciej.
0 głosów
odpowiedź 11 lipca 2016 przez QizmoPL Stary wyjadacz (11,440 p.)
nie myslales czasem o cms?
komentarz 11 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
Nie, nie :) Nie pójdę na łatwiznę :)
0 głosów
odpowiedź 11 lipca 2016 przez manjaro Nałogowiec (37,390 p.)
A to musi być koniecznie na stronie?

Może wystarczy Ci program desktopowy który to wszystko ogarnie? Wówczas wystarczy Ci znajomość dowolnego języka np C++ albo JAVA plus ewentualnie podstawy SQL
komentarz 11 lipca 2016 przez DawidRodycz Gaduła (3,090 p.)
Ma to służyć ludziom. Nie tylko dla mnie.
0 głosów
odpowiedź 11 lipca 2016 przez jpacanowski VIP (101,940 p.)
Jeśli chcesz się czegoś nauczyć jeśli chodzi o webdev to stwórz sobie prosty CMS w PHP. Ale jeśli zamiast webdev interesuje ciebie raczej C++ to użyłbym jakiś gotowy CMS, gdyż inaczej to tylko strata czasu.

Podobne pytania

0 głosów
1 odpowiedź 889 wizyt
0 głosów
1 odpowiedź 174 wizyt
0 głosów
1 odpowiedź 269 wizyt

92,631 zapytań

141,496 odpowiedzi

319,868 komentarzy

62,011 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...