Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php+mysql] nie przekazuje zmiennej, tworzenie aktualnosci
bigart
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 20.10.2006

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


skrócona wersja newsa

  1. <?php
  2. $db = mysql_connect('localhost', 'root', 'haslo');
  3. mysql_select_db('so', $db);
  4.  
  5.  
  6.  
  7.  
  8. if (!$db)
  9.  
  10. {
  11.  
  12.  echo 'Błąd połączenia';
  13.  
  14.  exit;
  15.  
  16. }
  17. $zapytanie = "SELECT CASE WHEN LENGTH(tekst) = 300 THEN tekst ELSE CONCAT(SUBSTRING(tekst,1,300),'...') END tekst,data,tytul,autor FROM news ORDER BY data DESC LIMIT 5";
  18.  
  19. $wynik = mysql_query ($zapytanie);
  20. if ($wynik) {
  21.  
  22. while ($wiersz = mysql_fetch_array ($wynik)) {
  23.  
  24. echo '<table>';
  25. echo '<tr>';
  26. echo '<td>';
  27. echo '<p><strong>Dodany: ';
  28.  
  29.  echo stripslashes($wiersz['data']);
  30.  
  31.  echo '</strong> przez: ';
  32.  
  33.  echo stripslashes($wiersz['autor']);
  34. echo '<br />Tytuł: ';
  35.  
  36. echo stripslashes($wiersz['tytul']);
  37. echo '<br />Treść: ';
  38. echo '<a href="show_news.php?idnews='.$wiersz['idnews'].'">' . $wiersz['tekst'] . '</a><br>';
  39. echo '<td>';
  40. echo '</tr>';
  41. echo '</table>';
  42. }
  43. echo '</p>';
  44. } 
  45.  
  46. ?>


a tutaj powinna pojawic sie tresc calego newsa
  1. <?php
  2. $db = mysql_connect('localhost', 'root', 'haslo');
  3. mysql_select_db('so', $db);
  4. $idnews = $_GET['idnews'];
  5.  
  6.  
  7.  
  8. if (!$db)
  9.  
  10. {
  11.  
  12.  echo 'Błąd połączenia';
  13.  
  14.  exit;
  15.  
  16. }
  17.  
  18. $zapytanie = "SELECT tekst from news where idnews=$idnews";
  19. $wynik = mysql_query ($zapytanie);
  20.  
  21. if ($wynik) {
  22. echo '<table width=98% align=center cellpadding=1 cellspacing=1;>'; 
  23. echo '<tr>';
  24. echo '<td width=50%>';
  25.  
  26. echo '<br />Treść: ';
  27.  
  28.  echo stripslashes($wiersz['tekst']);
  29.  
  30. echo '</p>';
  31. echo '</td>';
  32. echo '</tr>';
  33. }
  34.  
  35.  
  36.  
  37. echo '</table>';
  38.  
  39. echo '</form>';
  40.  
  41.  
  42. //mysql_free_result($wynik);
  43.  
  44.  
  45.  
  46. ?>


phpinfo(); pokazuje
php Variables
Variable Value
_REQUEST["idnews"] no value
_GET["idnews"] no value


prosze o pomoc

Ten post edytował bigart 7.11.2006, 13:52:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





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




  1. <?php
  2. $zapytanie = "SELECT tekst from news where idnews=$idnews;
  3. ?>
w tej linii zjadles "
powinno byc:
  1. <?php
  2. $zapytanie = "SELECT tekst from news where idnews=$idnews";
  3. ?>


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 20.10.2006

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


zrobiłem tak jak napisales i caly czas lipa

http://127.0.0.1/admin/show_news.php?idnews=
nie pobiera:(
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




no ale przeciez w linku co pokazales, to idnew nie ma zadnej wartosci, to sie nie dziw ze ci nei dziala.

tu masz pewnie jakis blad:
  1. <?php
  2. echo '<a href="show_news.php?idnews='.$wiersz['idnews'].'">'
  3. ?>

zobacz czy wiersz['idnews'] ma jakas wartosc.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 20.10.2006

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


w bazie danych sa wartosci ... np 49 i 53 ...

jak mozesz napisz gdzie i jak spr. wartosc



idnews to kolumna auto_increment primary key w bazie danych mysql
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




no ale skoro dostajesz puste linki bez zmiennej to jednak nie ma tam wartosci.
daj w petli:
  1. <?php
  2. while ($wiersz = mysql_fetch_array ($wynik)) {
  3. print_r($wiersz);
  4. //....
  5. ?>

i pokaz co dokladnie zawiera tablica wiersz


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bigart
post
Post #7





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 20.10.2006

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


jak mozesz to napisz mi dokladnie w którym miejscu mam to wpisac w kodzie... tzn wklej mi moj kod php razem z tą pętla ... sorry ale sie pogubilem

print_r ($_GET); pokazuje Array ( [idnews] => )

  1. $zapytanie = "SELECT CASE WHEN LENGTH(tekst) = 300 THEN tekst ELSE CONCAT(SUBSTRING(tekst,1,300),'...') END tekst,data,tytul,autor FROM news ORDER BY data DESC LIMIT 5;

chyba do zapytania trzeba dodac kolumne idnews

dodalem w ten sposob :
... END idnews,tekst,data,tytul,autor FROM news ORDER BY data DESC LIMIT 5;

ale efekt jest taki ze w miejscu gdzie ma byc tekst skrócony jest cały... a po kliknieciu pojawia sie skrócony



ok
udalo sie:)



tak dziala jak trzeba czyli pokazuje skróconego newsa i po kliknieciu pojawia sie pelna tresc newsa
  1. $zapytanie = "SELECT CASE WHEN LENGTH(tekst) = 300 THEN tekst ELSE CONCAT(SUBSTRING(tekst,1,300),'...') END tekst,idnews,data,tytul,autor FROM news ORDER BY data DESC LIMIT 5";

a w ten sposób pojawia sie zamiast skróconego newsa to pełna treść i jak sie kliknie to pojawia się skrócona!!
  1. $zapytanie = "SELECT CASE WHEN LENGTH(tekst) = 300 THEN tekst ELSE CONCAT(SUBSTRING(tekst,1,300),'...') END idnews,tekst,data,tytul,autor FROM news ORDER BY data DESC LIMIT 5"

moze mi ktos wyjasnic dlaczego tak sie dzieje (przez przypadek udało mi sie rozwiązać problem a chciałbym znać przyczyne) ?

  1. $zapytanie = "SELECT idnews, CASE WHEN LENGTH(tekst) = 300 THEN tekst ELSE CONCAT(SUBSTRING(tekst,1,300),'...') END AS tekst,data,tytul,autor FROM news ORDER BY data DESC LIMIT 5";


tak tez dziala i chyba jest najbardziej jasne to zapytanie:)
thx DnaDesign:)

Ten post edytował bigart 7.11.2006, 15:04:56
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




hehe, idnews mowisz dodales do selecta.... kurka, wydawalo mi sie to tak oczywiste ze powinno tam byc , ze nawet nie sprawdzilem czy ty to masz. ech, starosc nie radosc smile.gif


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 20.10.2006

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


nospor dzieki za pomoc:) jezeli chodzi o mnie to jestem poczatkujacy i nic u mnie nie jest oczywiste:)ehehehe
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 - 12:29