Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z pobraniem danych z formularza i bazy
Forum PHP.pl > Forum > Przedszkole
japek
Zrobiłem rozwijaną liste aby można było wybrać datę. Po wybraniu daty, wybieram z bazy danych plik z taką samą datą. Jednak nie chce mi wyświetlić nazwy pliku i cały program nie dziala.

Obsługa formularza i pobór danych z bazy:

  1. <?php
  2. if (isset($_POST['submit'])) {
  3.  
  4. require ('connect.php');
  5.  
  6. $query="SELECT file_name, file_type, data FROM dane WHERE data=".$_POST['day'].$_POST['month'].$_POST['year']."";
  7. $result=@mysql_query($query);
  8. if($result) {
  9. if($num=mysql_fetch_array($result)) {
  10. $plik=("".$num[0].'_'.$num[1].'.'.$num[2]."");
  11. print $plik;
  12. }
  13. else {
  14. }
  15. }
  16. else {
  17. }
  18. }
  19. ?>


Formularz:

  1. <form enctype="multipart/form-data" action="test.php" method="POST">
  2. <div align="center">
  3. <?php lista(); ?>
  4. <input type="submit" name="submit" value="wyslij"></div>
  5. </form>


Funkcja lista():

  1. <?php
  2. function lista() {
  3.  
  4. echo '<select name="day">';
  5. for ($day=1; $day<=31; $day++) {
  6. echo"<option value="$day">
  7. $day</option>n";
  8. }
  9. echo'</select>
  10.  
  11. <select name="month">';
  12. for ($month=1; $month<=12; $month++) {
  13. echo"<option value="$month">
  14. $month</option>n";
  15. }
  16. echo'</select>
  17.  
  18. <select name="year">';
  19. for ($year=2003; $year<=2006; $year++) {
  20. echo"<option value="$year">
  21. $year</option>n";
  22. }
  23.  
  24. echo'</select>';
  25. }
  26. ?>


Błędy nie wyskakują, nazwa pliku też :/. Nie wiem jaki tu jest błąd.
Xathloc
Jak wygląda pole "data" w bazie danych?
japek
Pole typu varchar(100) a data dodawana w postaci 00.00.0000 ale nie zrobiłem datatype bo to nie jest data jakiegoś aktualnego działania - traktuje to jako zwykła dana. Nie powinno to być przyczynąbłędu chyba smile.gif
Xathloc
A jadnak biggrin.gif
Masz
  1. <?php
  2. $query="SELECT file_name, file_type, data FROM dane WHERE data=".$_POST['day'].$_POST['month'].$_POST['year']."";
  3. ?>

a pole
Cytat(japek @ 23.10.2006, 16:43:14 ) *
(...) typu varchar(100) a data dodawana w postaci 00.00.0000 (...)

IMHO brakuje kropek. Bo w zapytaniu masz datę w postaci ddmmyyyy.
japek
Taa dzięki, zasugerowałem sie kropkami między zmiennymi i nie dodałem pozostałych. Ale teraz mam jeszcze błąd składni.

  1. <?php
  2. $query="SELECT file_name, file_type, data FROM dane WHERE data=".$_POST['day'].".".$_POST['month'].".".$_POST['year']." ";
  3. ?>
ale nie wiem jeszcze co nie tak...
Balas
  1. <?php
  2. $query="SELECT file_name, file_type, data FROM dane WHERE data='".$_POST['day'].".".$_POST['month'].".".$_POST['year']."' ";
  3. ?>


dodaj ' ' przy data winksmiley.jpg
japek
biggrin.gif WIELKIE DZIĘKI !
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.