Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]dodanie i odczytanie z mysql
Forum PHP.pl > Forum > Przedszkole
Sadu2
Witam,
Chciałbym się dowiedzieć w jakis sposób mogę zrobić coś takiego:

Mam strone w panelu admina, na której sa pola do wpisania:

Imie: [......]
Nazwisko: [......]
Data Urodzenia: [......]
Pozycja: [......]
Obrazek: [URL]

[......] - pole do wpisania tekstu
[URL] - pole do wpisania URL pliku z opcją przeglądaj

I chciałbym wpisywać dane, wybierać obrazek i potem wyświetlać te dane na stronie.
W jaki sposób mogę to zrobić?
Pozdrawiam
Void
TUTAJ masz podstawy obsługi MySQL, tj. nawiązywanie połączenia z bazą, tworzenie tabel, wprowadzanie i pobieranie danych itp.

A TUTAJ wykonywanie powyższych funkcji w PHP.
uli
Dobra - suchy manual tutaj nie pomoże, więc dodam trochę od siebie. Mam nadzieję, że choć trochę przybliży Tobie zagadnienie.

Na początek (jeśli nie pisałeś w PHP) polecam kurs podstawowy: Kurs PHP

Oraz kurs mySQL: Kurs MySQL

Opiszę Tobie ogólnie jak mniej więcej to powinno wyglądać (pomijam nagłówki, rozmieszczenie tabel, oraz opcję przeglądaj - no bo co ma przeglądać?? WWW?? Czy ścieżkę lokalnąquestionmark.gif itp):

plik index.html (czyli kwestionariusz)

  1. <form action=dopisz.php method=POST>
  2. <tr>
  3. <td>Imię:&nbsp;</td>
  4. <td><input type=text name=imie></td>
  5. </tr>
  6.  
  7. <tr>
  8. <td>Nazwisko:&nbsp;</td>
  9. <td><input type=text name=nazwisko></td>
  10. </tr>
  11.  
  12. <tr>
  13. <td>Data urodzenia:&nbsp;</td>
  14. <td><input type=text name=data></td>
  15. </tr>
  16.  
  17. <tr>
  18. <td>Pozycja:&nbsp;</td>
  19. <td><input type=text name=pozycja></td>
  20. </tr>
  21.  
  22. <tr>
  23. <td>Obrazek:&nbsp;</td>
  24. <td><input type=text name=obrazek></td>
  25. </tr>
  26.  
  27. <input type=submit value=wyślij>
  28. </form>


Kwestionariusz powyżej wysyła dane z pól do pliku dodaj.php

Plik dodaj.php:

  1. <?php
  2.  
  3. // odbieramy dane
  4. $imie = $_POST['imie'];
  5. $nazwisko = $_POST['nazwisko'];
  6. $data = $_POST['data'];
  7. $pozycja = $_POST['pozycja'];
  8. $obrazek = $_POST['obrazek'];
  9.  
  10. // otwieramy bazę (brak obslugi bledow)
  11. $sql = mysql_connect(twoj_serwer_mysql,user,haslo);
  12. mysql_selectdb(twoja_baza);
  13.  
  14. // zapisujemy do tabeli users - zakladam że taka tabela istnieje
  15.  
  16. $zapytanko = "INSERT INTO users (imie,nazwisko,data,pozycja,obrazek) VALUES ('$imie','$nazwisko','$data','$pozycja','$obrazek')";
  17.  
  18. $wykonaj = mysql_query($zapytanko);
  19.  
  20. ?>


No a teraz wyświetlanie:

  1. <?php
  2.  
  3.  
  4. // otwieramy bazę (brak obslugi bledow)
  5. $sql = mysql_connect(twoj_serwer_mysql,user,haslo);
  6. mysql_selectdb(twoja_baza);
  7.  
  8. // odczytujemy
  9.  
  10. $zapytanko = "SELECT * FROM users ORDER BY id";
  11. $wykonaj = mysql_query($zapytanko);
  12.  
  13. while ($wiersz = mysql_fetch_array($wykonaj)) {
  14. echo "Imie: $wiersz['imie']<br>";
  15. echo "Nazwisko: $wiersz['nazwisko']<br>";
  16. echo "Data urodzenia: $wiersz['data']<br>";
  17. echo "Pozycja: $wiersz['pozycja']<br>";
  18. echo "Obrazek: $wiersz['obrazek']<br>";
  19. echo "<br>";
  20. }
  21.  
  22. ?>


Oczywiście to tylko krótki szablon - brakuje obsługi wyjątków, autoryzacji itp, itd...
Sadu2
Dziękuje bardzo biggrin.gif Własnie tego potrzebowałem! No to teraz chciałbym zapytać.
Mam oto taki kod:

  1. Kadra:&nbsp;
  2. <select name="kadra">
  3. <option value=""> wybierz kadre</option>
  4. <?php
  5. $query = "SELECT nazwa FROM kadra ORDER by k_id DESC";
  6. $result = mysql_query($query) or die(mysql_error());
  7. while($db = mysql_fetch_array($result)) {
  8. echo "<option value=""> $db[nazwa]</option>";
  9. }
  10.  
  11. ?>
  12. </select><BR>


Dzięki któremu pobieram nazwy kadr, ale:

  1. <?php
  2. // odbieramy dane
  3. $imie = $_POST['imie'];
  4. $nazwisko = $_POST['nazwisko'];
  5. $data = $_POST['data'];
  6. $pozycja = $_POST['pozycja'];
  7. $kadra = $_POST['kadra'];
  8.  
  9. // zapisujemy do tabeli dane - zakladam że taka tabela istnieje
  10. if($_POST['Zapisz']) {
  11.  
  12. $query = "INSERT INTO dane (id, imie, nazwisko, data, pozycja, kadra) VALUES ('', '$imie', '$nazwisko', '$data', '$pozycja', '$kadra')";
  13. $result = mysql_query($query) or die (mysql_error());
  14.  
  15. if($result) echo "Dodano dane !!";
  16. if(!$result) echo "Nie dodano danych !!";
  17. ?>


Gdy wezme zapisz, wszystko zapisuje się oprócz $kadra.
Nie wiem czy dobrze wyjaśniłem, w razie czego spóbuje inaczej....
Pozdrawiam
Void
Bo wypadałoby każdemu polu option nadać jakąś wartość, a ty pozostawiasz atrybut value pusty...
  1. <?php
  2. echo "<option value="tutaj brakuje wartosci"> $db[nazwa]</option>";
  3. ?>
Sadu2
Zgadza sie, dziękuje smile.gif

Ale jeszcze sie odezwe... biggrin.gif

//EDIT:

Mam problem z odczytaniem:

  1. <?php
  2. $query = "SELECT * FROM dane ORDER BY id";
  3. $result = mysql_query($query);
  4.  
  5. while ($db = mysql_fetch_array($result)) {
  6. echo "Imie: $db['imie']<br>";
  7. echo "Nazwisko: $db['nazwisko']<br>";
  8. echo "Data urodzenia: $db['data']<br>";
  9. echo "Pozycja: $db['pozycja']<br>";
  10. echo "Obrazek: $db['obrazek']<br>";
  11. echo "<br>";
  12. }
  13. ?>


Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/xxx/xxx/xxxx/public_html/md/kadra.php on line 19


Linia 19 to:
  1. <?php
  2. echo "Imie: $db['imie']<br>";
  3. ?>


//EDIT:

Poradziłem sobie z tym problemem:

  1. <?php
  2. $id = htmlspecialchars($_GET['id']);
  3. $query = mysql_query("SELECT * FROM dane WHERE kadra = '$id'");
  4. $result = mysql_query($query);
  5. while($row = mysql_fetch_row($query)) {
  6. $d++;
  7. if($d%2) {
  8. print ("$name_row[0] $name_row[1] $name_row[2] $name_row[3] $name_row[4] $name_row[
    5] $name_row[6]<BR>n"
    );
  9. echo "$row[0]<BR>";
  10. echo "$row[1]<BR>";
  11. echo "$row[2]<BR>";
  12. echo "$row[3]<BR>";
  13. echo "$row[4]<BR>";
  14. echo "$row[5]<BR>";
  15. echo "<img SRC="$row[6]"><BR>";
  16. ?>


Tylko chciałem zapytać jak moge wyświetlić wszystkie dane z tabeli, bo mi wyświetla tylko jedne dane.
Pozdrawiam


//EDIT:

Juz działa, poradziłem sobie dzieki temu:

  1. <?php
  2. $id = htmlspecialchars($_GET['id']);
  3. $query = mysql_query("SELECT imie, nazwisko, data, kadra, pozycja, zdjecie FROM dane WHERE id = '$id'") or die (mysql_error());
  4. while($db = mysql_fetch_array($query)) {
  5.  $d++;
  6.  
  7. echo "<table border="0" width="390" align="center">";
  8. echo "<tr><td rowspan="4" width="207"><img SRC="$db[zdjecie]"></td>";
  9. echo "<td><B> Imie:</B> $db[imie]</td></tr>";
  10. echo "<tr><td> <B>Nazwisko:</B> $db[nazwisko]</td></TR>";
  11. echo "<tr><td> <B>Data Ur.:</B> $db[data]</td></TR>";
  12. echo "<tr><td> <B>Pozycja:</B> $db[pozycja]</td></TR>";
  13. echo "</table>";
  14.  
  15. } 
  16.  }
  17. ?>


Dziękuje za rady, pozdrawiam.
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.