Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Prościzna ! A nie umiem - problem z sortowaniem
Grzesiekb91
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


Cześć!
Ledwo co zacząłem swoją przygodę, a już mam problemy (IMG:style_emoticons/default/smile.gif)
HTML'a nie znałem... Robię stronkę z książki, którą niedawno zakupiłem...
I mimo, że już przepisałem ten kod, na bank 100% pewny jestem, że nic nie pominąłem ;/

Mam problem ze stronką, ponieważ nie chcę mi sortować. Tutaj wklejam kod stronki :
  1. <?php
  2.  
  3. // sprawdź, czy użytkownik zalogował się, używając poprawnego hasła
  4. if ($_SESSION['authuser'] !=1 ){
  5. echo "przepraszamy, ale nie masz uprawnień do zobaczenia tej strony!";
  6. exit();
  7. }
  8. ?>
  9. <html>
  10. <head>
  11. <title>Witryna o filmach</title>
  12. </head>
  13. <body>
  14. <?php include "header.php"; ?>
  15. <?php
  16. $favmovies = array("Żywot Briana",
  17. "Szarże",
  18. "Życie Biurowe",
  19. "Monty Python i Święty Graal",
  20. "Matrix",
  21. "Terminator 2",
  22. "Gwiezdne wojny",
  23. "Bliskie spotkania trzeciego stopnia",
  24. "Szesnaście świeczek",
  25. "Golfiarze");
  26. if (isset($_REQUEST['favmovie'])) {
  27. echo "Witamy na witrynie użytkowniku ";
  28. echo $_SESSION['username'];
  29. echo "<br>";
  30. echo "Mój ulubiony film to ";
  31. echo $_REQUEST['favmovie'];
  32. echo "<br>";
  33. echo "Ocena dla tego filmu wynosi ";
  34. $movierate;
  35. } else {
  36. echo "Lista ". $_POST["num"] . " moich najlepszych filmów: ";
  37. echo "<br>";
  38. // ------------------------------------------------------
  39. if (isset($REQUEST['sorted'])) {
  40. sort($favmovies);
  41. }
  42. // -------------------------------------------------------
  43. $numlist = 1;
  44. while ($numlist <= $_POST["num"]) {
  45. echo $numlist;
  46. echo ". ";
  47. echo pos($favmovies);
  48. next ($favmovies);
  49. echo "<br> \n";
  50. $numlist = $numlist +1;
  51. }
  52. }
  53. ?>
  54. </body>
  55. </html>


Ten post edytował Grzesiekb91 6.01.2011, 12:46:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
MateuszS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Do wyświetlania zawartości tablicy używa się pętli foreach, bo chyba to chciałeś zrobić tym while'em?
Go to the top of the page
+Quote Post
CuteOne
post
Post #3





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Omg oni naprawdę uczą tak pisać o.O....

Błąd nie leży w tym skrypcie tylko w skrypcie z którego wysyłasz prawdopodobnie formularz. Aby sprawdzić co zawiera w sobie $_REQUEST wstaw ten kod na początku skryptu:
  1. echo '<pre>';
  2. print_r($_REQUEST);
  3. echo '</pre>';


Jeżeli w wyświetlonej tablicy nie znajdziesz [sorted] => cuś znaczy, że błąd leży w innym pliku ;]

Ten post edytował CuteOne 6.01.2011, 18:36:48
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


gdy wstawie srednik zamiast kropki wywala blad : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Bruce Wszechmogacy', 5, 2003, 1, 2), (2. 'Zycie biurowe', 5, 1999, 5, 6), (3. '' at line 1

jesli dam kropke wychodzi ze dane zostaly wprowadzone poprawnie, tworze kolejny plik php
  1. <?php
  2. $connect = mysql_connect("localhost", "bp5am", "bp5ampass")
  3. or die("Sprawdz polaczenie z serwerem.");
  4. mysql_select_db("moviesite");
  5.  
  6. $query = "SELECT movie_name, movie_type ".
  7. "FROM movie ".
  8. "WHERE movie_year>1990 ".
  9. "ORDER BY movie_type";
  10. $results = mysql_query($query)
  11. while ($row = mysql_fetch_array($results)) {
  12. extract ($row);
  13. echo $movie_name;
  14. echo " - ";
  15. echo $movie_type;
  16. echo "<br>";
  17. }
  18. ?>



wyswietla mi sie pusta strona, a powinno wyswietlic filmy, KOMEDIODRAMAT
Go to the top of the page
+Quote Post
casperii
post
Post #5





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


  1. $query = "SELECT `movie_name`, `movie_type` FROM `movie` WHERE movie_year>1990 ORDER BY movie_type";
  2. $results = mysql_query($query) or die(mysql_error());
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #6





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


Chciałem sprawdzić czy może gdzieś w plikach innych nie namieszałem znów. Dziwne, bo gdy sprawdzałem to działało wszystko, okazało się, że jakiś błąd jest przy tworzeniu tabel, moze dlatego je zle wypelnilo ? choc dziwne bo wtedy by sie wyswietlil jakis blad, bo sprawdzalem, ale niewazne... bo wszedlem przez foldery do xamppa mysql usunalem cala swoja bazdanych "movie", by znow stworzyc tabele, i je wypelnic, gdy uruchamiam strone, pisze, ze ta baza danych juz istnieje, no i tu szkopul, bo sie tworzy znowu, klikam nastepnie kolejny plik zeby wypelnic, i wypelnia prawidlowo, lecz jak chce zrobic kolejny plik z tabela posortowana z filmami wg. gatunku, to ów kropka w górnym lewym monitorze nadal jest i nic oprocz niej, zadnych bledow nie wywala, jednak coś źle jest, ja już plik przepisywałem z tej durnej ksiazki chyba z 10 razy, także się poddaje... gdybym wiedzial chociaz co ta kropka oznacza, to moze mialbym jakis punkt zaczepienia...

czyli to co mi działało (PRAWIE) przed chwilą, z powrotem mam ten sam błąd co z początku...

TUTAJ KOD:

  1.  
  2. <?php
  3. $connect = mysql_connect("localhost", "bp5am", "bp5ampass")
  4. or die("Sprawdz polaczenie z serwerem");
  5.  
  6. mysql_select_db("moviesite");
  7.  
  8. $query = "SELECT * " .
  9. "FROM movie " .
  10. "WHERE movie_year>1990 " .
  11. "ORDER BY movie_type";
  12.  
  13. $results = mysql_query($query) or die(mysql_error());
  14.  
  15. echo "<table border=\"1\">\n";
  16. while ($row = mysql_fetch_assoc($results)) {
  17. echo "<tr>\n";
  18. foreach($row as $value) {
  19. echo "<td>\n";
  20. echo $value;
  21. echo "</td>\n";
  22. }
  23. echo "</tr>\n";
  24. }
  25. echo "</table>\n";
  26. ?>
  27.  
  28.  
  29.  
  30. WYŚWIETLA KROPKE W GÓRNYM LEWYM ROGU, i nie zmienialem go od czasu kiedy działał także WTF? wszystko dziala a jednak nie dziala nic sad.gif
  31.  
  32. [PHP]
  33.  
  34. <?php
  35. $connect = mysql_connect("localhost", "bp5am", "bp5ampass")
  36. or die("Sprawdz polaczenie z serwerem.");
  37.  
  38. $create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite")
  39. or die("Sprawdz polaczenie z serwerem");
  40.  
  41. mysql_select_db ("moviesite");
  42.  
  43. $movie = "CREATE TABLE movie (
  44. movie_id int(11) NOT NULL auto_increment,
  45. movie_name varchar(255) NOT NULL,
  46. movie_type tinyint(2) NOT NULL default 0,
  47. movie_year int(4) NOT NULL default 0,
  48. movie_leadactor int(11) NOT NULL default 0,
  49. movie_director int(11) NOT NULL default 0,
  50. PRIMARY KEY (movie_id),
  51. KEY movie_type (movie_type, movie_year)
  52. )";
  53. $results = mysql_query($movie)
  54. $movietype = "CREATE TABLE movietype (
  55. movietype_id int(11) NOT NULL auto_increment,
  56. movietype_label varchar(100) NOT NULL,
  57. PRIMARY KEY (movietype_id)
  58. )";
  59.  
  60. $results = mysql_query($movietype) or die(mysql_error());
  61.  
  62. $people = "CREATE TABLE people (
  63. people_id int(11) NOT NULL auto_increment,
  64. people_fullname varchar(255) NOT NULL,
  65. people_isactor tinyint(1) NOT NULL default 0,
  66. people_isdirector tinyint(1) NOT NULL default 0,
  67. PRIMARY KEY (people_id)
  68. )";
  69. $results = mysql_query($people) or die(mysql_error());
  70.  
  71. echo "Dane poprawnie wstawione!!!!!!!! KURWO.";
  72. ?>
  73. [p/php]
  74.  
  75.  
  76. [PHP]
  77.  
  78. <?php
  79.  
  80. $connect = mysql_connect("localhost", "bp5am", "bp5ampass")
  81. or die("Sprawdz polaczenie z serwerem.");
  82.  
  83. mysql_select_db("moviesite");
  84.  
  85. $insert = "INSERT INTO movie(movie_id, movie_name, movie_type, " .
  86. "movie_year, movie_leadactor, movie_director) " .
  87. "VALUES (1, 'Bruce Wszechmogacy', 5, 2003, 1, 2), " .
  88. "(2, 'Zycie Biurowe', 5, 1999, 5, 6), " .
  89. "(3, 'Wielki Kanion', 2, 1991, 4, 3), " .
  90. $results = mysql_query($insert)
  91.  
  92. $type = "INSERT INTO movietype (movietype_id, movietype_label) " .
  93. "VALUES (1, 'Science-fiction'), " .
  94. "(2, 'Dramat'), " .
  95. "(3, 'Przygoda), " .
  96. "(4, 'Wojenny), " .
  97. "(5, 'Komedia), " .
  98. "(6, 'Horror), " .
  99. "(7, 'Akcja'), " .
  100. "(8, 'Dla Dzieci'), " .
  101. $results = mysql_query($type)
  102.  
  103. $people = "INSERT INTO people (people_id, people_fullname, " .
  104. "people_isactor, people_isdirector) " .
  105. "VALUES (1, 'Jim Carrey', 1, 0), " .
  106. "(2, 'Tom Shadyac', 0, 1), " .
  107. "(3, 'Lawrence Kasdan', 0, 1), " .
  108. "(4, 'Kevin Kline', 1, 0), " .
  109. "(5, 'Ron Livingston', 1, 0), " .
  110. "(6, 'Mike Judge', 0, 1), " .
  111. $results = mysql_query($people)
  112. echo " Dane zostaly wstawione poprawnie";
  113. ?>
  114.  
  115.  


Jesli ktos pomoze zrozumieć, co to za kropka, bede całował po stopach przez tyle lat ile ma ten temat [php][/php]
Go to the top of the page
+Quote Post
nospor
post
Post #7





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




nie: $insert = "INSERT INTO movie(movie_id, movie_name, movie_type, " .

"movie_year, movie_leadactor, movie_director) " .

"VALUES (1, 'Bruce Wszechmogacy', 5, 2003, 1, 2), " .

"(2, 'Zycie Biurowe', 5, 1999, 5, 6), " .

"(3, 'Wielki Kanion', 2, 1991, 4, 3), " .

$results = mysql_query($insert)

or die(mysql_error());


a:
$insert = "INSERT INTO movie(movie_id, movie_name, movie_type, " .

"movie_year, movie_leadactor, movie_director) " .

"VALUES (1, 'Bruce Wszechmogacy', 5, 2003, 1, 2), " .

"(2, 'Zycie Biurowe', 5, 1999, 5, 6), " .

"(3, 'Wielki Kanion', 2, 1991, 4, 3)";

$results = mysql_query($insert)

or die(mysql_error());


analogicznie reszta
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #8





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


Gdy zamieniam kropke na srednik:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Go to the top of the page
+Quote Post
com
post
Post #9





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


jaka . na ; ?

odpal sobie np phpmyadmin i wykonaj tam zapytanie a potem przenieś do php. Oprócz . tam znikł jeszcze , na końcu
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #10





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


Duplicate entry '1' for key 1, sprawdzałem google, wszystko w jezyku angielskim, z ktorym srednio sobie radze
Go to the top of the page
+Quote Post
com
post
Post #11





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


masz duplikat czyli taki wpis już istnieje (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #12





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


kurcze, przepraszam, faktycznie działa, juz się zakręciłem... ale tak, że znów powrócilem do tej kropki, która sie pokazuje w lewym górnym rogu :

  1. <?php
  2. $connect = mysql_connect("localhost", "bp5am", "bp5ampass")
  3. or die("Sprawdz polaczenie z serwerem");
  4.  
  5. mysql_select_db("moviesite");
  6.  
  7.  
  8. $query = "SELECT movie.movie_name, movietype.movietype_label " .
  9. "FROM movie, movietype " .
  10. "WHERE movie.movie_type = movietype.movietype_id " .
  11. "AND movie.movie_year>1990 " .
  12. "ORDER BY movie_type";
  13.  
  14. $results = mysql_query($query) or die(mysql_error());
  15.  
  16. echo "<table border=\"1\">\n";
  17. while ($row = mysql_fetch_assoc($results)) {
  18. echo "<tr>\n";
  19. foreach($row as $value) {
  20. echo "<td>\n";
  21. echo $value;
  22. echo "</td>\n";
  23. }
  24. echo "</tr>\n";
  25. }
  26. echo "</table>\n";
  27. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 17:15