Zaloguj się, aby obserwować  
Lurrcio

Webmastering - HTML, PHP, JavaScript, edytory - temat ogólny

1333 postów w tym temacie

Nie chciałbym nadużywać twojego czasu banalnymi pytaniami, ale znów mam lekka zacinkę.
Mam galerie zdjęć. Tabele:
Galerie (id galerii, nazwa)
Zdjecie(id zdjecia, id galerii, itp.)

Lista zdjęć w galerii to pikuś, ale z samym zdjęciem coś mi nie idzie. Jak przekażę do pokaz_zdjecie.php id_zdjecia to nie bardzo wiem jak dostać info o poprzednim i następnym zdjęciu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 18.10.2010 o 11:14, Xantus napisał:

Lista zdjęć w galerii to pikuś, ale z samym zdjęciem coś mi nie idzie. Jak przekażę do
pokaz_zdjecie.php id_zdjecia to nie bardzo wiem jak dostać info o poprzednim i następnym
zdjęciu.


Jeżeli nie potrzebujesz dokładnych informacji o zdjęciu (np. że w ogóle istnieje), to najbardziej sensownym z punktu widzenia wydajności rozwiązaniem będzie zastosowanie linków typu:
pokaz_zdjecie.php?id=X&show=next (następne zdjęcie)
pokaz_zdjecie.php?id=X&show=prev (poprzednie zdjęcie)

i potem jeśli $_GET[''show''] === ''next'':
SELECT * FROM Zdjecie WHERE id_zdjecia > $id ORDER BY id ASC LIMIT 1

a jeśli $_GET[''show''] === ''prev'':
SELECT * FROM Zdjecie WHERE id_zdjecia < $id ORDER BY id DESC LIMIT 1

Jeżeli informacji o poprzednim i następnym zdjęciu potrzebujesz już na etapie wyświetlania "środkowego" zdjęcia, no to trzeba odpytać bazę:
SELECT ''prev'' which, p.*
FROM (SELECT *
FROM Zdjecie
WHERE id_zdjecia < $id
ORDER BY id_zdjecia DESC LIMIT 1) p
UNION ALL
SELECT ''next'' which, n.*
FROM (SELECT *
FROM Zdjecie
WHERE id_zdjecia > $id
ORDER BY id_zdjecia ASC LIMIT 1) n

W wyniku tego zapytania uzyskasz zero, jeden lub dwa wiersze - w dwóch ostatnich przypadkach w kolumnie `which` (pierwszej) będziesz miał albo ''prev'' (zdjęcie poprzednie), albo ''next'' (zdjęcie następne). Można tą unię oczywiście rozbić na dwa zapytania, ale tak chyba będzie nieco lepiej.

We wszystkich zapytaniach pod $id należy podstawić ID zdjęcia z parametru $_GET[''id'']. Dodatkowo, jeżeli zdjęcia nie są numerowane rosnąco, to należy użyć w warunku daty dodania zdjęcia zamiast identyfikatora.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Aha - a jeżeli jedyne, czego potrzebujesz wiedzieć o poprzednim/następnym zdjęciu to ich identyfikatory, to najlepiej by było załatwić temat podzapytaniami w zapytaniu, w którym wyciągasz informacje o "środkowym" zdjęciu. Czyli, jeśli wygląda to np. tak:

SELECT * FROM Zdjecie WHERE id_zdjecia = $_GET[''id'']

to mógłbyś napisać w ten sposób:

SELECT z.*,
(SELECT p.id_zdjecia FROM zdjecie p WHERE p.id < z.id ORDER BY p.id DESC LIMIT 1) id_prev,
(SELECT n.id_zdjecia FROM zdjecie n WHERE n.id > z.id ORDER BY n.id ASC LIMIT 1) id_next
FROM zdjecie z
WHERE z.id_zdjecia = $_GET[''id'']

i wtedy, w kolumnach "id_prev" i "id_next" będziesz miał, odpowiednio, id poprzedniego zdjęcia i id następnego zdjęcia.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No i pięknie śmiga - wielkie dzięki ;)

No ale nie byłbym sobą gdyby nie kolejna zacinka ;)
Mam stronę artykul.php a w nim formularz do dodawania komentarzy.
<form action=artykul.php method=post>

Niby wszystko pięknie działa, ale jak ktoś wpadnie na pomysł odświeżenia strony po dodaniu komentarza, to przeglądarka wyśle znów dane i doda się kolejny komentarz (dubel). Jakie rozwiązania na ten problem polecacie?

Ja wpadłem na taki aby rozdzielić dodawanie komentarza na 2 strony:
w artykul.php --> <form action=dodaj_komentarz.php method=post>
w dodaj_komentarz.php dodawanie komentarza i przekierowanie do strony z artykułem.
Czy są jakieś minusy takiego rozwiązania? Czy może znacie coś lepszego?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 25.10.2010 o 06:22, Xantus napisał:

Czy są jakieś minusy takiego rozwiązania? Czy może znacie coś lepszego?


W bardzo wielu miejscach działa to dokładnie tak, jak opisałeś. Minus jest chyba tylko jeden: konieczność wysłania dwóch requestów HTTP zamiast jednego (no i nieco mniej komfortowo się taką stronę debuguje, ale to już jest detal). Nie podam Ci może lepszego rozwiązania, ale alternatywne ("lepsze" wybierz sobie sam ;)). Otóż, możesz sobie gdzieś na początku skryptu (ale koniecznie po session_start()) wrzucić:

if (!empty($_POST)) {
    if (isset($_SESSION[''post_md5'']) && $_SESSION[''post_md5''] === md5(serialize($ _POST))) {
        $_POST = array();
    } else {
        $_SESSION[''post_md5''] = md5(serialize($_POST));
    }
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam musze to napisać bo tak sobie uczyłem się Ajax(Asynchronous javascript and xml) i nie mogłem dojść do tego co oznaczają te pierdołki napisane ani na w3schools nie opisali tego dokładnie w jednym wątku anie nigdzie indziej nie mogłem znaleź skoncentrowanych i nformacji o AJAX Tak więc znalazłem ciekjawy artykuł i przesyłam go wam jest tam wszystko ładnie napisane także to może być przydatne.

Artykuł:
http://hotfile.com/dl/79400728/bfcc286/cwiczenie05.pdf.html

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Widzę że poruszyliście tu temat wykonania galeri zdjęć na stronie ja mam ten sam problem już napisałeś jak sie odwołać do bazy danych ale ja nie umiem zrobić galerii czy mógłbyś napisać jak to zrobiłeś?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Siama, mam pewien problem tato uraczył mnie dziś prośbą o stworzenie strony internetowej dotyczącej tam jego sklepu/firmy, no było by fajnie gdyby nie to, że ja nigdy nie interesowałem się HTML`em ani żadnym innym językiem stworzonym do projektowania stron www, i tutaj do was moje pytanie, za nim bym się za to wziął to może dobrym pomysłem było by stworzyć mu coś na jakiś gotowych szablonach ( http://ulotka.biz/ )? Bądź na czymś a`la blog?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 01.11.2010 o 12:11, nightfaler napisał:

Siama, mam pewien problem tato uraczył mnie dziś prośbą o stworzenie strony internetowej
dotyczącej tam jego sklepu/firmy, no było by fajnie gdyby nie to, że ja nigdy nie interesowałem
się HTML`em ani żadnym innym językiem stworzonym do projektowania stron www, i tutaj
do was moje pytanie, za nim bym się za to wziął to może dobrym pomysłem było by stworzyć
mu coś na jakiś gotowych szablonach ( http://ulotka.biz/ )? Bądź na czymś a`la blog?


Jak się nie znasz na programowaniu w językach programowania używanych do pisania stron to polecam użyć jakiegoś CMSa (CMS - System Zarządzania Treścią). Ja osobiście polecam PHP-Fusion, bo jest łatwy w obsłudze i ma mocno rozwiniętą społeczność skupioną wokół tego projektu. Inny, bardziej precyzyjny CMS ciężko mi jest doradzić ze względu na brak dokładnych informacji dotyczących tego co ma zawierać strona.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam problem.
Generalnie po utworzeniu forów tutaj(obrazek pierwszy "PHP")na stronie głównej pojawia się jedynie pierwsze forum(obrazek "PHP1"). Ech, dodatkowo nie można w tym tworzyć tematów. Nie wiem co jest grane :/(obrazek "PHP2" tak dla formalności).

20101101194329

20101101194501

20101101194643

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 01.11.2010 o 19:46, Ichibanboshi-kun napisał:

Mam problem.
Generalnie po utworzeniu forów tutaj(obrazek pierwszy "PHP")na stronie głównej pojawia
się jedynie pierwsze forum(obrazek "PHP1"). Ech, dodatkowo nie można w tym tworzyć tematów.
Nie wiem co jest grane :/(obrazek "PHP2" tak dla formalności).


Co prawda nigdy nie zajmowałem się phpBB, ale czy nadałeś poszczególnym działom odpowiednie prawa? Dokładniej czy pozwoliłeś zakładać tematy. A czy nie jest tam też tak, że jest tak: Główny dział -> dział forum -> posty.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie widzę czegoś takiego niestety :/
Ale są już postępy. Aktualnie już tylko muszę odnaleźć tę opcję dającą możliwość tworzenia tematów, bo fora Offtop i Sprawy dot. zajęć już się pojawiły.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam korzystam z wampservera podanego w temacie przyklejonym jako link i jest tego typu problem i nie moge go rozwiązać co źle robie? próbuje sie odwołać za pomocą języka php do bazy mysq czyli umieścić tam nowe rekordy ale wciąż mi błąd wyskakuje?

20101102201848

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 02.11.2010 o 20:18, benq20 napisał:

Witam korzystam z wampservera podanego w temacie przyklejonym jako link i jest tego typu
problem i nie moge go rozwiązać co źle robie? próbuje sie odwołać za pomocą języka php
do bazy mysq czyli umieścić tam nowe rekordy ale wciąż mi błąd wyskakuje?


A można wiedzieć co robiłeś z Apachem, że zostal uszkodzony? Przeinstaluj serwer patrząc, by każdy składnik serwera był odpowiednio skonfigurowany. Ewentulanie możesz zamienić ten pakiet na WebServ 2 lub XAMMP.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 01.11.2010 o 14:34, Piterus_Von_Drackus napisał:

CMS ciężko mi jest doradzić ze względu na brak
dokładnych informacji dotyczących tego co ma zawierać strona.

No to strona nie będzie zawierać żadnych fajerwerków, ma być po prostu schludna, jakaś strona tytułowa, do tego jakieś parę zakładek typu : "o nas"; "kontakt"; "zdjęcia". Ma to być strona czysto informacyjna.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja tylko chciałem powiedzieć że po przejściu na web serva wszystko działa i nie wyświetlają się błędy ponadto jest łatwy w obsłudze.Proponuję żeby zamienic linki w temacie przyklejonym z wampa na web serva oszczędzi to problemów.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 05.11.2010 o 17:43, nightfaler napisał:

> CMS ciężko mi jest doradzić ze względu na brak
> dokładnych informacji dotyczących tego co ma zawierać strona.
No to strona nie będzie zawierać żadnych fajerwerków, ma być po prostu schludna, jakaś
strona tytułowa, do tego jakieś parę zakładek typu : "o nas"; "kontakt"; "zdjęcia". Ma
to być strona czysto informacyjna.


To chyba nie ma sensu bawić się w CMS. Poszukaj czegoś pod hasłem darmowe szablony.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 01.11.2010 o 12:09, benq20 napisał:

Widzę że poruszyliście tu temat wykonania galeri zdjęć na stronie ja mam ten sam problem
już napisałeś jak sie odwołać do bazy danych ale ja nie umiem zrobić galerii czy mógłbyś
napisać jak to zrobiłeś?


Musisz zadawać bardziej szczegółowe pytania. Z czym konkretnie problem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować