Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Pusta wartość w MySQL
Forum PHP.pl > Forum > Przedszkole
Barcelona
Witam, mam taki problem.

Mam zrobiony formularz dodawania nowego ogłoszenia do bazy danych (formularz ten był poprawiany na tym forum smile.gif ). W tym formularzu mam 4 inputy na dodawanie fotek do bazy.

Skrypt jest skonstruowany tak że jak jest robiony upload to nazwy plików dodają się do bazy danych, a jak upload nie jest robiony to wtedy do bazy dodaje się domyślna nazwa pliku.

Problem polega na tym, że jak dodam 2 z 4 plików to do bazy dodadzą się 2 nazwy plików i 2 puste pola.
Teraz przy wyświetlaniu w galerii ogłoszenia z dwoma fotografiami to pojawiają się dwa obrazki i dwa puste kwadraty.

Link dla przykładu : Link

Pomyslałem żeby zrobic takie coś w galeri:
  1. <div id="gallery">
  2. <?
  3. $zapytanie = "SELECT * FROM `ogloszenia` WHERE `id` = '".$id."' ";
  4. $wykonaj = mysql_query($zapytanie);
  5. while ($rekord = mysql_fetch_array($wykonaj))
  6. {
  7. $obrazek = $rekord['obrazek'];
  8. $obrazek_dwa = $rekord['obrazek_dwa'];
  9. $obrazek_trzy = $rekord['obrazek_trzy'];
  10. $obrazek_cztery = $rekord['obrazek_cztery'];
  11. echo <<<KONIEC
  12. <a href="/img/$obrazek.jpg"><img src="/img/mini/$obrazek.jpg"></a>
  13. <a href="/img/$obrazek_dwa.jpg"><img src="/img/mini/$obrazek_dwa.jpg"></a>
  14. <a href="/img/$obrazek_trzy.jpg"><img src="/img/mini/$obrazek_trzy.jpg"></a>
  15. <a href="/img/$obrazek_cztery.jpg"><img src="/img/mini/$obrazek_cztery.jpg"></a>
  16. KONIEC;
  17. }
  18. ?>
  19. </div>


Kod formularza:

  1. if (strlen($tytul)>2) {
  2.  
  3. ////////////////////////////////////////
  4.  
  5. //ustawienie wielkosci zmniejszanych obrazow
  6. $w_1 = 175;
  7. $w_2 = 400;
  8.  
  9.  
  10. // echo "0";
  11. foreach($_FILES as $file) {
  12. if($file["error"] == UPLOAD_ERR_OK) { $uploaded = true; }
  13. }
  14.  
  15.  
  16. $i = 0;
  17. if ($uploaded) {
  18. // echo "1";
  19. foreach( $_FILES as $ul_plik )
  20. {
  21. // echo "2";
  22. if( is_uploaded_file( $ul_plik['tmp_name'] ) )
  23. {
  24. // echo "3";
  25. $rand[] = f_rand(3);
  26. $new_name = $rand[$i].".jpg";
  27. $tmp_name = $ul_plik['tmp_name'];
  28. $name = $ul_plik['name'];
  29.  
  30. copy($tmp_name, './tmp/'.$new_name);
  31.  
  32. resize($new_name,$w_1,"./img/mini/", "");
  33. resize($new_name,$w_2,"./img/", "");
  34.  
  35.  
  36. unlink('./tmp/'.$new_name);
  37.  
  38.  
  39. $i++;
  40. }
  41.  
  42.  
  43. }
  44.  
  45.  
  46. INSERT INTO ogloszenia (tytul, data, tresc, stan, rodzaj, marka, model, rocznik, miejsca, klimatyzacja, rejestracja,obrazek,obrazek_dwa,obrazek_trzy,obrazek_cztery,cena)
  47. VALUES ('$tytul','$data','$tresc','$stan','$rodzaj','$marka','$model','$rocznik','$miejsca','$klimatyzacja','$rejestracja','$rand[0]','$rand[1]','$rand[2]','$rand[3]','$cena')
  48. ");
  49.  
  50. } else {
  51. // echo "4";
  52. INSERT INTO ogloszenia (tytul, data, tresc, stan, rodzaj, marka, model, rocznik, miejsca, klimatyzacja, rejestracja,obrazek,obrazek_dwa,obrazek_trzy,obrazek_cztery,cena)
  53. VALUES ('$tytul','$data','$tresc','$stan','$rodzaj','$marka','$model','$rocznik','$miejsca','$klimatyzacja','$rejestracja','nazwa','nazwa','nazwa','nazwa','$cena')
  54. "); }
  55. // echo "5";
  56. echo "
  57. <br><div class=\"potwierdzenie\"><center>Ogłoszenie zostało dodane</center>
  58. </div>";
  59.  
  60.  
  61. }


Myślę, że bedzie łatwiej sprawdzić jak długa jest nazwa pliku w bazie niż kombinować z kodem formularza.
Pozdrawiam
krispak
Jezeli juz masz pustke w kolumnie to sprawdzaj w WHILE czy dana zmienna z tablicy ma jakas wartosc czy jest pusta, na szybko zrobilbym to tak:
  1. <div id="gallery">
  2. <?
  3. $zapytanie = "SELECT * FROM `ogloszenia` WHERE `id` = '".$id."' ";
  4. $wykonaj = mysql_query($zapytanie);
  5. while ($rekord = mysql_fetch_array($wykonaj))
  6. {
  7. echo ($rekord['obrazek'] != "") ? '<a href="/img/$obrazek.jpg"><img src="/img/mini/$obrazek.jpg"></a>' : '';
  8. echo ($rekord['obrazek_dwa'] != "") ? '<a href="/img/$obrazek_dwa.jpg"><img src="/img/mini/$obrazek_dwa.jpg"></a>' : '';
  9. echo ($rekord['obrazek_trzy'] != "") ? '<a href="/img/$obrazek_trzy.jpg"><img src="/img/mini/$obrazek_trzy.jpg"></a>' : '';
  10. echo ($rekord['obrazek_cztery'] !="") ? '<a href="/img/$obrazek_cztery.jpg"><img src="/img/mini/$obrazek_cztery.jpg"></a>' : '';
  11. }
  12. ?>
  13. </div>
Barcelona
Pomogło, nie będę kombinować z kodem bo nie ma sensu jak już działa
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.