![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 3 Dołączył: 4.08.2006 Skąd: GDA Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Nie wiem czy dobrze wytłumaczę wam co chcę uzyskać ale do rzeczy próbuję uzyskać efekt który jest np. na ithink.pl, wiadomosci24.pl itd. Otóż przy dodawaniu wiadomości można dodać zdjęcia (nawet kilkadziesiąt) wiadomo ,że stworzy się do tego 2 tabelki ![]() news Cytat -id -tytlu -tresc -data foto Cytat -id -opis -adres -data -idnews Ale mój problem polega na połączeniu tych 2 baz. Przecie przy zwyczajnym połączeniu np. w tabeli news jest id a w foto jest idnews i przy pobieraniu fotek pobiorę je według idnews. Czy macie jakieś inne sposoby połączenia tych 2 tabel ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A czemu miałyby występować problemy? idnewsa bedzie unikalne wiec jaki problem widzisz? Do danego newsa od podanym id pobierasz zdjecia o idnewsa. Nie widze problemu.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 3 Dołączył: 4.08.2006 Skąd: GDA Ostrzeżenie: (0%) ![]() ![]() |
Ale gdyby ktoś dodał w tym samym momencie newsa to zdjęcia by niestety źle trafiły według mnie. Chociaż to mało możliwe ,żeby ktoś w tym samym momencie dodał newsy i by się zrobiły np. 2 newsy o tym samym id.
EDIT: teoretycznie i praktycznie wszystko będzie działać ![]() Ten post edytował oomaster 13.08.2008, 21:01:57 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
robisz pole autoincrement i ono zawsze sie zwieksza o 1, niezaleznie czy w tym samym momemcie jest 1000 newsow czy 1
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 3 Dołączył: 4.08.2006 Skąd: GDA Ostrzeżenie: (0%) ![]() ![]() |
OK, znalazłem mały chaczyk w tym wszystkim. Bo jeśli do newsa nie zostanie dodana fota to pole ID w foto będzie zaniżone gdy będzie to automatycznie :/ I pozatym jak ktoś chce dodać kilka fotek to one będą miały inne id niż news. A chodzi oto aby jakoś połączyć 2 tabeli foto i news
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ale ID z newsa a ID z foto to dwa rozne id i one nie są ze sobą w zaden sposob powiązane
Ciebie interesuje w tabeli FOTO pole IDNEWS i w to pole masz wkladac id newsa, do ktorego nalezy to zdjęcie. Przeciez id newsa znasz przy wkladaniu do niego zdjęcia. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 3 Dołączył: 4.08.2006 Skąd: GDA Ostrzeżenie: (0%) ![]() ![]() |
Właśnie w tym problem ,że nie znam do końca numeru ID. Bo przecież zdjęcia dodają się razem z newsem i nigdy nie wiem czy one trafią do tego newsa którego ja chcę np. gdy przy dodawaniu fotki bym musiał poprać stary z tabeli news ID+1 ale nigdy nie wiadomo czy w tym samym momencie ktoś nie doda też newsa i się wszystko wymiesza :/
Widziałem takie rozwiązania na innych stronach (popularnych) gdzie jest możliwość dodania 2 newsów jednocześnie... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To za dużo widziałeś a za mało wiesz.
MySQL (jeśli na takiej bazie pracujesz) w mechanizmie innodb ma kolejkowanie zapytań. W php jest funkcja która wydobywa id ostatnio dodanego newsa i wtedy przy dodawaniu zdjęć w polu idnewsa wprowadzasz właśnie tą daną. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
To najpierw dodaj newsa poprzez INSERT, a następnie użyj mysql_insert_id" title="Zobacz w manualu PHP" target="_manual
np
W ten sposób zmienna $id_newsa będzie przechowywała id dodanego newsa. Po tym już dodajesz zdjęcia
Ten post edytował robos85 14.08.2008, 15:08:05 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Po tym już dodajesz zdjęcia .... WHERE `newsid`='".$id_newsa."'.... No chyba cos ci nie wyszlo. WHERE daje sie w select a nie w insert ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
hehe, pisząc to myślałem o czym innym i mi jeszcze insert z poprzedniej linijki w głowie został
![]() Zaraz zmienię poprzedni post;) |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 3 Dołączył: 4.08.2006 Skąd: GDA Ostrzeżenie: (0%) ![]() ![]() |
OK dzięki chłopaki bardzo za pomoc zaraz sprawdzę te rozwiązania przez was zaproponowane. Tylko teraz jeszcze przed przetestowanie zastanawiam się na tym kodem
![]() Kod <?php $sql=mysql_query("INSERT INTO `news`(...) VALUES (...)"); $id_newsa=mysql_insert_id; ?> W jaki sposób $sql połączy się z mysql_insert_id. Nie mam żadnego logicznego wytłumaczenia ![]() |
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Samo się domyśli i się połączy
![]() Sam to musisz zrobić. Najpierw skorzystaj z mysql_insert_id(), pobierz dane i wstaw je do zapytania. Czyli do $sql. Przykład w manualu pokazuje użycie. Czego chcieć więcej ![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 3 Dołączył: 4.08.2006 Skąd: GDA Ostrzeżenie: (0%) ![]() ![]() |
OK, wszystko niby ładnie, pięknie ale czemu wywala mi błąd ?
Warning: mysql_insert_id(): supplied argument is not a valid MySQL-Link resource in /home/miasto/domains/coscos.pl/public_html/add.php on line 93 Kod $sql = "INSERT INTO news SET tytul='$tytul', tresc='$tresc'"; $idk_news = mysql_insert_id($sql); if (mysql_query($sql)) { echo "OK"; } else { exit('Błąd'); } Dlaczego wywala błąd ? HELP ! Ten post edytował oomaster 14.08.2008, 20:42:59 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
kurcze....
http://pl2.php.net/manual/pl/function.mysql-insert-id.php co w tym przykladzie z manuala jest dla ciebie nie jasnego? I przestan walic pomogl kazdemu kto w tym temacie cos napisal, a juz w szczegolnosci po x pomogl dla tej samej osoby -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Próbujesz pobrać ID dodanego rekordu... przed jego dodaniem.
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 3 Dołączył: 4.08.2006 Skąd: GDA Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie ale mam kolejny problem czy można jakimś sposobem wyświetlić zmienną która jest wykonywana niżej np.
Kod echo"tekst nr. ".$zmienna." w którym jest zmienna"; $zmienna="44"; Czy jest jakaś możliwość ? |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 415 Pomógł: 46 Dołączył: 26.05.2007 Skąd: Sandomierz Ostrzeżenie: (0%) ![]() ![]() |
niestety nie można takich czarów robić ... zmienna musi być zdeklarowana wyżej
-------------------- Grzegorz 'Decha' Polek »
º http://grzegorzpolek.com º http://www.facebook.com/grzegorz.polek º http://www.lastfm.pl/user/Dechaa ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:13 |