Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] [MySQL] Problem z Komentarzami Do Systemu Newsów. HELP ME
Forum PHP.pl > Forum > Przedszkole
korey
Witam. Od jakiegoś czasu uczę się PHP i jeszcze wszystkiego nie ogarniam.. sad.gif
Mój problem polega na tym że, zrobilem prosty system newsów w oparciu o PHP i MySQ (wyświetlanie, dodawanie, usuwanie, edycja). Do newsów dodałem opcje dodawania komentarzy i właśnie tutaj zaczynają się moje problemy.. sad.gif

Pierw Pokażę kody:
Plik wyświetlający newsy:
  1. <?php
  2. include ('Includes/config_includes.php');
  3. include ('Includes/function_includes.php');
  4. include ('Includes/header_includes.php');
  5. $login = $_SESSION['login'];
  6. $haslo = $_SESSION['haslo'];
  7.  
  8.  
  9. ?>
  10.  
  11.  
  12. <?php
  13. ####################### POKAZ NEWSOW ######################
  14.  
  15. include ('Includes/config_includes.php');
  16. $zapytanie = "SELECT * FROM `news` ORDER BY `newsid` DESC ";
  17. $wykonaj = mysql_query($zapytanie);
  18.  
  19. // mysql_fetch_row
  20. // mysql_fetch_array
  21. // mysql_num_rows
  22. // num_rows
  23. // fetch_row
  24. while($wiersz = mysql_fetch_array($wykonaj))
  25. {
  26. $data = ($wiersz['data']);
  27. $title = ($wiersz['title']);
  28. $tresc = ($wiersz['tresc']);
  29. $autor = ($wiersz['login']);
  30. $newsid = ($wiersz['newsid']);
  31.  
  32. echo $newsid. ' id';
  33. echo '<table style="width: 500px; text-align: left; margin-left: auto; margin-right: auto; color: #FFFFFF; font-size: 13px; " border="1" cellpadding="2" cellspacing="2">';
  34. echo '<tbody>';
  35. echo '<tr>';
  36. echo '<td>'.ucfirst($title).'</td>';
  37. echo '<td>'.ucfirst($data).'</td>';
  38. echo '</tr>';
  39. echo '<tr align="left">';
  40. echo '<td colspan="2" rowspan="1">'.ucfirst($tresc).'</td>';
  41. echo '</tr>';
  42. echo '<tr>';
  43. $id = $take;
  44. echo '<td>Komentarze: [ile] || <a href="news.php?change=add'.$_GET[$newsid].'">Dodaj Komentarz:</a></td>';
  45. echo '<td>';
  46. $zapytanie_o_email = "SELECT * FROM `accounts` WHERE `login` = '$login' ";
  47. $wykonaj_zapytanie = mysql_query($zapytanie_o_email);
  48. $pokarz_wiersz = mysql_fetch_array($wykonaj_zapytanie);
  49. $email2 = ($pokarz_wiersz['email']);
  50.  
  51. echo '<a href="mailto:'.$email2.'">'.ucfirst($autor).'</a></td>';
  52. echo '</tr>';
  53.  
  54. echo '</tbody>';
  55. echo '</table>';
  56. echo '<hr width="300px"><br />';
  57. }
  58.  
  59. switch($_GET['change']){
  60. case 'add'.$_GET[$newsid].'':
  61. $numer = $newsid;
  62.  
  63.  
  64. echo $numer. ' numerID<br />';
  65. echo $newsid. ' newsID<br />';
  66.  
  67. echo '<br /><br />';
  68.  
  69.  
  70. }
  71. ?>
  72.  
  73.  
  74.  
  75. <?PHP
  76. include ('Includes/footer_includes.php');
  77. ?>

Po wywolaniu pliku tak się prezentują tabele z newsami:

[ciach]

Gdy naciskam na 'Dodaj Komentarz:', który należy do newsa o id '2' Przeglądarka pokazuje coś takiego:

[ciach]

Tak wygląda problem na obrazkach smile.gif
Chciałbym by po naciśnięciu na 'Dodaj Komentarz' pobierało mi ID newsa i wyświetlało informacje zawarte w:
  1. switch($_GET['change']){
  2. case 'add'.$_GET[$newsid].'':
  3. $numer = $newsid;
  4.  
  5.  
  6. echo $numer. ' numerID<br />';
  7. echo $newsid. ' newsID<br />';
  8.  
  9. echo '<br /><br />';
  10.  
  11. }

Były wyświetlane zaraz po Poziomej linii pod newsem.

jeśli będzie potrzeba dodania zrzutu tabel itp z DB to dodam.

Z góry Dziękuje za pomoc.
Suh
Witaj, przede wszystkim mała uwaga. Z forum korzysta sporo osób i obowiązuje tu pewna netykieta, dlatego też jeżeli już tak bardzo chciałeś wstawić zdjęcia to mogłeś przynajmniej zamazać wulgaryzmy. Ogólnie mi takie coś nie przeszkadza ale chodzi też o innych, którym może to akurat się nie podobać (jak np. moderatorom).

A wracając do problemu. Proponuję Ci lekturę i analizę przykładów z tej strony. Są na niej informacje nt. metod GET i POST.
Manual

Zatem w linijce 44 na podanym listingu - usuń $_GET[] i zostaw samo $newsid

Składni switch nie za bardzo rozumiem w jakim celu w ogóle została użyta, dlatego proponuje normalnego if'a.

  1. if(isset($_GET['change']))
  2. {
  3. $numer = substr($_GET['change'], 3); // zakladajac ze zawsze przesylane dane beda w postacji add_X, X - numer ID
  4.  
  5. echo "{$numer} numerID<br />";
  6. }


PS. Oraz lekture o switch'ach winksmiley.jpg
batman
~korey jeśli chcesz zamieszczać zrzuty ekranu, to bez wulgaryzmów proszę.
Clever
asdasdasdas

Zbieram 10 postów na test php wybaczcie za spam
korey
Cytat(batman @ 14.08.2009, 14:25:43 ) *
~korey jeśli chcesz zamieszczać zrzuty ekranu, to bez wulgaryzmów proszę.


Sorry takiego 'newsa' zrobiłem sobie do bazy i po prostu zapomniałem co tam było napisane. sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.