Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Newsy w dwóch językach
potreb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


  1. <?php
  2. include (&#092;"config.php\");
  3. if($send=='Wyslij') {
  4. mysql_connect($DBhost,$DBuser,$DBpass);
  5. mysql_select_db($DBname); 
  6.  
  7. $data= Date(&#092;"d.m.Y\");
  8. $zapytanie = &#092;"INSERT INTO newspl SET title='$title',
  9. data='$data',text='$text',name='$name'&#092;";
  10. $wykonaj = mysql_query ($zapytanie);
  11. echo &#092;"<BR>News został dodany. \";
  12. }
  13. else {
  14. echo &#092;"
  15. <form method=&#092;"POST\" action=\"index.php?op=news\">
  16. Tytuł:<br>
  17. &nbsp;<input type=&#092;"text\" name=\"title\" size=\"60\" class=\"dzial\"><BR>
  18. <span class=&#092;"text1\">Zwyczka:<br>
  19. &nbsp;<input type=&#092;"text\" name=\"name\" size=\"30\" class=\"dzial\">
  20. <br>Tre&para;ć:
  21. &nbsp;<textarea class=&#092;"text2\" name=\"text\" cols=80 rows=15></textarea>
  22. <input class=&#092;"button\" type=\"submit\" value=\"Wyslij\" name=\"send\">
  23. &nbsp;<input class=&#092;"button\" type=\"reset\" value=\"Reset\" name=\"B2\">
  24. </form>
  25. &#092;";
  26. }
  27. ?>
Mam tutaj takie proste newsy jak zrobić żeby zamiast tabeli newspl można było wybierać np dwie tabele newspl i newseng np wybór z pola <select> Proszę o pomoc worriedsmiley.gif


--------------------

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


  1. <?php
  2.  
  3. $zapytanie = &#092;"SELECT title, data, text, name FROM $tabela WHERE ............\";
  4.  
  5. ?>


O to chodzilo ?


--------------------
Go to the top of the page
+Quote Post
potreb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Nie wiem czy tak jest dobrze, gdy mam tak
  1. <?php
  2. $zapytanie = &#092;"SELECT * FROM $tabela ORDER BY id DESC\";
  3. ?>

to pokazuje mi sie błąd taki, jużtak próbowałem a co do tamtego to nie mam wybierać tabeli tylko funkcje instert.

Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\oup\news.php on line 21
tiredsmiley.gif tiredsmiley.gif sadsmiley02.gif :roll2:

Ten post edytował potreb 11.04.2005, 08:07:24


--------------------

Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


  1. <?php
  2.  
  3. zapytanie = 'INSERT INTO `'.$tabela...................
  4.  
  5. ?>


Zobacz czy tak przejdzie


--------------------
Go to the top of the page
+Quote Post
potreb
post
Post #5





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Działa, ale chodzi mi głównie o wyswietlanie newsów.
  1. <?php
  2. $newsy = NEWS;
  3. $petla;
  4. display (10);
  5. function display ($ile)
  6. {
  7. mysql_connect (&#092;"127.0.0.1\",\"root\",\"krasnal\");
  8. mysql_select_db (krasnal);
  9. $zapytanie = &#092;"SELECT * FROM $newsy ORDER BY id DESC\";
  10. $wykonaj = mysql_query ($zapytanie);
  11.  
  12. while($wiersz=mysql_fetch_array ($wykonaj)) {
  13.  
  14. $wiersz[&#092;"text\"] = str_replace (\"n\", \"<br>\", $wiersz[\"text\"]);
  15.  
  16. $petla++;
  17. if ($petla>$ile) break;
  18.  
  19. echo &#092;"
  20.  
  21. <div style=padding-top:2px; class=news>&#092;".$wiersz['title'].\"</div>
  22.               <div class=data>[&#092;".$wiersz['data'].\"] | <B>\".$wiersz['name'].\"</B></div>
  23.             <div style=padding-top:3px; class=news2><img src=images/rep_5.gif  width=185 height=2><BR>
  24.             <div style=padding-top:5px; class=news2>
  25.               &#092;".$wiersz[text].\"</p></div>\";
  26.  
  27.  
  28. }
  29. }
  30.  
  31. ?>

Zmienna $newsy słuzy mi do tego aby okreslic w langu jaka to tabela dla jakiego jezyka.

Ale teraz mi wyskakuje bład taki:
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\oup\news.php on line 12

No i własnie nie wiem w czym teraz problem. Dzieki za odpowiedzi. Pozdrawiam

Ten post edytował potreb 11.04.2005, 14:55:58


--------------------

Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Zapytanie CI nic nie zwrocilo, a wywolujesz mysql_fetch_array, musisz dodac warunek ile rekordow zwrocilo


--------------------
Go to the top of the page
+Quote Post
Michał2000
post
Post #7





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 16.03.2005
Skąd: Płońsk

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


Jabym dal polecenie IF...

  1. <?php
  2. $lang = $_GET['lang'];
  3.  
  4. if (empty($lang))
  5. {
  6. //Łącz sie z baza z polskimi tekstami
  7. }
  8. if ($lang == &#092;"ang\")
  9. {
  10. //Łacz sie z bazą z angieslkimi tekstami
  11. }
  12.  
  13. ?>


A potem wystarczy dodawac na koncu URL'a

Polska strona = index.php
Angielska strona = index.php?lang=ang
Go to the top of the page
+Quote Post
SongoQ
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@Michał2000 Nie wiem czy Cie dobrze zrozumialem, ale wydaje mi sie ze jest bezsensowne laczenie sie z inna baza w celu pobrania tekstu innego jezyka. Po co replokowac dane??


--------------------
Go to the top of the page
+Quote Post
Ociu
post
Post #9





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




hm.. może coś takiego, nie wiem czy będzie działać, bo nie robiłem jeszcze pobieranie danych z bazy poprzez pętlę for. Poza tym, zmęczony jestem ic oś może być źle napisanie.

  1. <?php
  2. for($i=0; $i<$ile; $i++)
  3. {
  4. $wiersz = mysql_fetch_array($wykonaj);
  5. $wiersz['text'] = nl2br($wiersz['text']);
  6. echo &#092;"<div style=padding-top:2px; class=news>\".$wiersz['title'].\"</div>
  7. <div class=data>[&#092;".$wiersz['data'].\"] | <B>\".$wiersz['name'].\"</B></div>
  8. <div style=padding-top:3px; class=news2><img src=images/rep_5.gif width=185 height=2><BR>
  9. <div style=padding-top:5px; class=news2>
  10. &#092;".$wiersz['text'].\"</p></div>\";
  11. }
  12. ?>
Go to the top of the page
+Quote Post
SongoQ
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@Ociu nie musisz tak kombinowac wystarczy ze wstawisz warunek do ilosci rekordow:

  1. <?php
  2.  
  3. $szZapytanie = &#092;"...................\";
  4. $rWynik = mysql_query ($szZapytanie);
  5. if( mysql_num_rows($rWynik) > 0)
  6. {
  7.  while($wiersz=mysql_fetch_array ($rWynik))
  8.  ............................
  9.  
  10. }
  11.  
  12. ?>


--------------------
Go to the top of the page
+Quote Post
jedrus4
post
Post #11





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 6.04.2005
Skąd: Międzyborów

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


Cytat(Michał2000 @ 2005-04-11 19:02:15)
  1. <?php
  2. $lang = $_GET['lang'];
  3.  
  4. if (empty($lang))
  5. {
  6. //Łącz sie z baza z polskimi tekstami
  7. }
  8. if ($lang == &#092;"ang\")
  9. {
  10. //Łacz sie z bazą z angieslkimi tekstami
  11. }
  12.  
  13. ?>

Jakiś ten Twój kod dziurawy.
A co sie stanie gdy user wpisze z palucha:
index.php?lang=rosyjski
?

jak wrzucasz odpowiedzi i wklejasz kod to moze sensowny?
a poza tym gdzie sprawdzenie czy $_GET['lang'] w ogole istnieje?


--------------------
pozdrawiam
jedrus4
Go to the top of the page
+Quote Post
SongoQ
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@jedrus4 To mnie tak akurat nie przerazilo, bo zawsze mozesz dopisac walidacje i bedzie wszystko ok, najgorsze jest to ze z tego kodu wynika ze @Michał2000 chce uruchamian kolejne instancje baz wedlug jezyka, co dla mnie sie to troche porazka wydaje i duplikowanem sie danych.


--------------------
Go to the top of the page
+Quote Post
jedrus4
post
Post #13





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 6.04.2005
Skąd: Międzyborów

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


Cytat(SongoQ @ 2005-04-12 23:01:42)
najgorsze jest to ze z tego kodu wynika ze @Michał2000 chce uruchamian kolejne instancje baz wedlug jezyka, co dla mnie sie to troche porazka wydaje i duplikowanem sie danych.

No tak, ale to juz napisales. Przeciez wystarczy do tego jedna tabela - bylaby tam informacja np. o dacie dodania newsa, autorze i dwie wersje jezykowe. Pozniej wystarczy:

  1. <?php
  2.  
  3. if(isset(_$GET['lang']))
  4. {
  5.  $lang = $_GET['lang'];
  6.  
  7.  if(($lang=='pol')||($lang=='ang')) //mozna dodac tez inne
  8.  {
  9. $zapytanie = &#092;"SELECT newsy.data, newsy.autor, newsy.'\".$lang.\"'\";
  10. //polaczenie z baza danych, odczytanie wynikow i wyswietlenie
  11.  }
  12.  
  13.  else
  14.  {
  15. echo 'Niepoprawny jezyk'; //mozna wstawic opcje wyboru jezyka
  16.  }
  17.  
  18. }
  19.  
  20. else
  21. {
  22.  $lang = 'pol';  //mozna wstawic inny domyslny jezyk lub opcje wyboru jezyka
  23. }
  24.  
  25. ?>


Ten post edytował jedrus4 13.04.2005, 08:46:13


--------------------
pozdrawiam
jedrus4
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 17:17