Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP,MYSQL] "panel admina", problem
Malas
post 11.04.2009, 19:10:20
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


http://wklej.org/id/77084/

A więc mam problem. może zbyt szybko biorę się za takie rzeczy w sumie no ale jak już piszę to może pomożecie.
w treści tego pliku(link wyżej) jest napisany taki mini mini panel admina gdzie mogę dodawać newsy,usuwać je i edytować, a także dodawać edytować, usuwać, zawodników. Nie ukrywam, że część "newsowa" to kod z tutoriala z innego forum. Chciałem do tego dopisać dodwanie,usuwanie,edytowanie zawodników. No i tak jakby skopiowałem część odpowiedzialną za newsy z tym, że pozmieniałem oczywiście wartości aby przystosowane to były do zawodników. Gdzieś musi być błąd ponieważ teraz gdy naciskam "Dodaj Newsa" jest pusta strona, a powinien pojawić się formularz.
Następny błąd to to, że gdy wpisuje dane zawodnika i klikam dodaj to niedodaje go do bazy tylko tak jakby strona się odświeża tylko.
i pytanie: czy taki kod jaki tam jest teraz ma prawo działać w ogóle?smile.gif

Ten post edytował Malas 11.04.2009, 19:16:41
Go to the top of the page
+Quote Post
TheaSiX
post 11.04.2009, 19:27:00
Post #2





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


  1. <?php
  2. elseif(isset($_GET['newsy']) && $_GET['newsy']=='dopisz')
  3. ?>


linia 81, nie powinno zamiast DOPISZ byc DODAJ?
Go to the top of the page
+Quote Post
Malas
post 11.04.2009, 19:36:28
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


Cytat(TheaSiX @ 11.04.2009, 20:27:00 ) *
  1. <?php
  2. elseif(isset($_GET['newsy']) && $_GET['newsy']=='dopisz')
  3. ?>


linia 81, nie powinno zamiast DOPISZ byc DODAJ?


ok dzięki, dodawanie newsów już działa ale z zawodnikami dalej jest problem który opisałem w 1 poście.
Go to the top of the page
+Quote Post
TheaSiX
post 11.04.2009, 20:43:55
Post #4





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


znalazłem inny błąd

  1. <?php
  2. mysql_query("INSERT INTO news VALUES(0,'$imie','$nazwisko','$urodzony','kraj','wzrost','waga')");
  3. ?>


linia 288, zapomniales dodac $ przed kraj, wzrost, waga..

opisz dokładnie co się dzieje gdy klikniesz w łącze dodaj zawodnika..
Go to the top of the page
+Quote Post
Malas
post 11.04.2009, 20:52:20
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


No jakby działało poprawnie to by wyświetliło
Cytat
echo 'Pomyślnie dodałem zawodnika o parametrach: <b>'.$imie.'</b> <b>'.$nazwisko.'</b> <b>'.$urodzony.'</b> <b>'.$kraj.'</b> <b>'.$wzrost.'</b> <b>'.$waga.'</b>';

A jak klikam dodaj to po prostu strona jakby się tylko odświeżała i żadnego komunikatu nie mam, znowu pusty formularz.
Go to the top of the page
+Quote Post
TheaSiX
post 11.04.2009, 21:43:41
Post #6





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


w tej samej linii co podałem.. masz

  1. <?php
  2. INSERT INTO news
  3. ?>


powinno byc

  1. <?php
  2. INSERT INTO player
  3. ?>


sprawdź teraz?
Go to the top of the page
+Quote Post
Malas
post 11.04.2009, 21:44:17
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


Cytat(TheaSiX @ 11.04.2009, 22:43:41 ) *
w tej samej linii co podałem.. masz

  1. <?php
  2. INSERT INTO news
  3. ?>


powinno byc

  1. <?php
  2. INSERT INTO player
  3. ?>


sprawdź teraz?

to już wcześniej zauważyłem, nic nie dało:)
Go to the top of the page
+Quote Post
TheaSiX
post 11.04.2009, 21:51:15
Post #8





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

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


hmm no dobra. Klikasz dodaj zawodnika i wyświetla się pusty formularz. Później klikasz DODAJ i znów widzisz tylko formularz... dziwne..

a dodaje się cokolwiek do bazy?
Go to the top of the page
+Quote Post
Malas
post 12.04.2009, 09:45:01
Post #9





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


Cytat(TheaSiX @ 11.04.2009, 22:51:15 ) *
hmm no dobra. Klikasz dodaj zawodnika i wyświetla się pusty formularz. Później klikasz DODAJ i znów widzisz tylko formularz... dziwne..

a dodaje się cokolwiek do bazy?

Nie dodaje nic. Klikam DODAJ i tak jakby się po prostu odświeżała strona, żadna akcja nie jest wykonywana.




edit:
działa..
elseif(isset($_GET['player']) && $_GET['player']=='dopisz') wcześniej było 'dodaj'

sory za posta pod postem.

Teraz chciałbym dodać do tych newsów stronnicowanie, a więc treść news.php wygląda tak (już z moją próbą dodania):
Cytat
<?
$uchwyt=mysql_connect('localhost','root','haslo')
or die('Nieudane połączenie z bazą danych...');
mysql_select_db('malas')
or die('Nie udało się wybrać bazy danych...');

$display = 6;
if (isset($_GET['np'])) {
$num_pages = $_GET['np'];
} else {

$query = "SELECT COUNT(*) FROM news ORDER BY id desc";
$result = mysql_query ($query);
$row = mysql_fetch_array ($result, MYSQL_NUM);
$num_records = $row[0]

if ($num_records > $display) { //wiecej niz 1 strona.
$num_pages = ceil ($num_records/$display);
} else {
$num_pages = 1;
}
}

if (isset($_GET['s'])) {
$start = $_GET['s'];
} else {
$start = 0;
}

//utworz zapytanie
$query = "SELECT id, tytul, tresc, data FROM news ORDER BY id ASC LIMIT $start, $display";


$link=mysql_query("SELECT * FROM news ORDER BY id desc");
while($wiersz=mysql_fetch_array($link))
{
echo '<b>';
echo $wiersz['tytul'];
echo '</b> (';
echo $wiersz['data'];
echo ')';
echo "<br>\n";
echo $wiersz['tresc'];
echo "<br>\n";
echo "<br>\n";
}


if ($num_pages > 1) {
echo '<br /><p>';
$current_page = ($start/$display) + 1;
if ($current_page != 1 {
echo '<a href="news.php?s=' . ($start - $display) . '&np=' . $num_pages .'">Poprzednia</a> ';
}


mysql_close($uchwyt);
?>


wywala parse error w linii 17:
Cytat
if ($num_records > $display) { //wiecej niz 1 strona.

ja jakoś tutaj czegoś niedomkniętego się nie dopatrzyłem..

Ten post edytował Malas 12.04.2009, 09:45:25
Go to the top of the page
+Quote Post
bartolomeo
post 12.04.2009, 09:59:31
Post #10





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 21.09.2008

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


w 15 linii dopisz średnik po row[0]
Go to the top of the page
+Quote Post
Malas
post 12.04.2009, 10:11:38
Post #11





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


Ok znalazłem jeszcze parę błędów i je poprawiłem i niby jest ok, ale stronicowanie nie działa..

news.php

  1. <?php
  2. $uchwyt=mysql_connect('localhost','root','haslo')
  3.    or die('Nieudane połączenie z bazą danych...');
  4.    or die('Nie udało się wybrać bazy danych...');
  5.  
  6. $display = 6;
  7. if (isset($_GET['np'])) {
  8. $num_pages = $_GET['np'];
  9. } else {
  10.  
  11. $query = "SELECT COUNT(*) FROM news ORDER BY id desc";
  12. $result = mysql_query ($query);
  13. $row = mysql_fetch_array ($result, MYSQL_NUM);
  14. $num_records = $row[0];
  15.  
  16. if ($num_records > $display) { //wiecej niz 1 strona.
  17. $num_pages = ceil ($num_records/$display);
  18. } else {
  19. $num_pages = 1;
  20. }
  21. }
  22.  
  23. if (isset($_GET['s'])) {
  24. $start = $_GET['s'];
  25. } else {
  26. $start = 0;
  27. }
  28.  
  29. //utworz zapytanie
  30. $query = "SELECT id, tytul, tresc, data FROM news ORDER BY id ASC LIMIT $start, $display";
  31.  
  32.  
  33. $link=mysql_query("SELECT * FROM news ORDER BY id desc");
  34. while($wiersz=mysql_fetch_array($link))
  35. {
  36.    echo '<b>';
  37.    echo $wiersz['tytul'];
  38.    echo '</b> (';
  39.    echo $wiersz['data'];
  40.    echo ')';    
  41.    echo "<br>\n";
  42.    echo $wiersz['tresc'];
  43.    echo "<br>\n";
  44.    echo "<br>\n";
  45. }
  46.  
  47.  
  48. if ($num_pages > 1) {
  49. echo '<br /><p>';
  50. $current_page = ($start/$display) + 1;
  51. if ($current_page != 1) {
  52. echo '<a href="news.php?s=' . ($start - $display) . '&np=' . $num_pages .'">Poprzednia</a> ';
  53. }
  54. }
  55.  
  56. mysql_close($uchwyt);
  57. ?>


Ten post edytował Malas 12.04.2009, 10:58:35
Go to the top of the page
+Quote Post
Spawnm
post 12.04.2009, 10:16:51
Post #12





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




a daj kod w bbcode dla php , aby kod był czytelny smile.gif
  1. <?php
  2. //utworz zapytanie
  3. $query = "SELECT id, tytul, tresc, data FROM news ORDER BY id ASC LIMIT $start, $display";
  4.  
  5.  
  6. $link=mysql_query("SELECT * FROM news ORDER BY id desc");
  7. while($wiersz=mysql_fetch_array($link))
  8. ?>


$query nigdzie się nie wykonuje ...

Ten post edytował Spawnm 12.04.2009, 10:56:57
Go to the top of the page
+Quote Post
Malas
post 12.04.2009, 11:29:15
Post #13





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


teraz już całkiem namieszałem sciana.gif
  1. <?php
  2. //utworz zapytanie
  3. $query = "SELECT id, tytul, tresc, data FROM news ORDER BY id ASC LIMIT $start, $display";
  4.  
  5. $result = mysql_query ($query); // wykonaj zapytanie.
  6. ?>

wcześniej jak napisałeś query się nigdzie nie wykonywało to dodałem $result, dobrze zrobiłem?

tresc news.php wygląda teraz tak:
  1. <?php
  2. $uchwyt=mysql_connect('localhost','root','mateusz10')
  3.    or die('Nieudane połączenie z bazą danych...');
  4.    or die('Nie udało się wybrać bazy danych...');
  5.  
  6. $display = 6;
  7. if (isset($_GET['np'])) {
  8. $num_pages = $_GET['np'];
  9. } else {
  10.  
  11. $query = "SELECT COUNT(*) FROM news ORDER BY id desc";
  12. $result = mysql_query ($query);
  13. $row = mysql_fetch_array ($result, MYSQL_NUM);
  14. $num_records = $row[0];
  15.  
  16. if ($num_records > $display) { //wiecej niz 1 strona.
  17. $num_pages = ceil ($num_records/$display);
  18. } else {
  19. $num_pages = 1;
  20. }
  21. }
  22.  
  23. if (isset($_GET['s'])) {
  24. $start = $_GET['s'];
  25. } else {
  26. $start = 0;
  27. }
  28.  
  29. //utworz zapytanie
  30. $query = "SELECT id, tytul, tresc, data FROM news ORDER BY id ASC LIMIT $start, $display";
  31.  
  32. $result = mysql_query ($query); // wykonaj zapytanie.
  33. $link=mysql_query("SELECT * FROM news ORDER BY id desc");
  34. while($wiersz=mysql_fetch_array($link))
  35. {
  36.    echo '<b>';
  37.    echo $wiersz['tytul'];
  38.    echo '</b> (';
  39.    echo $wiersz['data'];
  40.    echo ')';    
  41.    echo "<br>\n";
  42.    echo $wiersz['tresc'];
  43.    echo "<br>\n";
  44.    echo "<br>\n";
  45. }
  46.  
  47.  
  48. if ($num_pages > 1) {
  49. echo '<br /><p>';
  50. $current_page = ($start/$display) + 1;
  51. if ($current_page != 1) {
  52. echo '<a href="news.php?s=' . ($start - $display) . '&np=' . $num_pages .'">Poprzednia</a> ';
  53. }
  54. }
  55.  
  56. mysql_close($uchwyt);
  57. ?>


stronicowanie dalej nie działa.
Go to the top of the page
+Quote Post
Spawnm
post 12.04.2009, 11:31:58
Post #14





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




  1. <?php
  2. $result = mysql_query ($query); // wykonaj zapytanie.
  3. $link=mysql_query("SELECT * FROM news ORDER BY id desc");
  4. while($wiersz=mysql_fetch_array($link))
  5. ?>

zamiast $link który pobiera wszystko daj $result ...
Go to the top of the page
+Quote Post
Malas
post 12.04.2009, 11:38:42
Post #15





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


  1. <?php
  2. //utworz zapytanie
  3. $query = "SELECT id, tytul, tresc, data FROM news ORDER BY id ASC LIMIT $start, $display";
  4.  
  5. $result = mysql_query ($query); // wykonaj zapytanie.
  6.  
  7. while($wiersz=mysql_fetch_array($result))
  8. {
  9.    echo '<b>';
  10.    echo $wiersz['tytul'];
  11.    echo '</b> (';
  12.    echo $wiersz['data'];
  13.    echo ')';    
  14.    echo "<br>\n";
  15.    echo $wiersz['tresc'];
  16.    echo "<br>\n";
  17.    echo "<br>\n";
  18. }
  19. ?>

czyli tak ma to wyglądać?
Bo teraz to wyświetla te newsy po id , no i stronicowanie dalej nie działa.
Go to the top of the page
+Quote Post
Spawnm
post 12.04.2009, 11:41:20
Post #16





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




pewnie tak... czemu się pytasz zamiast sprawdzić ...

po co pobierasz id skoro nic z nim nie robisz??
Go to the top of the page
+Quote Post
Malas
post 12.04.2009, 11:48:53
Post #17





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


Sprawdziłem przecież..ehh no to jak całość ma wyglądać żeby to stronicowanie działało;/
Go to the top of the page
+Quote Post
Spawnm
post 12.04.2009, 12:08:31
Post #18





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




ale jak nie działa ? jakieś błędy ?
czemu w menu jest tylko Poprzednia a nie ma następna ?
Go to the top of the page
+Quote Post
Malas
post 12.04.2009, 13:18:51
Post #19





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.09.2008

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


  1. <?php
  2. $uchwyt=mysql_connect('localhost','root','haslo')
  3.    or die('Nieudane połączenie z bazą danych...');
  4.    or die('Nie udało się wybrać bazy danych...');
  5.  
  6. $display = 6;
  7. if (isset($_GET['np'])) {
  8. $num_pages = $_GET['np'];
  9. } else {
  10.  
  11. $query = "SELECT COUNT(*) FROM news ORDER BY id desc";
  12. $result = mysql_query ($query);
  13. $row = mysql_fetch_array ($result, MYSQL_NUM);
  14. $num_records = $row[0];
  15.  
  16. if ($num_records > $display) { //wiecej niz 1 strona.
  17. $num_pages = ceil ($num_records/$display);
  18. } else {
  19. $num_pages = 1;
  20. }
  21. }
  22.  
  23. if (isset($_GET['s'])) {
  24. $start = $_GET['s'];
  25. } else {
  26. $start = 0;
  27. }
  28.  
  29. //utworz zapytanie
  30. $query = "SELECT id, tytul, tresc, data FROM news ORDER BY id ASC LIMIT $start, $display";
  31.  
  32. $result = mysql_query ($query); // wykonaj zapytanie.
  33.  
  34. while($wiersz=mysql_fetch_array($result))
  35. {
  36.    echo '<b>';
  37.    echo $wiersz['tytul'];
  38.    echo '</b> (';
  39.    echo $wiersz['data'];
  40.    echo ')';    
  41.    echo "<br>\n";
  42.    echo $wiersz['tresc'];
  43.    echo "<br>\n";
  44.    echo "<br>\n";
  45. }
  46.  
  47.  
  48. if ($num_pages > 1) {
  49. echo '<br /><p>';
  50. $current_page = ($start/$display) + 1;
  51. if ($current_page != 1) {
  52. echo '<a href="news.php?s=' . ($start - $display) . '&np=' . $num_pages .'">Poprzednia</a> ';
  53. }
  54. }
  55.  
  56. for ($i = 1; $i <=num_pages; $i++){
  57. if ($i != $current_page) {
  58. echo '<a href="news.php?s=' . (($display * ($i - 1))) . '&np=' . $num_pages . '">' . $i . '</a>';
  59. } else {
  60. echo $i . ' ';
  61. }
  62. }
  63. if ($current_page != $num_pages) {
  64. echo '<a href="news.php?s=' . ($start + $display) . '&np=' . $num_pages . '">Następna</a>';
  65. }
  66. echo '</p>';
  67.  
  68.  
  69. mysql_close($uchwyt);
  70. ?>


No teraz jest dokończony. Tylko teraz źle tworzy link czyli gdzieś błąd zrobiłem.
Jestem sobie na news.php i klikam Następna i przenosi do linku: http://adres.pl/news.php?s=6&np=2
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 21:46