• 16 odgovora
  • 4.618 pregleda
Php forma plus neogranicen broj slika 26.08.2012. u 20:34 · pre 172 meseci #1
Da li mi moze neko pojasniti kako funkcionise skripta sa linka : http://polovni-delovi.com/unos-auto
i kako treba da izgleda baza za tu formu ? (znaci uploadovanje neogranicen broj slila, sa ostalim innformacijama, ) KOnkretno mi nije jasno kako se vise od 1 slike kace za uneti oglas , tj valjda oglas_id u bazi??

hvala
Re: Php forma plus neogranicen broj slika 26.08.2012. u 20:40 · pre 172 meseci #3
ali kako se pribavlja post_id??? To mi nikako nije jasno? Jer ne postoji sesija , ne postoji korisnik_id..... nista

[Ovu poruku je menjao j4m0r3 dana 26.08.2012. u 22:05 GMT+1]
Re: Php forma plus neogranicen broj slika 27.08.2012. u 01:05 · pre 172 meseci #5
Da , ok , ali mene bas interesuje ovaj tip skripte! Dakle uneti oglas sa neogranicenim brojem slika! Ja kontam analitiku sa jednom , ali ne znam kako sa 2 ili vise?
Dakle nije problem html forma, nego je fazon u mysql-u, kako uneti te putanje u bazu, ali da one budu sve u okviru tog jednog oglasa koji je unet, dakle kada se izlistvaju da ne budu rastrkane u svakom oglasu sve slike...itd
Re: Php forma plus neogranicen broj slika 27.08.2012. u 01:29 · pre 172 meseci #6
Dodas oglas, prilikom upisa u bazu on dobija neki ID, zatim iz tabele izvuces ID zadnjeg zapisa, njega dalje iskoristis da u tabeli Slike napravis FK ka tom oglasu.
Re: Php forma plus neogranicen broj slika 27.08.2012. u 01:50 · pre 172 meseci #7
Da , to je donekle resenje, ali postoji problem , sta ako npr 5 korisnika uploaduje istovremeno slike , onda moze doci do mesanja...?! Zar ne? ako se ne varam.:/ Evo postavio sam kod, ali fali mi to sto se tice samih slika...
Code:
<?php
include "konekcija.php";

$sql="INSERT INTO oglas (marka, model, godiste, kategorija, stanje, cena, prodavac, mob, grad, email, tekst)
VALUES
('$_POST[marka]','$_POST[model]','$_POST[godiste]','$_POST[kategorija]','$_POST[stanje]','$_POST[cena]','$_POST[prodavac]','$_POST[mob]','$_POST[grad]','$_POST[email]','$_POST[tekst]')";




if (!mysql_query($sql,$konekcija))
  {
  die('Error: ' . mysql_error());
  }
echo "Uneli ste oglas";

mysql_close($konekcija);
?>


Re: Php forma plus neogranicen broj slika 27.08.2012. u 02:00 · pre 172 meseci #8
Nisam video kako se vrsi upload, ali upload i upis u bazu nemaju veze jedno sa drugim osim ako se slike ne cuvaju direktno u bazi.
Uploadujes slike jednu za drugom. On ih cuva na serveru i u npr sesiji belezi njihove lokacije. U trenutku kada napises sve podatke i kliknes da postavis oglas, on:
- upisuje oglas
- odmah izvlaci ID zadnjeg oglasa (koji mislim da vazi na nivou konekcije, nisam siguran bas). Uglavnom sansa da se nesto u medjuvremenu desi je nikakva.
- Zatim prelazi na upis slika u bazu koristeci taj ID kao FK, i podatke o slikama(putanja/naziv) koje je cuvao u sesiji. Zatim isprazni sesiju.

Ne mora da znaci da ovako funkcionise, ovo je samo kako bi moglo ako se slike nezavisno uploaduju, a ne prilikom postavljanja oglasa. Moze da puni hidden polje imenima tih slika, a kada posaljes oglas on odatle povuce imena. Itd..
Re: Php forma plus neogranicen broj slika 27.08.2012. u 10:45 · pre 172 meseci #10
Kao sto je receno upload i upis su sve razlicite stvari.
Najjednostavniji upload je da imas array elemenata koji dinamicki kreiras sa js.
<input name="fajl[]" type="file" /> i tako n elemenata mozes da dodas.

Upisujes u bazu u posebnu tabelu gde imas image, post_id.

Ovo sta sada radi je malo komplikovanije i radi se sa ajaxUpload.

Tu komponentu mozes da skines sa neta i imas upustvo.
A imas i gomilu slicnih skripti.
Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Re: Php forma plus neogranicen broj slika 27.08.2012. u 17:05 · pre 172 meseci #11
Stavis kao tekstualno polje u bazi, i ubacis ovako slika1.jpg|slika2.jpg|slika3.jpg|slika4.jpg ili ih razvojis na bilo koji drugi nacin. Posle uradis php explode i prikazujes redom taj array.
Re: Php forma plus neogranicen broj slika 27.08.2012. u 17:39 · pre 172 meseci #12
Resio sam na ovaj nacin:
Code:
<?php
include "konekcija.php";


mysql_query("INSERT INTO oglas (marka, model, godiste, kategorija, stanje, cena, prodavac, mob, grad, email, tekst)
VALUES
('$_POST[marka]','$_POST[model]','$_POST[godiste]','$_POST[kategorija]','$_POST[stanje]','$_POST[cena]','$_POST[prodavac]','$_POST[mob]','$_POST[grad]','$_POST[email]','$_POST[tekst]')");





$query ="SELECT max(id_oglas) FROM oglas";
$result = mysql_query($query) or die ("Error in query: $query. " .
mysql_error());
$row = mysql_fetch_row($result);
echo $row[0];



mysql_query("INSERT INTO slika (oglas_id, slika)
VALUES
('$row[0]','$_POST[slika]')");

if (!mysql_query($query,$konekcija))
  {
  die('Error: ' . mysql_error());
  }
echo "Uneli ste oglas";





?>


Mada svidja mi se resenje koje je naveo powersz
Re: Php forma plus neogranicen broj slika 30.08.2012. u 09:56 · pre 172 meseci #15
Nije mislio na verifikaciju vec
treba ovako nesto
Code (php):

$marka = mysql_real_escape_string($_POST[marka]);
 


SELECT max(id_oglas) FROM oglas;
A ovako da dobijes id oglasa nije bas pametno jer je moguce da u tom medjukoraku imas 2 inserta 2 razlicita korisnika pa ce oboje dobiti isti id oglasa kao return.

Koristi mysql_insert_id.

I umesto mysql koristi mysqli ili neki framework.

http://www.php.net/manual/en/book.mysqli.php



Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Re: Php forma plus neogranicen broj slika 30.08.2012. u 11:13 · pre 172 meseci #16
Takodje, cuvaj slike u posebnoj tabeli, nikako u jednom polju pa da radis explode.
To resenje moze da posluzi, ali kad slike drzis u tabeli, na mnogo laksi nacin mozes da ih handle-ujes (brisanje, dodavanje, dodavanje extra detalja, sortiranje, etc...)
Re: Php forma plus neogranicen broj slika 30.08.2012. u 13:40 · pre 172 meseci #17
VladaSu hvala ti puno !!! Vrlo pametne i korisne informacije!!!
Nisam ni znao da postoji ta funkcija....svaka cast!

Hvala svima ostalima na dobrim sugestijama!

[Ovu poruku je menjao j4m0r3 dana 30.08.2012. u 14:51 GMT+1]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme