Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> inludowanie w tabeli
AddoN
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 9.07.2010

Ostrzeżenie: (0%)
-----


Witam,

nie wiem czy temat do działu php czy mysql, ale raczej tutaj tacy spece siedzą, że to żadna różnica dla Was (IMG:style_emoticons/default/wink.gif)

Optymalizuje właśnie bazę danych w której są wstawione stałe treści przy każdym użytkowniku.
Chciałem je poprzenosić do osobnych plików, a w bazie zostawić same include.

Tyle że
  1. <?php include('pliki/1.php'); ?>


nie działa z poziomu bazy danych. Kombinowałem z nawiasami, cudzysłowami, wstawiałem cały link do pliku i dalej nic. W ogóe można includować z bazy?
Go to the top of the page
+Quote Post
matiit
post
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


Cytat
a w bazie zostawić same include.

Nie za bardzo ma to sens..

W ogóle np. ja nie do końca rozumiem o co Ci chodzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
AddoN
post
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 9.07.2010

Ostrzeżenie: (0%)
-----


a co tutaj rozumieć.
Zamiast 20kb tego samego tekstu każdemu użytkownikowi chce wstawić odnośnik do jednego pliku.
Go to the top of the page
+Quote Post
matiit
post
Post #4





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


  1. <?php include('pliki/1.php'); ?>

Jeśli w bazie trzymasz taki string - to nie jest dobre (IMG:style_emoticons/default/smile.gif)

Lepiej trzymaj np. samą liczbę 1 - i za każdym razem dawaj potem w php
  1. <?php include('pliki/'.$row['textId'].'.php'); ?>


Podmieniając odpowiednio $row['textId'] zmienną wyniku z bazy danych i klucza-kolumny.
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #5





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Witam.

Nie include z poziomu bazy danych nie zadziała. Musiałbyś potraktować ten ciąg znaków funkcją eval.
.
W twoim przypadku mogę Ci zasugerować trzymanie w bazie ID bloku statycznego.
Potem aplikacji zostawiasz całą robotę z przetworzeniem tego ID, oraz wykonaniem interesującego Ciebie bloku kodu.

Ten post edytował rocktech.pl 16.04.2013, 10:24:39
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Baza jest od tego by w niej trzymać dane a nie po plikach....

Ogólnie chyba przekombinowałeś. Może napisz dokładnie co ty za tresci tam trzymasz to ci powiemy jak to zrobić
Go to the top of the page
+Quote Post
AddoN
post
Post #7





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 9.07.2010

Ostrzeżenie: (0%)
-----


Cytat(matiit @ 16.04.2013, 11:22:07 ) *
  1. <?php include('pliki/1.php'); ?>

Jeśli w bazie trzymasz taki string - to nie jest dobre (IMG:style_emoticons/default/smile.gif)

Lepiej trzymaj np. samą liczbę 1 - i za każdym razem dawaj potem w php
  1. <?php include('pliki/'.$row['textId'].'.php'); ?>


Podmieniając odpowiednio $row['textId'] zmienną wyniku z bazy danych i klucza-kolumny.


Nie, nie trzymam (IMG:style_emoticons/default/wink.gif) To tylko przykład do wstawienia tutaj. Normalnie link wygląda inaczej, plik ma pełną nazwę.

Tyle że jak wstawie <?php include... do bazy i chcę wyświetlic to ta zawartość nie jest wczytywana.
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Ale po co chcesz wstawiać include do bazy? Napisz konkretnie o co Ci chodzi, a nie robisz zamieszanie.
Go to the top of the page
+Quote Post
matiit
post
Post #9





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


Cytat
Tyle że jak wstawie <?php include... do bazy i chcę wyświetlic to ta zawartość nie jest wczytywana.


Kolega wyżej napisał, że aby takie coś działało, trzeba użyć funkcji eval().

Zrób jak pisał @nospor, to będziemy bardziej pomocni.

Ten post edytował matiit 16.04.2013, 10:28:17
Go to the top of the page
+Quote Post
AddoN
post
Post #10





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 9.07.2010

Ostrzeżenie: (0%)
-----


Czyli tak,
w bazie jest kilkuset użytkowników, którzy mają w jednym polu wstawioną taką samą treść zapisaną w bazie danych
chciałem przenieść tą treść do osobnego pliku żeby móc nią łatwiej zarządzać,
a w bazie wrzucić same odniesienia do tego pliku.

Jeżeli da się takie coś zrobić z poziomu bazy danych to jeszcze lepiej, bo odejdzie mi zabezpieczanie pliku przed bezpośrednim wywołaniem.
Go to the top of the page
+Quote Post
matiit
post
Post #11





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


Jeśli wszędzie jest ta sama treść...to po co w ogóle odnośnik do tej treści.

Może to być jakaś stała w jakimkolwiek pliku...
Go to the top of the page
+Quote Post
!*!
post
Post #12





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


To skoro treść jest taka sama dla wszystkich, to po co w ogóle trzymasz ją w bazie? IMO mylisz pojęcia i zastosowanie. Masz skrypt php, w nim pobierasz dane z bazy i na nich operujesz. Pobierasz np. nazwę pliku z bazy i na jego podstawie wczytujesz w PHP jak już napisano wyżej, tylko jeśli dla każdego jest to samo, to baza jest tu zbędna.

Ten post edytował !*! 16.04.2013, 10:37:33
Go to the top of the page
+Quote Post
AddoN
post
Post #13





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 9.07.2010

Ostrzeżenie: (0%)
-----


Rozumiem Was wszystkich dzięki za rady, ale muszę działać na tym co mam (IMG:style_emoticons/default/wink.gif)
A mam bazę z której chcę wyrzucić 1/2 zawartości do kilku osobnych plików i wstawić tam same odwołania.

Szukałem o tej funkcji eval, ale nie znalazłem żadnego przykładu jak to zaadresować.
Go to the top of the page
+Quote Post
matiit
post
Post #14





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


eval("kod php");
Go to the top of the page
+Quote Post
Greg0
post
Post #15





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Cytat(AddoN @ 16.04.2013, 12:08:21 ) *
Rozumiem Was wszystkich dzięki za rady, ale muszę działać na tym co mam (IMG:style_emoticons/default/wink.gif)
A mam bazę z której chcę wyrzucić 1/2 zawartości do kilku osobnych plików i wstawić tam same odwołania.

Szukałem o tej funkcji eval, ale nie znalazłem żadnego przykładu jak to zaadresować.


Nie widzę sensu w wyrzucaniu zawartości i zastępowaniem jej odesłaniem do niej. Nie wiem jaka w tym logika ale nie tędy droga. To już lepiej zostawić jak jest niż katować serwer eval'em (vide eval w pętli), lub porobić relacje w samej bazie. Najlepsze rozwiązanie jak już ktoś napisał, zdeklarować stałą i po sprawie.


Ten post edytował Greg0 16.04.2013, 11:32:10
Go to the top of the page
+Quote Post
AddoN
post
Post #16





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 9.07.2010

Ostrzeżenie: (0%)
-----


czyli co kilka rekordów w bazie zrobić, gdzie będą trzymane komunikaty a w rekordach użytkowników stawiać tam tylko odwołania do nich?

Tylko że taka funkcja z bazy danych nie działa

  1. <?
  2. $go = mysql_query("SELECT xxx FROM yyy WHERE Id = zzz");
  3. $row = mysql_fetch_array($go);
  4. echo $row['xxx'];
  5. ?>


Ten post edytował AddoN 16.04.2013, 12:31:19
Go to the top of the page
+Quote Post
!*!
post
Post #17





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Nie rozumiem pytania. Zaprojektuj bazę, od nowa. Poczytaj jak to powinno wyglądać i korzystaj z tego odpowiednio przy pomocy PHP.

Pomocne linki:
http://pl.wikibooks.org/wiki/PHP
http://pl.wikibooks.org/wiki/PHP#Bazy_danych
Go to the top of the page
+Quote Post
CuteOne
post
Post #18





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


tabela KOMUNIKATY
id | tresc

tabela UZYTKOWNICY_KOMUNIKATY
id_komunikatu | id_uzytkownika

tabela UZYTKOWNICY
id | login

  1. SELECT k.*
  2. FROM uzytkownicy u
  3. LEFT JOIN uzytkownicy_komunikaty uk ON uk.id_uzytkownika = u.id
  4. LEFT JOIN komunikaty k ON k.id = uk.id_komunikatu
  5. WHERE
  6. u.login = 'xxx'


Pobierasz n+1 komunikatów dla konkretnego użytkownika (możesz nawet pominąć tabele uzytkonicy mając id_uzytkownika)

Ten post edytował CuteOne 16.04.2013, 12:50:49
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:51