Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Komentarze zabawa z bazami danych :)
boya
post 17.06.2003, 09:54:13
Post #1





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

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


Mam www na ktorej robie newsy z komentarzmi i mam maly problem z tabelkami smile.gif

:arrow: zalozmy:

baza danych: strona tabela: news pola ( $id $kto $text $kiedy)

teraz chcce stworzyc tabele o nazwie takiej jak id konkretnego newa np. 1

i jak napisac skrypt zeby tworzyl konkretna table o okreslonym id questionmark.gif w bazie strona questionmark.gif?

:arrow: cala struktura zeby wygladala tak :


baza: strona
tabela 1 stala: news ($ID $KTO $TEXT $KIEDY)
tabela 3 tworzona razem z newsem: 1 - id news-a ( $ID $MAIL $GG $TEXT $CZAS)

a moze macie inny sposob tworzenia komentarzy do newsow questionmark.gif?


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
DeyV
post 17.06.2003, 09:56:00
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




proszę na mnie nie krzyczeć!!!!!!


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
DeyV
post 17.06.2003, 10:00:22
Post #3





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Mam nadzieję, że zaraz edytujesz swojego posta.
Już teraz jednak powiem Ci, że jest to bardzo zły pomysł.
Przemyśł odrobinkę konstrukcję zwojej bazy, i zaraz okaże się, że w zupełności wystarczą 2 tabele. Jedna na newsy, druga na komantarze.
Przy czym każdy komantarz ma zaznaczone, do którego newsa przynależy.
Wtedy też pobieranie komentarzy jest bardzo proste.
np. tak:
Cytat
Select * from komentarze WHERE id_news = $numer_newsa


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
boya
post 17.06.2003, 10:12:12
Post #4





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

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


ja naprawde nie krzycze tongue.gif tylko lubie pisac duzymi smile.gif dzieki za odpowiedz juz kombinuje ....


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
wassago
post 17.06.2003, 10:14:01
Post #5





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


no ja bym sie DeyV pogniewal! teraz zmiennymi na ciebie krzyczy tongue.gif :wink:


--------------------
Go to the top of the page
+Quote Post
konrad_vme
post 17.06.2003, 10:17:06
Post #6





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.04.2002
Skąd: Zielona Góra

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


Cytat
Cytat
Select * from komentarze WHERE id_news = $numer_newsa


DeyV już nie wytrzymał i "where" mu się "wykrzyknęło" smile.gif


--------------------
revolution, the only solution
Go to the top of the page
+Quote Post
migacz
post 17.06.2003, 14:21:29
Post #7





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.04.2003
Skąd: Tczew

Ostrzeżenie: (10%)
X----


wg mnie wystrczy jedna tabela dajesz pole w ktorym zaznaczasz czy to jest news czy komentarz oraz drugie pole w które dajesz id newsa lub 0 gdy to komentarz
Go to the top of the page
+Quote Post
[Regis]
post 17.06.2003, 21:10:09
Post #8





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Wrocław

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


Migacz --> Zwykle piszac newsa nie piszesz komentarza, a komentujac newsa sam news nie musi byc wyswietlany smile.gif Dlatego ja proponuje dwie tabele jednak smile.gif Podobnie jak jest t ow phpBB w ankietach zrobione - jest id newsa i news itp. itd., a potem kolejna tabela w ktorej id nie sa juz auto_increment, a zalaza od tego do jakiego newsa jest to komentarz.
Go to the top of the page
+Quote Post
boya
post 18.06.2003, 11:04:42
Post #9





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

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


hmm probowalem i jakos nie idzie tabelki szaleja smile.gif)

na stronie glownej w bazie mam news te texty daty i osobe i doego dodane komentarz i komentuj w jednych ramach <? ?> teraz jak mam skleic 2 polonczenia bazy w jednym questionmark.gif zeby laczyl sie z tabla news i tabela komentarze

pozniej jak zrobi link od komentuj w javie zeby otwieral okienko z adresem komentuj.php?numer=$id_news bo tak nie wychodzi questionmark.gif

dajcie troche kodu.... biggrin.gif


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
[Regis]
post 18.06.2003, 11:53:36
Post #10





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Wrocław

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


Hmmm... Twoja wypowiedz jest nie co chaotyczna, ale zrob tak (przyklad):

Tabela "news":

id | autor | tytul | tresc
-------------------------------------------
1 | Jasiu | Witam | Witam wszystkich!

i baza "komentarze":

id | autor | tresc
-------------------------
1 | AAA | Super news
1 | Mr X | Kiepski news

I teraz na stronie glownej robisz:

SELECT * FROM news ORDER BY desc;

Po odpowiedniej obrobce wyswietli Ci to newsy od najnowszego do najstarszego (mozesz dodac takie duperele jak np. umieszczanie tylko ostatnich 10 newsow na str. glownej)

Pod spodem dajesz link komentuj.php?id=1

Jak ktos kliknie, to sie otworzy okienko z opcjami dodania komentarza do newsa 1. Nastepnie robisz przycisk submit (dodanie komentarza) i tamlink add_comment.php?$id=1. Do tego skryptu przesylane sa dane formularza: $tresc i $autor

i na stronie add_comment.php robisz

INSERT INTO komentarze (id, autor, tresc) VALUES ("$id", "$autor", "$tresc")

Chyba wszystko wyjasnilem.

Aha! Nie wiem tylko co masz na mysli piszac:

Cytat
teraz jak mam skleic 2 polonczenia bazy w jednym questionmark.gif zeby laczyl sie z tabla news i tabela komentarze


Nie potrzebujesz 2 baz, a jedynie 2 tabele w jednej bazie ! I najpierw pobierasz dane z jednej, potem z drugiej...
Go to the top of the page
+Quote Post
boya
post 18.06.2003, 12:12:41
Post #11





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

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


dobra juz teraz wiem smile.gif a jeszcze jak chce zrobic ilosc klomentardzy to jak wyswietlic najwyszy id questionmark.gif

a z tym cytatem to chodzilo oto zeby w 1 polaczeniu polaczyc sie z dwoma tabelami pobierajac wynik i z 1 i z 2


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
boya
post 18.06.2003, 12:15:35
Post #12





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

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


Cytat
dobra juz teraz wiem smile.gif a jeszcze jak chce zrobic ilosc klomentardzy to jak wyswietlic najwyszy id questionmark.gif

a z tym cytatem to chodzilo oto zeby w 1 polaczeniu polaczyc sie z dwoma tabelami pobierajac wynik i z 1 i z 2



a to twoje jak napisales "Pod spodem dajesz link komentuj.php?id=1" to jakl zrobic zeby automatycznie tworzyl taki link do konkretnego newsa zamiast 1 rownie dobrze moze byc 10 bo do 10 newsa bedzie to sie odnosic....


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
mazy
post 20.06.2003, 16:01:07
Post #13





Grupa: Zarejestrowani
Postów: 69
Pomógł: 4
Dołączył: 12.03.2003
Skąd: Suwałki

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


Cytat
proszę na mnie nie krzyczeć!!!!!!


Cytat
hehe mała sugestia (auto?) a raczej zapytanie czy wiesz ze gadanie dużymi literami bywa uznawane za krzyk?


Cytat
MAZY DUŻA SUGESTIA NABIJANIE POSTÓW NIE JEST MILE WIDZIANE

przemysl to ...
nie odpowiadaj moj post ....
poprostu przemysl ...


heheh
Go to the top of the page
+Quote Post
kwiateek
post 20.06.2003, 16:12:07
Post #14





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 13.01.2003
Skąd: 3rd ball of mud behind a big ball of burning gas

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


Cytat
dobra juz teraz wiem smile.gif a jeszcze jak chce zrobic ilosc klomentardzy to jak wyswietlic najwyszy id questionmark.gif

zliczanie w zapytaniu:
Kod
count(id) as ilosc

najwzyszy - chodzi chyba o sorotwanie ? - w zapytaniu
Kod
ORDER BY id DESC

Cytat
a z tym cytatem to chodzilo oto zeby w 1 polaczeniu polaczyc sie z dwoma tabelami pobierajac wynik i z 1 i z 2

prefixy, np.
Kod
SELECT tabela_newsy.kolumna1, tabela_komentarze.kolumna2 FROM tabela_newsy, tabela_komentarze itd.

Cytat
a to twoje jak napisales "Pod spodem dajesz link komentuj.php?id=1" to jakl zrobic zeby automatycznie tworzyl taki link do konkretnego newsa zamiast 1 rownie dobrze moze byc 10 bo do 10 newsa bedzie to sie odnosic....

mysql_fetch_array();


--------------------
It's Time to Join the PLD Linux Generation!
<? while (!$success) { $try++; } ?>
Go to the top of the page
+Quote Post
BzikOS
post 20.06.2003, 16:14:58
Post #15





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
dobra juz teraz wiem smile.gif a jeszcze jak chce zrobic ilosc klomentardzy to jak wyswietlic najwyszy id questionmark.gif

Na początek zmodyfikował bym nieco tabele newsów i komentarzy na:

tabela newsów:
ID | Autor | Tytul | Tresc | Data

a tabele komentarzy na:
ID | News_ID | Autor | Tresc | Data


Wyciągnięcie ID ostatniego komentarza do newsa:
[php:1:9343c4fb64]<?php
$sql = "SELECT id FROM komentarze WHERE news_id=$news_id ORDER BY data DESC LIMIT 1";
?>[/php:1:9343c4fb64]

Zliczenie liczby komentarzy:
[php:1:9343c4fb64]<?php
$sql = "SELECT count(*) FROM komenatrze WHERE news_id=$news_id";
?>[/php:1:9343c4fb64]
Go to the top of the page
+Quote Post
boya
post 21.06.2003, 13:40:57
Post #16





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

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


napisales mi odnoscnie komentarzy ze Zliczenie liczby komentarzy:
Kod php:
Kod
1

2

3

<?php

$sql = "SELECT count(*) FROM komenatrze WHERE news_id=$news_id";

?>  



pytanie jak mam to wyswietlic echo $news_id questionmark.gif?

i czy moge w jednym polaczeniu wykonac kilka zapytane questionmark.gif

tego typu
Kod
<?php

@mysql_connect ("localhost","xxx","xxxxx");

@mysql_select_db (www);

$zapytanie1 = "SELECT * FROM news ORDER BY id DESC LIMIT 15";

$zapytanie2 = "SELECT id FROM komentarze WHERE news_id=$news_id ORDER BY data DESC LIMIT 1";  

$zapytanie3 = "SELECT count(*) FROM komenatrze WHERE news_id=$news_id";

$wykonaj = mysql_query ($zapytanie);

while($wiersz=@mysql_fetch_array ($wykonaj)) {

echo "  

COSTAM COSTAM

";}



$wykonaj = mysql_query ($zapytanie2);

while($wiersz=@mysql_fetch_array ($wykonaj)) {

echo "  

COSTAM COSTAM

";}





$wykonaj = mysql_query ($zapytanie3);

while($wiersz=@mysql_fetch_array ($wykonaj)) {

echo "  

COSTAM COSTAM

";}







?>

mozna takie cos zrobic questionmark.gif rolleyes.gif

jak mozna w jednych ramach php zrealizowac kilka zapytan po kolei questionmark.gif?


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
BzikOS
post 22.06.2003, 16:46:09
Post #17





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
pytanie jak mam to wyswietlic echo $news_id questionmark.gif?

[php:1:5c53ec90d1]<?php
list($komentarzy) = @mysql_fetch_row($result); // $result jest wynikiem zapytania do bazy
echo($komentarzy);
?>[/php:1:5c53ec90d1]

Cytat
i czy moge w jednym polaczeniu wykonac kilka zapytane questionmark.gif

Możesz smile.gif
Go to the top of the page
+Quote Post
g0blin
post 23.06.2003, 09:21:34
Post #18





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 2.03.2003
Skąd: Tarnów

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


Ja mam jeszcze od siebei pytanie czy nie dobrze bylo by w tabeli z komentarzami dac pole np komentarz_id i zrobic z tego index dla tabeli ? Czy przy duzej ilosci komentarzy nie polepszylo by to dzialania ?


--------------------
Pozdrawiam
Piotr P. 'g0blin'
Go to the top of the page
+Quote Post
[Regis]
post 23.06.2003, 10:15:18
Post #19





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Wrocław

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


Musi takie pole byc, ale nie takie ze kazdy komentarz ma osobne id, tylko komentarz ma id newsa do ktorego jest komentarzem - kolejna kolumna z unikalnym id nie ma chyba zadnego zastosowania smile.gif
Go to the top of the page
+Quote Post
BzikOS
post 24.06.2003, 07:16:29
Post #20





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
Ja mam jeszcze od siebei pytanie czy nie dobrze bylo by w tabeli z komentarzami dac pole np komentarz_id i zrobic z tego index dla tabeli ? Czy przy duzej ilosci komentarzy nie polepszylo by to dzialania ?

Przecież jest:
Cytat
a tabele komentarzy na:
ID | News_ID | Autor | Tresc | Data
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:42