eS...
28.09.2003, 20:35:36
witam
chcę stworzyc swoją dosyć prosta galerie oparta o MySQL
stworzyłem baze w której znajduja sie rekordy ADRES(czyli adres obrazka w postaci
http://cos.pl/o.jpg) ora rekord MINIATURKA (czyli poprostu miniaturka:))
zwracam sie do was z pytaniem, jak automatycznie dodać przynajmniej adres obrazka do Bazy danych??
jeśli coś jest nie zrozumiałe to wytłumacze
rzseattle
28.09.2003, 21:04:04
1.listujesz katalog
2. sprawdzasz czy dany pik jest juz w bazie
3. jesli jest to nierobisz nic
4 jesli nie ma to go dodajesz do bazy (jesli sprawdiles rownierz czy istnieje miniaturka bo jesli nie to dajesz link do 'domyslnej miniaturki' lub ja tworzysz)
5 dodajesz podobny mechanizm do poprzedniego tylko na odwrot - czyli sprawdzasz czy wpisy w bazie sa aktualne i czy pliki nadal istnieja
6 na swoim sajcie tojuz tylko z bazy pobierasz rekordy i wyswietlacz pliki
jak cos jest niejasne to PYTAC
eS...
28.09.2003, 21:08:02
malutki pzykład??
troszke rozjaśnić
eS...
28.09.2003, 21:19:50
[php:1:3ddf688b6b]<?php
mysql_connect ("localhost","root","krasnal") or
die ("Baza danych nie została odnaleziona");
mysql_select_db ("gallery") or
die (":P");
if ($co='dodaj') {//dodawanie rekordu
if ($adres) {
$query="INSERT INTO gallery(adres) VALUES ('$adres');"
$wynik= mysql_query ($query);
}
}elseif ($co== 'skasuj') { //kasowanie rekordu
$wynik = mysql_query("DELETE FROM gallery WHERE adres = '$adres';");
}
$wynik= mysql_query ("SELECT * FROM gallery;")or
die ("Błąd");
while ($rekord= mysql_fetch_array ($wynik)) {
$adres=$rekord[0];
print "<img src=$adres width=300 height=300 width=300>";
print "<A HREF="index.php?co=skasuj&adres=$adres">skasuj</a>";
}
?>[/php:1:3ddf688b6b]
napisałem cos takiego z przykładu z książki, narazie chodzi mi poprostu o dodanie rekordu z adresem obrazka ale wywala mi błąd w 11 lini
rzseattle
28.09.2003, 21:26:56
przyklad dodawania
[php:1:7854b7d5a6]<?php
<?php
//listowanie katalogu
$katalog = 'jakis_katalog'
$dir=opendir($katalog);
while($plik=readdir($dir))
{
if(($plik!=".") && ($plik!=".."))/ {
$q = "select id from zdjecia where sciezka ='".$katalog."/".$plik."'";
$r = mysql_fetch_assoc( mysql_query( $q ) );
if ( !$r['id'] ){
mysql_query("insert into zdjecia(katalog) values ('".$katalog."/".$plik."') ");
}
}
?>[/php:1:7854b7d5a6]
przyklad sprawdzania czy wpisy sa aktualne
[php:1:7854b7d5a6]<?php
$q = "select sciezka from zdjecia";
$r = mysql_query( $q );
while( $line = mysql_fetch_asoc( $r ) ){
if( !file_exists( $line['$sciezka'] ){
mysql_query( "delete from zdjecia where sciezka ='".$line['sciezka']."'" );
}
}
?>[/php:1:7854b7d5a6]
gdzies moga tkwic byki ale to juz sam jestes wstanie pewnie poradzic
i znowu jesli cos nie jasne to pytac
rzseattle
28.09.2003, 21:28:33
Cytat
napisałem cos takiego z przykładu z książki, narazie chodzi mi poprostu o dodanie rekordu z adresem obrazka ale wywala mi błąd w 11 lini
bo srednik masz w cudzyslowie a nie za nim w lini 10
eS...
28.09.2003, 21:31:40
no powinienem ale sie pogubiłem całkiem
nie masz gdzieś takiego pliku zebym mogl sie na nim nauczyc tego??
eS...
28.09.2003, 21:41:44
dobra wszystko gra tylko że nie kasuje mi fotek według mojego skryptu
rzseattle
28.09.2003, 21:41:49
dobra jeszcze raz tylko z opisami (zakladam ze przez automatyczne dodawanie rozumiesz - 'jesli plik jest w jakims katalogu to go wyswietl')
[php:1:3dcdb225fb]<?php
//listowanie katalogu
$katalog = 'jakis_katalog' //tu podajesz katalog w ktorym sa zdjecia
$dir=opendir($katalog); // to otwiera katalog
//petla ktora czyta kazdy plik w katalogu
while($plik=readdir($dir))
{
//odzuca dwie ppierwsze wartosci zwrocone przez petle czyli '.' i '..'
if(($plik!=".") && ($plik!="..")) {
//tworzy pytanie do bazy 'czy rekord z taka sciezka istnieje'
$q = "select id from zdjecia where sciezka ='".$katalog."/".$plik."'";
//wysyla zapytanie do bazy i przetwarza odpowiedz w tablice
$r = mysql_fetch_assoc( mysql_query( $q ) );
//sprawdza czy w powyzszej operacji costal zwrucony klucz 'id'
if ( !$r['id'] ){
//jesli nie (czyli nie ma wpisu) to dodaje nowy rekord
mysql_query("insert into zdjecia(katalog) values ('".$katalog."/".$plik."') "); }
}
?>[/php:1:3dcdb225fb]
rzseattle
28.09.2003, 21:45:43
Cytat
dobra wszystko gra tylko że nie kasuje mi fotek według mojego skryptu

okej wiec zrobimy to twoim sposobem
po pierwsze uzywaj tablicy $_GET['zmienna'] przy przesylaniu zmiennych w adresie
po drugie w lini 8 masz byka
[php:1:cdd27597e0]<?php
//zamiast
if ($co='dodaj') {//dodawanie rekordu
//ma byc
if ($co=='dodaj') {//dodawanie rekordu
?>[/php:1:cdd27597e0]
eS...
28.09.2003, 21:51:55
dobra kasuje juz samo tylko musze do bazy dodawać ręcznie adres obrazka :/
rzseattle
28.09.2003, 22:01:00
Cytat
dobra kasuje juz samo tylko musze do bazy dodawać ręcznie adres obrazka :/
a jak chcesz dodawac - bo wyzej dalem ci przyklad w pelni automatic
eS...
28.09.2003, 22:02:33
no niestety jestem beginer więc nie kumam

, narazie udało i sie mniej wiecej zobic tak że po wpisaniu url obrazka wyswietla mi go a raczej dodaje jego adres do bazy
eS...
28.09.2003, 22:46:11
ok mam swoja pierwsza galerie, moze nie jest jakas nowoczesna ale zawsze cos:
skasuj.php
[php:1:f8402edde0]<?php
mysql_connect ("localhost","root","krasnal") or
die ("Baza danych nie została odnaleziona");
mysql_select_db ("gallery") or
die ("ssss");
if ($co=='dodaj') {
if ($adres) {
$query="INSERT INTO gallery(adres) VALUES ('$adres')" ;
$wynik= mysql_query ($query);
}
}elseif ($co== 'skasuj') {
$wynik = mysql_query("DELETE FROM gallery WHERE adres= '$adres';");
}
$wynik= mysql_query ("SELECT * FROM gallery;")or
die ("Błąd");
while ($rekord= mysql_fetch_array ($wynik)) {
$adres=$rekord[0];
print "<img src=$adres width=150 height=150>";
print "<A HREF="index.php?co=skasuj&adres=$adres">skasuj</a>";
print '<FORM METHOD="POST">';
print '<INPUT TYPE="Hidden" Name="co" value="dodaj">';
print 'Wpisz adres twojego zdjęcia<input type="text" name="adres" value="http">';
print'<input type ="submit" value="dodaj"></form>';
}
?>[/php:1:f8402edde0]
dodaj.php
[php:1:f8402edde0]<?php
mysql_connect ("localhost","root","krasnal") or
die ("Baza danych nie zostala odnaleziona");
mysql_select_db ("gallery") or
die ("ssss");
if ($adres) {
$query="INSERT INTO gallery(adres) VALUES ('$adres')";
$wynik=mysql_query($query);
}else{
print '<FORM METHOD="POST">';
print 'Wpisz adres twojego zdjęcia<input type="text" name="adres" value="http">';
print'<input type ="submit" value="dodaj"></form>';
}
?>[/php:1:f8402edde0]
index.php
[php:1:f8402edde0]<?php
mysql_connect ("localhost","root","krasnal") or
die ("Baza danych nie zostala odnaleziona");
mysql_select_db ("gallery") or
die ("ssss");
$query="SELECT * FROM gallery";
$wynik=mysql_query ($query);
while ($rekord=mysql_fetch_array ($wynik)){
$obrazek=$rekord[0];
print "<a href=$obrazek target=_blank><img src=$obrazek width=150 height=150></a> ";
}
?>[/php:1:f8402edde0]
jak sami widzicie cienizna, no ale ja sie ciesze, jeśli macie jakiś pomysł co zmienic to gadajcie
pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.