Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Grafika w bazie danych
Forum PHP.pl > Forum > Przedszkole
simon111
Mam taki problem, że chciałbym dodawać do bazy danych grafikę. Zawsze dodawałem tekst wpisywany z klawiatury, np.:


Kod
Wprowadź nazwę:<br>
<input type="text" name="nazwa" />




potem wysyłałem to do pliku wykonawczego, gdzie za pomocą takiego kodu:


Kod
$ins = @mysql_query("INSERT INTO info SET nazwa='$nazwa'");



wstawiało mi daną do bazy.
Ale jak zrobić, żebym mógł sobie wstawiać do bazy np. jakieś zdjątka? sad.gif
Bardzo proszę o pomoc w tej sprawie, z góry dziękuję i czekam na wszelkie sugestie i podpowiedzi.
potreb
Chcesz przetrzymywać grafikę w bazie czy w folderze?

Edit:
Jak już Cezar pisze, wyszukiwarka nie boli, a większość tutaj chce od razu żeby skrypt napisać zanim coś konkretnego swojego przedstawi.
Cezar708
Cytat(potreb @ 26.01.2008, 14:25:24 ) *
Chcesz przetrzymywac grafike w bazie czy w folderze?


Kolega ~potreb pyta, czy grafikę chcesz przechowywać na swoim serwerze czy na innych. Czy w zmiennej $nazwa jest tylko URL do pliku graficznego, czy może ścieżka dostępu do pliku na komputerze klienta.

Jeśli chcesz ładować dane na serwer to przeszukaj te forum, rozwiązań jest wiele,

hasła kluczowe to: uploadowanie plików, move_uploaded_files(), multipart/form-data rtc... poczytaj a potem popytaj o szczegóły.

Pozdrawiam
phpion
Cytat(potreb @ 26.01.2008, 16:25:24 ) *
Chcesz przetrzymywac grafike w bazie czy w folderze?

i
Cytat(Cezar708 @ 26.01.2008, 16:37:51 ) *
Kolega ~potreb pyta, czy grafikę chcesz przechowywać na swoim serwerze czy na innych.

Nie, kolega ~potreb pyta czy (cytując) "przetrzymywac grafike w bazie czy w folderze". Jeśli w bazie to w polu typu BLOB. Ja osobiście zdecydowanie preferuje przetrzymywanie danych w katalogach, a w bazie zapisuję tylko nazwy plików. W każdej chwili mogę ręcznie podejrzeć zawartość plików lub przenieść je w inne miejsce.
simon111
Witam

Wiesz, bardzo mi się spodobał pomysł przetrzymywania grafiki w katalogach, a nie w samej bazie. Z tego co sie zorientowałem trzymanie grafy w bazie mocno ją przeciąża, a i wielkość (jakość) grafiki nie jest powalająca.
Zdecydowałem się na wstawianie ścieżki do bazy np. C:\galeria\1.jpg.

Ale, czy możecie mi powiedzieć, jak trzeba zrobić, żeby po wpisaniu kodu:
Kod
$query  = "SELECT * FROM sciezka";
$result = mysql_query($query)
    or die("Query failed");

while ($row = mysql_fetch_array($result)) {
    echo "<center><table border width='720'><TR><TD width='120'>" . $row["numer_id"] ."</TD>
    <TD width='120' align='center'>" . $row["miejsce"] ."</TD>
    </TR>\n</table></center>";


Nie wypisywał mi ścieżki tylko pokazał obrazek? Trzeba dołożyć jakiś znacznik, czy napisać zupełnie inną komendę. Jeśli znacie chociaż jakiś link, lub nazwę do tego to bardzo proszę o pomoc. Tymczasem dziękuję za podpowiedzi i czekam na dalsze sugestię. Pozdrawiam.
colinQ
  1. <?php
  2. $query = "SELECT * FROM sciezka";
  3. $result = mysql_query($query)
  4. or die("Query failed");
  5.  
  6. while ($row = mysql_fetch_array($result)) {
  7. echo "<center><table border width='720'><TR><TD width='120'>" . $row["numer_id"] ."</TD>
  8. <TD width='120' align='center'><img src=\"" . $row["miejsce"] ."\"></TD>
  9. </TR>\n</table></center>";
  10. ?>


Tak?

Wystarczy IMG SRC dopisać smile.gif
b_chmura
od siebie dodam, że nie warto przechowywać ścieżki do pliku a jedynie jego nazwę.
Zauważ że jeśli przeniesiesz serwis, zmienisz katalog automatycznie musisz zmieniać ścieżkę.

Ścieżkę podawaj przy wyświetlaniu wyników.

  1. <?php
  2. $sciezka = './sciezka/do/pliku/'; //ścieżka do katalogu z plikami
  3. $nazwapliku = 'plik.jpg'; //nazwa pliku wyciągnięta z bazy
  4.  
  5. //...
  6. echo '<img src="'.$sciezka.$nazwapliku.'">';
  7. ?>


i zawsze używaj bezpośredniej ścieżki do pliku.


EDIT
dodałem tag
simon111
Witam

Zadziałało wkońcu, ale musiałem dać taki kodzik:

Kod
while ($row = mysql_fetch_array($result)) {
echo "
<center>
<table border width='720'>
<TR>
<TD width='120'>". $row[numer_id] ."</TD>
<TD width='120' align='center'><img src='". $row[miejsce]."'></TD>
</TR>
</table>
</center>";
}


I teraz wymiata, aż miło smile.gif. Wielkie dzięki za pomoc, 3majcie się, pozdrawiam, narka.
PS. Ciekawy i dobry pomysł b_chmura, pewnie go wykorzystam ;p
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.