Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Sprawdzenie kodu na zapis i wyświetlenie danych z bazy danych
konradkw
post 13.02.2012, 00:08:53
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

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


Witam.
Zaczynam dopiero i robię swój mały projekt.
Chciałbym Was prosić o sprawdzenie mojego kodu i podpowiedź gdzie leży problem.
Pragnę jednocześnie zaznaczyć że nie chcę żebyście napisali jak to powinno być bo chcę to sam napisać, chciałbym tylko podpowiedź gdzie jest błąd.
Skrypt ma za zadanie zapisać dane w bazie danych, następnie wyświetlić ostatio wpisane dane i wtedy wyświetlić całą zawartość tabeli, do której dodajemy wartości 6-u zmiennych podawanych przez użytkownika w formularzu.

Zdaję sobie sprawę że kod nie jest najlepszy i pwnie da się to lepiej zrobić ale się uczę na własnych błędach.

Jeszcze nadmienię że z z powodu błędu którego nie mogę znaleźć efektem skryptu jest pusta strona zamiast wszystkich informacji które miały się wyświetlić ale co najważniejsze - DANE NIE ZOSTAJĄ DODANE DO BAZY!!

Mam jeszcze jeden plik ale to tylko prosty formularz.

kod:
  1.  
  2.  
  3. <html>
  4. <head>
  5. <title>Dane wyslane</title>
  6. </head>
  7. <body>
  8. <center>
  9.  
  10. <?php
  11.  
  12. //polaczenie z baza
  13. // nawiazujemy polaczenie
  14. $connection = @mysql_connect('xxxxxxxxx', 'xxxxxxxxx', 'xxxxxxxxx');
  15.  
  16. // w przypadku niepowodznie wyświetlamy komunikat
  17. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  18.  
  19. // połączenie nawiązane ;-)
  20. echo "Operacja się powiodła! <br />";
  21.  
  22. // nawiązujemy połączenie z bazą danych
  23. $db = @mysql_select_db('morpheus_28', $connection)
  24.  
  25. // w przypadku niepowodzenia wyświetlamy komunikat
  26. or die('Nie mogę polaczyć się z baza danych<br />Błąd: '.mysql_error());
  27.  
  28.  
  29. $a = $_POST['l1'];
  30. $b = $_POST['l2'];
  31. $c = $_POST['l3'];
  32. $d = $_POST['l4'];
  33. $e = $_POST['l5'];
  34. $f = $_POST['l6'];
  35.  
  36. $add = mysql_query("INSERT INTO wyniki(l1, l2, l3, l4, l5, l6) VALUES('$a', '$b', '$c','$d','$e','$f')");
  37.  
  38. if ($sql) {
  39. echo '<p>Dodano do bazy</p>';
  40. } else {
  41. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  42.  
  43. echo "</br >"; echo "</br >";
  44.  
  45. echo "<b>"; echo "Wyniki które zostały wpisane to: "; echo "</br >";
  46.  
  47. echo $a;
  48. echo ", ";
  49. echo $b;
  50. echo ", ";
  51. echo $c;
  52. echo ", ";
  53. echo $d;
  54. echo ", ";
  55. echo $e;
  56. echo ", ";
  57. echo $f;
  58. echo "</b>";
  59.  
  60. //wyświetlenie zawartośći całej bazy
  61. $zapytanie = "SELECT * FROM wyniki";
  62. $result = mysql_query($zapytanie);
  63.  
  64. while($row = mysql_fetch_array($result))
  65. {
  66. echo $row;
  67. }
  68. // zamykamy połączenie
  69. mysql_close($connection);
  70.  
  71. ?>
  72.  
  73. <br><br><b>
  74. <a href="./index.php">WROC DO WPISYWANIA WYNIKOW</a>
  75. </b></center>
  76.  
  77. </body>
  78.  
  79. </html>
  80.  
  81.  
  82.  


Ten post edytował konradkw 13.02.2012, 08:04:05
Go to the top of the page
+Quote Post
jogi84
post 13.02.2012, 00:45:34
Post #2





Grupa: Zarejestrowani
Postów: 1
Pomógł: 1
Dołączył: 13.02.2012

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


  1. //polaczenie z baza
  2. // nawiazujemy polaczenie
  3. $connection = @mysql_connect('xxxxxxxxx', 'xxxxxxxxx', 'xxxxxxxxx')
  4.  
  5. // w przypadku niepowodznie wyświetlamy komunikat
  6. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());


Na pewno po $connection nie powinno być średnika jeśli używasz dalej operatora OR
druga sprawa to brak średnika zamykającego w wierszu 42
  1. if ($add) {
  2. echo '<p>Dodano do bazy</p>';
  3. } else {
  4. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  5. }


Ogólnie to cały ten if wg mnie jest bez sensu ponieważ nie ma nigdzie zmiennej $sql, więc nie wiem co on ma robić, domyślam się że powinno tam być $add.


ten fragment też nie ma sensu:
  1. while($row = mysql_fetch_array($result))
  2. {
  3. echo $row;
  4. }
  5.  

przy tych informacjach, które mam z kodu przez Ciebie załączonego powinno być np tak:
  1. while($row = mysql_fetch_array($result))
  2. {
  3. echo $row['l1']." ". $row['l2']." ". $row['l3']." ". $row['l4']." ". $row['l5']." ".$row['l6']." <br /> ";
  4. }

Można to zrobić również w inny sposób, ale z racji godziny nie chce mi sie już teraz rozpisywać. smile.gif

Fragmenty wstawionego kodu są już poprawione. Sprawdź czy Ci się teraz wykona ten kod.

Ten post edytował jogi84 13.02.2012, 00:59:49
Go to the top of the page
+Quote Post
konradkw
post 13.02.2012, 22:53:15
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

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


Więc poprawiłem wg wskazówek ale teraz mam błąd w ostatniej linijce ale szcze mówiąc nie widzę tam błędu. możecie troszkę pomóc?

  1. <html>
  2. <head>
  3. <title>Dane wyslane</title>
  4. </head>
  5. <body>
  6. <center>
  7.  
  8. <?php
  9.  
  10. //polaczenie z baza
  11. // nawiazujemy polaczenie
  12. $connection = @mysql_connect('xxxxxl', 'xxxxx', 'xxxxx')
  13.  
  14. // w przypadku niepowodznie wyświetlamy komunikat
  15. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  16.  
  17. // połączenie nawiązane ;-)
  18. echo "Operacja się powiodła! <br />";
  19.  
  20. // nawiązujemy połączenie z bazą danych
  21. $db = @mysql_select_db('morpheus_28', $connection)
  22.  
  23. // w przypadku niepowodzenia wyświetlamy komunikat
  24. or die('Nie mogę polaczyć się z baza danych<br />Błąd: '.mysql_error());
  25.  
  26. // połączenie nawiązane ;-)
  27. //echo "Udało się polaczyć z baza dancych!";
  28.  
  29. $a = $_POST['l1'];
  30. $b = $_POST['l2'];
  31. $c = $_POST['l3'];
  32. $d = $_POST['l4'];
  33. $e = $_POST['l5'];
  34. $f = $_POST['l6'];
  35.  
  36. $add = mysql_query("INSERT INTO wyniki(l1, l2, l3, l4, l5, l6) VALUES('$a', '$b', '$c','$d','$e','$f')");
  37.  
  38. if ($add) {
  39. echo '<p>Dodano do bazy</p>';
  40. } else {
  41. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  42.  
  43. echo "</br >"; echo "</br >";
  44.  
  45. echo "<b>"; echo "Wyniki które zostały wpisane to: "; echo "</br >";
  46.  
  47. echo $a;
  48. echo ", ";
  49. echo $b;
  50. echo ", ";
  51. echo $c;
  52. echo ", ";
  53. echo $d;
  54. echo ", ";
  55. echo $e;
  56. echo ", ";
  57. echo $f;
  58. echo "</b>";
  59.  
  60. //wyświetlenie zawartośći całej bazy
  61. $zapytanie = "SELECT * FROM wyniki";
  62. $result = mysql_query($zapytanie);
  63.  
  64. while($row = mysql_fetch_array($result))
  65. {
  66. echo $row['l1']." ". $row['l2']." ". $row['l3']." ". $row['l4']." ". $row['l5']." ".$row['l6']." <br /> ";
  67. }
  68. // zamykamy połączenie
  69. mysql_close($connection);
  70.  
  71. ?>
  72.  
  73. <br><br><b>
  74. <a href="./index.php">WROC DO WPISYWANIA WYNIKOW</a>
  75. </b></center>
  76.  
  77. </body>
  78. </html>


..
Go to the top of the page
+Quote Post
17misiek09
post 14.02.2012, 01:53:22
Post #4





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

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


  1. <html>
  2. <head>
  3. <title>Dane wyslane</title>
  4. </head>
  5. <body>
  6. <center>
  7.  
  8. <?php
  9.  
  10. //polaczenie z baza
  11. // nawiazujemy polaczenie
  12. $connection = @mysql_connect('xxxxxl', 'xxxxx', 'xxxxx')
  13.  
  14. // w przypadku niepowodznie wyświetlamy komunikat
  15. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  16.  
  17. // połączenie nawiązane ;-)
  18. echo "Operacja się powiodła! <br />";
  19.  
  20. // nawiązujemy połączenie z bazą danych
  21. $db = @mysql_select_db('morpheus_28', $connection)
  22.  
  23. // w przypadku niepowodzenia wyświetlamy komunikat
  24. or die('Nie mogę polaczyć się z baza danych<br />Błąd: '.mysql_error());
  25.  
  26. // połączenie nawiązane ;-)
  27. //echo "Udało się polaczyć z baza dancych!";
  28.  
  29. $a = $_POST['l1'];
  30. $b = $_POST['l2'];
  31. $c = $_POST['l3'];
  32. $d = $_POST['l4'];
  33. $e = $_POST['l5'];
  34. $f = $_POST['l6'];
  35.  
  36. $add = mysql_query("INSERT INTO wyniki(l1, l2, l3, l4, l5, l6) VALUES('$a', '$b', '$c','$d','$e','$f')");
  37.  
  38. if ($add) {
  39. echo '<p>Dodano do bazy</p>';
  40. } else {
  41. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  42. }
  43. echo "</br >"; echo "</br >";
  44.  
  45. echo "<b>"; echo "Wyniki które zostały wpisane to: "; echo "</br >";
  46.  
  47. echo $a;
  48. echo ", ";
  49. echo $b;
  50. echo ", ";
  51. echo $c;
  52. echo ", ";
  53. echo $d;
  54. echo ", ";
  55. echo $e;
  56. echo ", ";
  57. echo $f;
  58. echo "</b>";
  59.  
  60. //wyświetlenie zawartośći całej bazy
  61. $zapytanie = "SELECT * FROM wyniki";
  62. $result = mysql_query($zapytanie);
  63.  
  64. while($row = mysql_fetch_array($result))
  65. {
  66. echo $row['l1']." ". $row['l2']." ". $row['l3']." ". $row['l4']." ". $row['l5']." ".$row['l6']." <br /> ";
  67. }
  68. // zamykamy połączenie
  69. mysql_close($connection);
  70.  
  71. ?>
  72.  
  73. <br><br><b>
  74. <a href="./index.php">WROC DO WPISYWANIA WYNIKOW</a>
  75. </b></center>
  76.  
  77. </body>
  78. </html>


na przyszlosc jak otwierasz { to od razu go zamknij - nie zapomnisz o tym po napisaniu jakiejkolwiek funkcji.
nie napisales jaki blad sie pokazal, chociaz mozliwe ze teraz zadziala wink.gif


--------------------
Lombi !! kłaniam Ci się od 00:45 dnia 2012-01-27 !! :)
Serdeczne dzięki !! :)

zespół na wesele?wejdź :)
ręcznie robione ozdoby, obrazy, figurki i wiele innych :) zapraszam :)
Go to the top of the page
+Quote Post
konradkw
post 14.02.2012, 18:54:18
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

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


No owszem działa z tym że mam tutaj coś niepotrzebnego - zera obok ostatnio wpisanych wartości i nie bardzo widzę gdzie, znaczy widzę gdzie w kodzie to się wyświetla ale nie wiem dlaczego.



Wydaje mi się że gdzieś tu jest błąd i niepotrzebnie wyświetla puste wartości:

  1. //wyświetlenie zawartośći całej bazy
  2. $zapytanie = "SELECT * FROM wyniki";
  3. $result = mysql_query($zapytanie);
  4.  
  5. while($row = mysql_fetch_array($result))
  6. {
  7. echo $row['l1']." ". $row['l2']." ". $row['l3']." ". $row['l4']." ". $row['l5']." ".$row['l6']." <br /> ";
  8. }
  9. // zamykamy połączenie
  10. mysql_close($connection);


Podpowie ktoś?
Z góry dziękuję!

JUZ ZNALAZLEM exclamation.gif Brakowalo w jednym miejscu <br /> poniewaz pierwszy z wyników się pojawiał obok ostatnio wpisanego.
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: 27.04.2025 - 07:13