Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [MySQL][PHP] skrcanie newsa z opcja wiecej, to samo co w temacie :)
FliSs_tCv
post 14.08.2007, 20:08:42
Post #1





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Witam mam problem dotyczacy wyswietlania nowosci na stronie mam wykonany kod który wyswietla mi 150 znakow z danego newsa ( id )
po kliknieciu w a href --> wiecej <---, chciałbym aby wyskoczylo okienko popup z cała wiadomoscia tego oto newsa i to jest tak naprawde moj problem sad.gif oto kod który wyswietla nowosci.
  1. <?php
  2. $sql_serwer="------";
  3. $sql_login="------";
  4. $sql_haslo="-----";
  5. $sql_baza="-----";
  6. $sql_tabela="nowosci";
  7.  
  8. mysql_connect($sql_serwer, $sql_login, $sql_haslo);
  9. mysql_select_db($sql_baza);
  10. mysql_query('SET CHARSET latin2');
  11. $wynik = mysql_query("SELECT SUBSTRING(tresc, 1, 110) AS tresc, tytul FROM $sql_tabela LIMIT 2");
  12. while($wynik and $dane = mysql_fetch_assoc($wynik)) {
  13.  echo "<div style=\"float : left; margin-top : 4px;\">";
  14.  echo "<strong>$dane[tytul]</strong><br />";
  15.  echo "$dane[tresc]";
  16.  echo "<div style=\"float : right; margin-top : 7px;\">
  17.  <a href=\"\" onclick=\"okienko()\" \">więcej</a>
  18. </div>";
  19.  echo "</div>";
  20. }
  21. ?>
  22. <div style="float : left; margin-top : -11px;">
  23.  <a href="index.php?id=archiwum">archiwum</a>
  24. </div>


w js mam taki kod

  1. <script language="javascript" type="text/javascript">
  2. <!--
  3. function okienko() {
  4. open("news-more.php","okno","width=300,height=300");
  5. }
  6. // -->


a w pliki news-more.php mam taki kod

  1. <?php
  2.  // łaczenie sie z baza
  3.  
  4. mysql_query('SET CHARSET latin2');
  5. $wynik = mysql_query("SELECT * FROM $sql_tabela WHERE id=$_GET[id] ");
  6. while($wynik and $dane = mysql_fetch_assoc($wynik)) {
  7.  echo "<div style=\"float : left; margin-top : 4px;\">";
  8.  echo "<strong>$dane[tytul]</strong><br />";
  9.  echo "$dane[tresc]";
  10.  echo "</div>";
  11. }
  12. ?>


no i wiem ze jest zły sad.gif bede bardzo wdzieczny za pomoc w rozgryzienu mojego problemu


--------------------
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 20:24:33
Post #2





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


open("news-more.php","okno","width=300,height=300");

Tutaj chyba do nowego pliku news-more.php zapominasz dodać parametru ID który jest potrzebny do wyciagnięcia z bazy informacji czyli ...

open("news-more.php?id=IDNEWSA","okno","width=300,height=300");

Nie znam się na JS , ale jesli działa jak PHP, to funkcje musisz przebudowac tak:

  1. <script language="javascript" type="text/javascript">
  2. <!--
  3. function okienko($id) {
  4. open("news-more.php?id=$id","okno","width=300,height=300");
  5. }
  6. // -->


zamień $id na poprawną formę dla JS smile.gif

wtedy w

  1. <?php
  2. echo "<div style=\"float : right; margin-top : 7px;\">
  3.  <a href=\"\" onclick=\"okienko()\" \">więcej</a>
  4. </div>";
  5. ?>


zamieniasz na

  1. <?php
  2. echo "<div style=\"float : right; margin-top : 7px;\">
  3.  <a href=\"\" onclick=\"okienko($dane[id])\" \">więcej</a>
  4. </div>";
  5. ?>


Czyli piszesz funkcje otwierania okienka w JS która pobiera parametr ID , parametr id jest wstawiany podczas echo przy wyświetlaniu tabeli newsów , następnie taki link (generowany w funkcji js) zawiera już ?id=id i ten co wyświetla całego linka ma już co wstawić do WHERE smile.gif

Oczywiście:

<?php
// łaczenie sie z baza

dla pliku generującego całego newsa oznacza, że tutaj normalnie jest znowu kod do łaczenia się z bazą ? ...

Ten post edytował barat 14.08.2007, 20:30:30
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 20:36:07
Post #3





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


nie wiem własnie co ma byc w pliku news-more.php nie wiem jak to wykonac za diabła sad.gif i nie wiem jak to w js zrobic aby dzialalo sad.gif a jak zrobic to bez tego okienka w js ? aby wyswietlalo sie zauszmy w innej stronie ale tylko ten jeden news ? np jak na tej stronie http://www.zkm.tczew.pl/?akcja=aktualnosci&id=95


--------------------
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 20:40:14
Post #4





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


sprawdź, czy plik news-more.php po ręcznym wpisaniu jakiegoś ID wyświetla Ci to co chcesz, jeśli tak, to znaczy, że działa ...

nie wiem też, czy nie powinno być

$wynik = mysql_query("SELECT * FROM $sql_tabela WHERE id='$_GET[id]' ");

Wtedy w przeglądarce otwórz coś takiego

news-more.php?id=1

i zobacz, czy Ci pokaże newsa o ID 1, jeśli tak, to już powinieneś wiedzieć co robić tongue.gif
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 20:46:21
Post #5





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


nie wykonuje tego skryptu pokazuje mi blad 404 nie ma takiej strony a w adresie dopisuje poprostu news-more.php?id=id wiec lipa sad.gif

Ten post edytował FliSs_tCv 14.08.2007, 20:46:53


--------------------
Go to the top of the page
+Quote Post
--FliSs_tCv--
post 14.08.2007, 20:53:30
Post #6





Goście







mialem pomylke w nazwie ale i tak nie pokazuje nic jedyne co pokazuje to białe tło :/
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 20:53:59
Post #7





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


jak nie ma ? masz na serwerze plik o nazwie news-more.php w którym jest kod który podałeś ?

Jesli tak to link

news-more.php?id=1

powinien pokazać newsa o ID 1 ...

ale pisz pełen adres na przykład http://localhost/news-more.php?id=1

Nie ma siły ... musi działać ...

Ja Ci radze, weź sobie jakąś dobrą książkę i przeczytaj ... "Php5 apache mysql - Od podstaw" jest całkiem fajna smile.gif
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 21:06:01
Post #8





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


kurde no niedziala naprawde moze zostawie to okinko popup w js a zastanowie sie jakos nad tym newsem wyswietlanym na osobnej stronie tylko dany chodz tak naprawde to bedzie to samo tylko ze bez js i popup no i nie wiem jak to wykonac sad.gif pomoze ktos mi w tym prosze bardzo wazne a nie mam czasu na czytanie ksiazki sad.gif potrzebne mi to do wykonania projektu.


--------------------
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 21:14:01
Post #9





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


Człowieku ...

Stwórz plik testowy, nazwij go

niechcemisieczytakksiazki.php albo jakkolwiek inaczej ... dajmy na to plik.php

w nim wstaw

  1. <?php
  2.  // łaczenie sie z baza
  3.  
  4. $sql_serwer="------";
  5. $sql_login="------";
  6. $sql_haslo="-----";
  7. $sql_baza="-----";
  8.  
  9. mysql_connect($sql_serwer, $sql_login, $sql_haslo);
  10. mysql_select_db($sql_baza);
  11.  
  12. //zapytanie
  13.  
  14. mysql_query('SET CHARSET latin2');
  15. $wynik = mysql_query("SELECT * FROM nowosci WHERE id='1' ");
  16. $row = mysql_fetch_assoc($wynik);
  17.  echo "<div style=\"float : left; margin-top : 4px;\">";
  18.  echo "<strong>$row[tytul]</strong><br />";
  19.  echo "$row[tresc]";
  20.  echo "</div>";
  21. }
  22. ?>


po czym odpal zwyczajnie ten plik php i zobacz czy pokaże newsa o ID 1 ...
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 21:26:48
Post #10





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


ok wyswietla mi tego newsa smile.gif ale i tak nie wiem co dalej sad.gif


--------------------
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 21:32:48
Post #11





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


Zabijesz mnie dzisiaj ...

zamień

$wynik = mysql_query("SELECT * FROM nowosci WHERE id='1' ");

na

$wynik = mysql_query("SELECT * FROM nowosci WHERE id='$_GET['id']' ");

poczym użyj tego samego adresu ale na końcu napisz ?id=1

czyli dla przykładu

http://localhost/plik.php?id=1

Jeśli takie cos też wyświetla, to po prostu dodaj do tego pliku całą skórkę (tak jak przy stronie pokazującej wszystkie newsy)

a następnie przy wyświetlaniu wszystkich newsów zamiast

Kod
echo "<div style=\"float : right; margin-top : 7px;\">
                       <a href=\"\" onclick=\"okienko()\" \">więcej</a>
                    </div>";


wstaw

Kod
echo "<div style=\"float : right; margin-top : 7px;\">
                       <a href=\"[b]nazwategopliku.php?id=$dane[id][/b]\">więcej</a>
                    </div>";


Wtedy klikniecie na ten link przeniesie Cie na strone wyświetlającą newsy smile.gif

Ten post edytował barat 14.08.2007, 21:46:54
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 21:39:58
Post #12





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


taki błąd otrzymuje teraz


Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in [sciezka tongue.gif]


Ten post edytował FliSs_tCv 14.08.2007, 21:42:09


--------------------
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 21:46:41
Post #13





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


w pliku do wyświetlania newsa w całości ? zrób

$id = $_GET['id'];

$wynik = mysql_query("SELECT * FROM nowosci WHERE id='$id' ");


A jeśli w tym głównym ze wszystkimi linkami... to chyba nie przekleiłeś całego kode ? zrobiłem tam błąd (teraz poprawiłem)
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 21:54:47
Post #14





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


nie nie smile.gif ale pytanie mam jescze jedno jak zrobic to w ten sposob bo mam ten plik podpiety pod ten system wczytywania danych po srodku czyli index.php?id=wiecej . wiecej.php jest plikiem wczytywanym i jak mam teraz to zrobic aby wyswietlalo ten plik i zarazem tego newsa snitch.gif mam teraz cos takiego ale niedziala pokazuje puste tło sad.gif ?


<a href=\"index.php?id=wiecej&art=$dane[id]\">więcej</a>


Ten post edytował FliSs_tCv 14.08.2007, 22:11:42


--------------------
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 22:02:33
Post #15





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


Jeśli chcesz użyć takiego linka to wtedy w pliku wiecej.php musisz zmienić $_GET['id'] na $_GET['art'] bo mam rozumieć, że w &art-$dane[id] przekazujesz ID artykuły do wyświetlenia ... smile.gif

Powinieneś się tego sam domyślić ...
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 22:11:53
Post #16





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


ak najezdzam na ten link nie pokazuje wg id danego rekordu na dole na pasku ;/ czyli nie czyta tego sad.gif co mam zle to jest kod ;>


<?php
$sql_serwer="localhost";
$sql_login="";
$sql_haslo="";
$sql_baza="";
$sql_tabela="nowosci";

mysql_connect($sql_serwer, $sql_login, $sql_haslo);
mysql_select_db($sql_baza);
mysql_query('SET CHARSET latin2');
$wynik = mysql_query("SELECT SUBSTRING(tresc, 1, 110) AS tresc, tytul FROM $sql_tabela LIMIT 2");
while($wynik and $dane = mysql_fetch_assoc($wynik)) {
echo "<div style=\"float : left; margin-top : 4px;\">";
echo "<strong>$dane[tytul]</strong><br />";
echo "$dane[tresc]";
echo "<div style=\"float : right; margin-top : 7px;\">
<a href=\"index.php?id=wiecej&art=$dane[id]\">więcej</a>
</div>";
echo "</div>";
}
?>
<div style="float : left; margin-top : -13px;">
<a href="index.php?id=archiwum">archiwum</a>
</div>


cos zle wywołuje sad.gif

Ten post edytował FliSs_tCv 14.08.2007, 22:12:43


--------------------
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 22:19:23
Post #17





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


Link

index.php?id=wiecej&art=$dane[id]

Oznacza, że...

index.php?id=wiecej

odpala Ci plik wiecej.php (wstawia go w Twoją stronę?) ... jeśli tak to dalej

&art=$dane[id]

$dane[id] zawiera informacje o id artykuły który chcesz wyświetlić?

Jeśli tak to obecnie w pliku wiecej.php masz :

  1. <?php
  2.  // łaczenie sie z baza
  3.  
  4. $sql_serwer="------";
  5. $sql_login="------";
  6. $sql_haslo="-----";
  7. $sql_baza="-----";
  8.  
  9. mysql_connect($sql_serwer, $sql_login, $sql_haslo);
  10. mysql_select_db($sql_baza);
  11.  
  12. //zapytanie
  13. $id = $_GET['id'];
  14. mysql_query('SET CHARSET latin2');
  15. $wynik = mysql_query("SELECT * FROM nowosci WHERE id='$id' ");
  16. $row = mysql_fetch_assoc($wynik);
  17.  echo "<div style=\"float : left; margin-top : 4px;\">";
  18.  echo "<strong>$row[tytul]</strong><br />";
  19.  echo "$row[tresc]";
  20.  echo "</div>";
  21. }
  22. ?>


a powinieneś zmienić na

  1. <?php
  2.  // łaczenie sie z baza
  3.  
  4. $sql_serwer="------";
  5. $sql_login="------";
  6. $sql_haslo="-----";
  7. $sql_baza="-----";
  8.  
  9. mysql_connect($sql_serwer, $sql_login, $sql_haslo);
  10. mysql_select_db($sql_baza);
  11.  
  12. //zapytanie
  13. $id = $_GET['art'];
  14.  
  15. mysql_query('SET CHARSET latin2');
  16. $wynik = mysql_query("SELECT * FROM nowosci WHERE id='$id' ");
  17. $row = mysql_fetch_assoc($wynik);
  18.  echo "<div style=\"float : left; margin-top : 4px;\">";
  19.  echo "<strong>$row[tytul]</strong><br />";
  20.  echo "$row[tresc]";
  21.  echo "</div>";
  22. }
  23. ?>



Nie ma siły... to musi działać...

Wytłumacz mi, po co bierzesz się za PHP jak nie masz podstaw?
Ja zanim zacząłem cos pisać to przeczytałem ze 2 książki z przerabianiem przykładów ... nadal raczkuję , ale coś powoli kumam...

Ten post edytował barat 14.08.2007, 22:21:21
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 22:38:38
Post #18





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


po co biore sie za php skoro nie mam podstaw na to pytanie odpowiem Tobie tak smile.gif nie lubie suchej klepanki z ksiazki smile.gif ja wspomagam sie ksiązką jak musze a tak wole z praktyki dowiatywac sie co i jak czyli np forum smile.gif i jest mi z tym dobrze nie oczekuje gotowców lecz wytłumaczenia poprostu ksiazka za mna nie przemawia tongue.gif w zyciu nalezy sobie ułatwiac a nie utrudniac biggrin.gif a co do mojego problemu w tym topicu jak klikam na wiecej to pokazuje mi pusta strone nadal nie przekazuje tego id ale jak sam dopisze nr id do koncówki &art=1 pokaze ten artykul nie wiem dlaczego nie przekazuje tego id jeszcze pobajeruje smile.gif pozdrawiam serdecznie i naprawde dzieki za pomoc biggrin.gif


--------------------
Go to the top of the page
+Quote Post
barat
post 14.08.2007, 22:43:06
Post #19





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


czyli problem jest z tym:

index.php?id=wiecej&art=$dane[id]

spróbuj ...

echo "<div style=\"float : right; margin-top : 7px;\">
<a href=\"index.php?id=wiecej&art=".$dane[id]."\">więcej</a>
</div>";

W ogóle link wygenerowany przez PHP musisz zobaczyć jak wygląda, czyli jak klikasz więcej to co widzisz ?

ndex.php?id=wiecej&art=

czyli nic po znaku = ?


A książki to na prawdę świetna rzecz ... tylko trzeba dobrą kupić ... takie cykanie z tutoriali i z tego co się dowiesz na forum nie jest dobrym pomysłem ...
Tak to się możesz nauczyć xHTML i CSS ... ale nie programowania ... chyba, że jesteś genialny ...

Gdybyś przeczytał chociaż jedną, to ten problem rozwiązałbyś sam ... więcej - wcale by ten problem nie zaistniał, a mi byłoby łatwiej tłumaczyć ... tongue.gif

Ten post edytował barat 14.08.2007, 22:46:06
Go to the top of the page
+Quote Post
FliSs_tCv
post 14.08.2007, 22:54:31
Post #20





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


No dobra przyznaje racje ze łatwiej by bylo to wytłumaczyc na 100% heh lecz wiedza z ksiązek nie zawsze mi wchodzi smile.gif pozatym przyznam sie ze jestem grafikiem a nie koderem a kodem zajmuje sie tylko dlatego ze nie mam z kim narazie wspolpracowac no i musze cos umiec wiec sie ucze z tego co mi potrzebne moze jak bede mial czas przeczytam jakas ksiazke ale nie wiam jaka sad.gif polecasz jakas ? a co do przykladu to tez nic nie dało to ".$dane[id]." nie wiem dlaczego tak jest kurde :/


--------------------
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: 24.06.2025 - 20:55