Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: automatyczne dodawanie
Forum PHP.pl > Forum > Gotowe rozwiązania
eS...
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 smile.gif
rzseattle
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...
malutki pzykład??
troszke rozjaśnić
eS...
[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
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
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...
no powinienem ale sie pogubiłem całkiem sad.gif
nie masz gdzieś takiego pliku zebym mogl sie na nim nauczyc tego??
eS...
dobra wszystko gra tylko że nie kasuje mi fotek według mojego skryptu biggrin.gif
rzseattle
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
Cytat
dobra wszystko gra tylko że nie kasuje mi fotek według mojego skryptu biggrin.gif

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...
dobra kasuje juz samo tylko musze do bazy dodawać ręcznie adres obrazka :/
rzseattle
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...
no niestety jestem beginer więc nie kumam biggrin.gif, 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...
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>&nbsp;&nbsp;";
}


?>[/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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.