Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Wprowadzanie informacji do bazy danych poprzez formularz
Forum PHP.pl > Forum > Przedszkole
Nico~
Witam !

Jestem początkujący, zaczynam zabawę z takimi rzeczami więc proszę o wyrozumiałość.
Zabrałem się za zrobienie że tak powiem formularza dodającego wyniki meczów.

O to formularz który udało mi się stworzyć:
  1. <?php
  2.  
  3. // odbieranie danych z formularza
  4. $data = $_POST['data'];
  5. $gospodarz = $_POST['gospodarz'];
  6. $wynik = $_POST['wynik'];
  7. $gosc = $_POST['gosc'];
  8.  
  9. if($data and $gospodarz and $wynik and $gosc) {
  10. // łączenie się z bazą danych
  11. $connection = @mysql_connect('localhost', 'obarapatry_test', 'haslo')
  12. or die('Brak połączenia z serwerem MySQL');
  13. $db = @mysql_select_db('mecze', $connection)
  14. or die('Nie mogę połączyć się z bazą danych');
  15.  
  16. //dodawanie meczu do bazy danych
  17. $ins = @mysql_query("INSERT INTO mecze SET data='$data', gospodarz='$gospodarz', wynik='$wynik', gosc='$gosc'");
  18.  
  19. if($ins) echo "Mecz został dodany poprawnie";
  20. else echo "Błąd nie udało się dodać nowego meczu";
  21.  
  22. mysql_close($connection);
  23. }
  24.  
  25. //formularz dodawanie meczów
  26. <form action="dodaj_mecz.php" method="post">
  27. Data meczu:<br />
  28. <input type="text" name="data" /><br />
  29. Gospodarz:<br />
  30. <input type="text" name="gospodarz" /><br />
  31. Wynik:<br />
  32. <input type="text" name="wynik" /><br />
  33. Gość:<br />
  34. <input type="text" name="gosc" /><br />
  35. <input type="submit" value="Dodaj mecz!" />
  36. </form>
  37.  
  38. ?>


I o to wykonanie do bazy danych o stworzenie tabeli:
  1. CREATE TABLE mecze (
  2. id int( 11 ) NOT NULL AUTO_INCREMENT ,
  3. DATA varchar( 100 ) NOT NULL DEFAULT '',
  4. gospodarz varchar( 100 ) NOT NULL DEFAULT '',
  5. wynik varchar( 100 ) NOT NULL DEFAULT '',
  6. gosc varchar( 100 ) NOT NULL DEFAULT '',
  7. PRIMARY KEY ( id )
  8. );


Oczywiście wykonanie zostało prawidłowo zrobione.

Wchodze na stronkę z formularzem czyli dodaj_mecz.php i wyskakuje taki o to błąd:
Kod
Parse error: syntax error, unexpected '<' in /home/obarapat/domains/obarapat.linuxpl.info/public_html/html/2/dodaj_mecz.php on line 26


Pytanie: Co zrobiłem nie tak? Gdzie jest błąd?

Proszę o pomoc i poprawienie tego kodu, no i oczywiście o wyjaśnienie.

Z góry dziękuje smile.gif

sajegib
  1.  
  2. mysql_close($connection);
  3. }
  4.  
  5. ?>
  6. //formularz dodawanie meczów
  7. <form action="dodaj_mecz.php" method="post">
  8. Data meczu:<br />
  9. <input type="text" name="data" /><br />
  10. Gospodarz:<br />
  11. <input type="text" name="gospodarz" /><br />
  12. Wynik:<br />
  13. <input type="text" name="wynik" /><br />
  14. Gość:<br />
  15. <input type="text" name="gosc" /><br />
  16. <input type="submit" value="Dodaj mecz!" />
  17. </form>
  18.  


znacznik ?> umieszczasz przed swoim formularzem. Dopóki nie wrzucisz tego znacznika, twój kod jest interpretowany jako kod PHP a nie HTML, w tym wypadku serwer przetwarzał kod PHP, a tu nagle < z html'a

Cytat
syntax error, unexpected '<' in ... on line 26
- parser ci mówi, że na linii 26 masz niespodziewany znacznik '<'

A następnym razem najpierw poszukaj czegoś (google) zanim zadasz pytanie
Nico~
No dobra działa, po wysłaniu zwraca taką akcję:
Kod
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/obarapat/domains/obarapat.linuxpl.info/public_html/html/dodaj_mecz.php on line 20


To znaczy że wszystko jest ok ?

Teraz ogarnąłem wyświetlenie informacji z bazy danych
  1. <?php
  2.  
  3. // wywolanie polaczenia z baza danych
  4. require "connection.php";
  5. connection();
  6.  
  7. // zapytanie do bazy danych
  8. $wynik = mysql_query("SELECT * FROM mecze")
  9. or die('Błąd zapytania');
  10.  
  11. if(mysql_num_rows($wynik) > 0) {
  12. echo "<table border=1>";
  13. while($r = mysql_fetch_assoc($wynik)) {
  14. echo "<tr>";
  15. echo "<td>".$r['data']."</td>";
  16. echo "<td>".$r['gospodarz']."</td>";
  17. echo "<td>".$r['wynik']."</td>";
  18. echo "<td>".$r['gosc']."</td>";
  19. echo "</tr>";
  20. }
  21. echo "</table>";
  22. }
  23. ?>


I mam pytani jak zrobić, aby ostatni wpis do bazy danych pokazywał na samej górze tej tabeli, bo aktualnie pokazuje na samym dole. A ja chce na odwórt smile.gif

A i jeszcze jedna sprawa. Jak dodać opcję co sortuje alfabetycznie wpisy ?
sajegib
linia numer 11 - brakuje średnika na kończącego deklarację zmiennej
Nico~
Dobrze, wstawiłem smile.gif

Cytat
I mam pytani jak zrobić, aby ostatni wpis do bazy danych pokazywał na samej górze tej tabeli, bo aktualnie pokazuje na samym dole. A ja chce na odwrót

A i jeszcze jedna sprawa. Jak dodać opcję co sortuje alfabetycznie wpisy ?
sajegib
sortowanie - w zapytaniu klepiesz
  1. ORDER BY


Cytat
aktualnie pokazuje na samym dole. A ja chce na odwrót


tylko po co? jeśli chodzi tylko o wyświetlenie to możesz to załatwić również przez
  1. ORDER BY
przy wyświetlaniu rekordow
Nico~
Coś nie tak...
Kod
#1064 - Something is wrong in your syntax obok 'ORDER BY' w linii 1
sajegib
nie napisze tego za ciebie

To ci pomoże KLIK
Nico~
Dobrze no to działa prawidłowo smile.gif


Mam taki kod, do wyświetlania zawartości tej tabeli:
  1. <?php
  2.  
  3. // wywolanie polaczenia z baza danych
  4. require "connection.php";
  5. connection();
  6.  
  7. // zapytanie do bazy danych
  8. $wynik = mysql_query("SELECT * FROM mecze")
  9. or die('Błąd zapytania');
  10.  
  11. if(mysql_num_rows($wynik) > 0); {
  12. echo "<table border=1>";
  13. while($r = mysql_fetch_assoc($wynik)) {
  14. echo "<tr>";
  15. echo "<td>".$r['data']."</td>";
  16. echo "<td>".$r['gospodarz']."</td>";
  17. echo "<td>".$r['wynik']."</td>";
  18. echo "<td>".$r['gosc']."</td>";
  19. echo "</tr>";
  20. }
  21. echo "</table>";
  22. }
  23. ?>


I moje pytanie jest takie, jak dodaj styl css do tej tabeli ?
sajegib
najprosciej =
  1. echo "<div style='xxx'>";
Nico~
A jak styl połączyć z tekstem ?

  1. echo "<div class='xxx'>"tekst"</div>;



?
sajegib
  1. echo "<div class='xxx'>tekst</div>";


cudzysłowy
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.