batmomobil
(batmomobil)
3 Październik 2010 11:39
#1
Jak przerobic skrypt bo ładuje zdjęcia te same w podstronę,jak zmienić żeby ładowalo nowe zdjęcia w podstronę
<?php require 'db.php';
$query = "SELECT id_zdjecie, nazwa_zdjecie, opis_zdjecie, link_zdjecie FROM galeria ORDER BY Rand() LIMIT 12"; $limit = (isset($_GET['go']))?$_GET['go']*12:0;
$back = '';
if($limit>=12)
$back = 'Poprzednia';
$next = 'Następna';
$result = mysql_query($query) or die(mysql_error($mysqli));
if ($result) {
echo "
"; while ($row = mysql_fetch_object($result)) { $nazwa = $row->nazwa_zdjecie; $opis = $row->opis_zdjecie; $link = $row->link_zdjecie; $id = $row->id_zdjecie; echo "
$nazwa
$opis \n"; } echo $back.’ | '.$next; "
"; } ? [/code]
Trochę jest tu namieszane ale możesz spróbować dodać w zapytaniu coś takiego
WHERE id_zdjecie>=$limit
Jeżeli id_zdjecie w twojej tabeli jest liczbowe i idzie po kolei tzn 1, 2, 3, … bez żadnych przerw to powinno działać
batmomobil
(batmomobil)
6 Październik 2010 17:29
#3
demistrakos:
WHERE id_zdjecie>=$limit
próbowałem dodac do zapytania,coś jest zle bo niepojawia się podstrona,
$query = "SELECT id_zdjecie, nazwa_zdjecie, opis_zdjecie, link_zdjecie WHERE id_zdjecie>=$limit FROM galeria ORDER BY Rand() LIMIT 12
Natomiast zmieniłem zapytanie i segreguje zdjecia,ale nie dodaje następnego limitu na następna podstronę
$query = "SELECT id_zdjecie, nazwa_zdjecie, opis_zdjecie, link_zdjecie FROM galeria ORDER BY id_zdjecie ASC LIMIT 12";
Jeśli dodam WHERE id_zdjecie>=$limit nie wyświetla się podstrona,jak poprawnie zapisać zapytanie!
Jeżeli id_zdjecie w twojej tabeli jest liczbowe i idzie po kolei tzn 1, 2, 3, … bez żadnych przerw to powinno działać
No to najlepiej zrób tak:
dajesz 2 zmienne $od i $do
$od= $limit - 12
$do= $limit
wtedy zapytanie powinno wyglądać tak:
$query = "SELECT id_zdjecie, nazwa_zdjecie, opis_zdjecie, link_zdjecie FROM galeria ORDER BY id_zdjecie ASC LIMIT $od, $do";
To jest tylko idea jak to zrobić. Wiadomo że trzeba dodać jeszcze dodatkowe zabezpieczenia i warunki ale ja tak kiedyś robiłem i działało najlepiej
batmomobil
(batmomobil)
10 Październik 2010 09:10
#5
dodałem zmienną i zmieniłem zapytanie,niedziała podstrona się nie wyświetla,
<?php require 'db.php';
$query = "SELECT id_zdjecie, nazwa_zdjecie, opis_zdjecie, link_zdjecie FROM galeria ORDER BY id_zdjecie ASC LIMIT $od, $do"; $limit = (isset($_GET['plik']))?$_GET['plik']*12:0; $od= $limit - 12;
$do= $limit ; $back = '';
if($limit>=12)
$back = '< Poprzednia';
$next = 'Następna >';
$result = mysql_query($query) or die(mysql_error($mysqli));
if ($result) {
echo "
"; while ($row = mysql_fetch_object($result)) { $nazwa = $row->nazwa_zdjecie; $opis = $row->opis_zdjecie; $link = $row->link_zdjecie; $id = $row->id_zdjecie; echo "
$nazwa
$opis \n"; } echo "
"; } echo $back.’ | '.$next; ? [/code]
jestem nowicjuszem w tym temacie,jeśli możesz to pomóż
require 'db.php';
$limit=12;
$limit = (isset($_GET['plik']))?$_GET['plik']*12:0; $od= $limit - 12;
$do= $limit ;
$query = "SELECT id_zdjecie, nazwa_zdjecie, opis_zdjecie, link_zdjecie FROM galeria ORDER BY id_zdjecie ASC LIMIT $od, $do";
Zmienne muszą być ustalone przed zapytaniem.Zobacz może to bedzie działać.
batmomobil
(batmomobil)
11 Październik 2010 18:55
#7
zmieniłem tak,podstrona się wyświetla,ale jest problem z tym,że po naciśnięciu na następny przechodzi na pustą podstronę i naciśnięciu na poprzednia nie wraca z do zdjęć
<?php require 'db.php'; $limit = (isset($_GET['go']))?$_GET['go']*12:0; $back = ''; if($limit>=12)
$back = '< Poprzednia';
$next = 'Następna >'; $query = "SELECT id_zdjecie, nazwa_zdjecie, opis_zdjecie, link_zdjecie FROM galeria WHERE id_zdjecie>=$limit LIMIT 12";
$result = mysql_query($query) or die(mysql_error($mysqli));
if ($result) {
echo "
"; while ($row = mysql_fetch_object($result)) { $nazwa = $row->nazwa_zdjecie; $opis = $row->opis_zdjecie; $link = $row->link_zdjecie; $id = $row->id_zdjecie; echo "
$nazwa
$opis \n"; } echo "
"; } echo $back.’ | '.$next; ? [/code]
Pewnie dlatego że jak wejdziesz na stronę zmienna go = 0 a więc id_zdjecie>=0 zdjęcia o id większym od 0 (1, 2, 3, itd) są wyświetlane a po kliknięciu w link Następna $go=0+12=12
$limit = (isset($_GET['go']))?$_GET['go']*12:0;
12*12=144 tylu zdjęć chyba nie masz w bazie więc nic ci się nie wyświetla. Poprzednia 144-12=132
$limit = (isset($_GET['go']))?$_GET['go']*12:0;
(gdyby $go miały by mieć wartości dla kolejnych podstron 1, 2, 3 to by działało ale skoro w $next i $back jest +12 i -12 to wszystko się ci sypie) 132*12=1584 Tylu to już na pewno nie masz w bazie Tak to rozkminiłem a więc zapisz to tak i powinno działać
$limit = (isset($_GET['go']))?$_GET['go']:0;
PS. Jeszcze nie wiem po co to
if($limit>=12)
skoro to nic nie zmienia.
batmomobil
(batmomobil)
12 Październik 2010 16:52
#9
demistrakos dzięki już jestem blisko zaczyna działać, przepisuje 12 zdjęcie na następną podstronę,ale to szczegółhttp://www.wojciechgaleria.friko.pl zrobiłem jeszce tak:
$limit = (isset($_GET['go']))?$_GET['go']:1;
czy będzie poprawnie
demistrakos
(demistrakos)
12 Październik 2010 22:07
#10
Jest ok o ile pierwsze zdjęcie ma id 1.
W razie jeszcze jakiś problemów pisz
PS. W zapytaniu zmień LIMIT 12 na LIMIT 13 wtedy będzie ok
batmomobil
(batmomobil)
16 Październik 2010 17:47
#11
demistrakos pomóż potrzebuje zmienić,aby linki podstron w iframe byly w php czyli metodą np: zmiennej get
Gry na przegl.
[/code]
demistrakos
(demistrakos)
16 Październik 2010 20:38
#12
Nie wiem dokładnie o co ci chodzi dlatego napisze na wszelki wypadek to co wiem
Przykładowy kod ramki
Twoja przeglądarka nie obsługuje ramek[/code]
a więc aby link odwoływał się do tej ramki należy nadać mu parametr target z nazwą ramki.
[code]Gry na przegl.
batmomobil
(batmomobil)
17 Październik 2010 07:39
#13
Nie zrozumieliśmy się linki otwierają się w iframe(ramki),ale chcę to zmienić i zrobić w php np: na zmiennych.P$.jestem początkujący w php
<?php
$foot = $_GET['go'];
if(!empty($foot)) {
if(is_file("$foot.php")) include "$foot.php";
}
echo "$foot";
?>
demistrakos
(demistrakos)
18 Październik 2010 08:31
#14
Aha Już rozumiem a wiec najlepiej jak zrobisz tak:
$foot = $_GET['go'];
switch ($foot) {
case "home" :
$strona="home.php";
break;
case "news":
$strona="news.php";
break;
case "galeria":
$strona="galeria.php";
break;
default:
$strona="home.php";
}
include $strona;
Jak tak zrobisz to będzie działać. Bo tak jak ty to zrobiłeś to ktoś może sobie otworzyć każdy plik z twojej strony.
Czegoś nie rozumiesz ? Zobacz http://php.net/manual/en/control-structures.switch.php a jak dalej nie rozumiesz to napisz
batmomobil
(batmomobil)
18 Październik 2010 18:05
#15
zrobiłem tak i otwiera się w nowym oknie
Rejestracja
Logowanie
Forum
Dodaj tapety
tapety muzyczne[/code]
[code]<?php $foot = $_GET[‘id’]; switch ($strona) { case “rejestracja” : $strona=“rejestracja.php”; break; case “logowanie”: $strona=“logowanie.php”; break; case “zdjecia”: $strona=“zdjecia.php”; break; default: $strona=“fotki.php”; } include $strona; ?>
demistrakos
(demistrakos)
19 Październik 2010 15:18
#16
Ten skrypt co ci podałem dajesz w miejsce gdzie ma być wyświetlona treść i w tedy link powinien wyglądać tak
Rejestracja
Logowanie
[/code]
oczywiście jeżeli wkleiłeś kod do pliku index.php
Pliki logowanie.php, fotki.php, zdjecia.php itd. mają zawierać tylko dany skrypt np. do logowania i wtedy będzie on wstawiany tak jak by do szablonu a nie tak jak u ciebie każdy plik zawiera całą stronę.
batmomobil
(batmomobil)
20 Październik 2010 15:21
#17
a jak można wczytać całą podstronę w php,bo ja to robię ifrme
demistrakos
(demistrakos)
20 Październik 2010 17:42
#18
Dokładnie w ten sam sposób ale to niema sensu. Jak twoja strona będzie miała 100 podstron to żeby dodać nową pozycje do menu będzie ci się chciało edytować każdy plik z osobna ?
Najlepiej zrobić szablon w 1 pliku ( ewentualnie podzielony na moduły w różnych plikach które są includowane do 1) i treść strony wstawianą dynamicznie bo po to jest przecież PHP.
batmomobil
(batmomobil)
20 Październik 2010 19:27
#19
tylko,że niewiem jak,jestem trochę zielony w php!
demistrakos
(demistrakos)
20 Październik 2010 20:34
#20
A więc tak
Ogarnij layout bo cały ci się rozjeżdża i wywal te reklamy
2.Stwórz nowy plik index.php w nim wklejasz cały kod kod strony tylko wywalasz
[/code]
3. W miejsce tego iframe-a co go usunąłeś wstawiasz ten kod
[code]<?php $id= $_GET[‘id’]; switch ($id) { case “rejestracja” : $strona=“rejestracja.php”; break; case “logowanie”: $strona=“logowanie.php”; break; case “zdjecia”: $strona=“zdjecia.php”; break; case “fotki”: $strona=“fotki.php”; break; default: $strona=“logowanie.php”; } include $strona; ?>
Tworzysz pliki fotki.php, logowanie.php itd a w nich tylko treść która ma być wstawiona w miejsce tamtego iframe-a
Dalej mi się nie chce pisać poczytaj trochę kursów, tutoraiali.
Dzięki zdobytej wiedzy twórz najlepsze strony na świecie
Musisz nauczyć się czegoś nauczyć i dopiero tworzyć.
Bill Gates się nie op*****lał