Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Sprawdzenie kodu na zapis i wyświetlenie danych z bazy danych
Forum PHP.pl > Forum > Przedszkole
konradkw
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.  
jogi84
  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.
konradkw
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>


..
17misiek09
  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
konradkw
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.
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.