Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: galeria oparta na mysql + php
Forum PHP.pl > Forum > Bazy danych
slawo
witam

  1. $pokaz_foto = mysql_query("SELECT * FROM foty WHERE grupa='$grupa' AND album='$galeria'")
  2. or die('');
  3.  
  4. if(mysql_num_rows($pokaz_foto) > 0) {
  5.  
  6. while($f = mysql_fetch_assoc($pokaz_foto)) {
  7.  
  8. echo "<img src=".$f['zdjecie']." width=100 height=100> ";
  9.  
  10. }
  11. }


napisalem sobie taki kod ktory wyswietla mi zdjecia z bazy. chcialbym zeby np. co 4 zdjecia byl enter i kolejne zeby byly pod spodem a za bardzo nie wiem jak sie do tego zabrac.. pomoze ktos?
erix
Zrób sobie licznik, który co każdy krok pętli będzie się zwiększał o jeden.

Jeśli reszta z dzielenia wartości tego licznika jest równa 0 - wtedy dajesz enter.
slawo
nic mi to nie mówi... hmm coś jaśniej? jezeli moglbys mi to napisac to bylbym wdzieczny bo sam nie dam rady chyba...
erix
Jaśniej, tzn? Czego nie rozumiesz?

Nie napiszę Ci tego - było już nieraz i wystarczy nieco pomyśleć.
slawo
  1. <h1>Upload zdjęcia do galerii</h1>
  2. <form action="upload.php?plik=dodaj" method="post" enctype="multipart/form-data" name="form1">
  3. <input name="plik" type="file" size="50"/>
  4. <input name="max_file_size" type="hidden" value="2048576" />
  5. <input value="Wyślij zdjęcie" type="submit" />
  6. </form>
  7.  
  8. <?php
  9. if(isset($_GET['plik']) && $_GET['plik']=='dodaj')
  10. {
  11. $p_pojemnosc=$_FILES['plik']['size'];
  12. $p_typ=$_FILES['plik']['type'];
  13. if( strpos( $p_typ, 'image/jpeg' ) === false )
  14. die( 'Wybrany plik nie plikiem jpg.' );
  15. $p_nazwa=$_FILES['plik']['name'];
  16. $p_smiec=$_FILES['plik']['tmp_name'];
  17.  
  18. $p_nazwa = strtolower($p_nazwa);
  19. $p_nazwa = str_replace("ż","z",$p_nazwa);
  20. $p_nazwa = str_replace("ą","a",$p_nazwa);
  21. $p_nazwa = str_replace(" ","",$p_nazwa);
  22. $p_nazwa = str_replace("_","",$p_nazwa);
  23. $p_nazwa = str_replace("ś","s",$p_nazwa);
  24. $p_nazwa = str_replace("ł","l",$p_nazwa);
  25. $p_nazwa = str_replace("ó","o",$p_nazwa);
  26. $p_nazwa = str_replace("ń","n",$p_nazwa);
  27. $p_nazwa = str_replace("ź","z",$p_nazwa);
  28. $p_nazwa = str_replace("ć","c",$p_nazwa);
  29. $p_nazwa = str_replace("ę","e",$p_nazwa);
  30.  
  31. $sprawdzenia = substr($p_nazwa, strrpos($p_nazwa, "."));
  32.  
  33. $p_roz= array_pop(explode(".", $p_nazwa));
  34.  
  35. $max_size=round(($_POST['max_file_size']/2048576),3)."MB";
  36.  
  37. $poj_MB=round(($p_pojemnosc/2048576),2).'MB';
  38.  
  39. $p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;
  40. $folder="img/";
  41.  
  42. if ($p_pojemnosc <= 0)
  43. {
  44. echo ("Plik jest pusty. Nie mogę go przesłać <b>".$p_nazwa." ".$poj_MB.$f_koniec."");
  45. echo "<a href='upload.php'>Wracaj ...</a>";
  46. }
  47. if ($poj_MB > $max_size)
  48. {
  49. echo("Plik jest za duży. Maksymalnie można wysłać <b>".$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$poj_MB.$f_koniec."</i></b>");
  50. echo "<a href='upload.php'>Wracaj ...</a>";
  51. }
  52. if (file_exists($folder.$p_nazwa_zm))
  53. {
  54. echo ("Plik o takiej nazwie jest już na serwerku <b><i>".$p_nazwa_zm."</i></b>");
  55. echo "<a href='upload.php'>Wracaj ...</a>";
  56. }
  57. else
  58. {
  59. if(!move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
  60. exit('Nie można zachować pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
  61.  
  62. echo "Przesłanie udało się - <b>".$p_nazwa."</b>"." ".$poj_MB."";
  63. $path_file=$folder.$p_nazwa_zm;
  64. require 'db.php';
  65. $query = "INSERT INTO galeria (link_zdjecie) VALUES ('$path_file')";
  66. $zapytanie = mysql_query($query);
  67. if(!$zapytanie)
  68. {
  69. echo "Wykonanie zapytania zawiodło. " . mysql_error();
  70. }
  71. else
  72. {
  73. echo '<a href="upload.php?plik=opisz">Dodaj informacje o pliku</a>';
  74. }
  75. }
  76. }
  77.  
  78. if(isset($_GET['plik']) && $_GET['plik']=='opisz')
  79. {
  80. echo '
  81. <form method="post" action="upload.php?plik=dodajopis">
  82. <label for="nazwa_zdjecie">Tytuł zdjęcia: </label>
  83. <input type="text" name="nazwa_zdjecie" id="nazwa_zdjecie"/>
  84. <label for="opis_zdjecie">Opis zdjęcia: </label>
  85. <textarea id="opis_zdjecie" name="opis_zdjecie" cols="50" rows="5"></textarea>
  86. <input value="Dodaj opis" type="submit" />
  87. </form>
  88.  
  89. ';
  90. }
  91.  
  92. if(isset($_GET['plik']) && $_GET['plik']=='dodajopis')
  93. {
  94. require 'db.php';
  95. $nazwa=$_POST['nazwa_zdjecie'];
  96. if(!empty($_POST['opis_zdjecie']))
  97. {
  98. $opis=$_POST['opis_zdjecie'];
  99. }
  100. else
  101. {
  102. $opis='Brak opisu';
  103. }
  104. if(empty($nazwa) || empty($opis))
  105. {
  106. echo "Musisz wypełnić wszystkie pola";
  107. }
  108. $query="SELECT id_zdjecie, link_zdjecie FROM galeria ORDER BY id_zdjecie DESC LIMIT 1";
  109. $wynik = mysql_query($query) or die(mysql_error());
  110. if(!$wynik)
  111. {
  112. echo "Zapytanie nieudane. Nie można pobrać id zdjęcia. " . mysqli_error();
  113. }
  114. else
  115. {
  116. $row = mysql_fetch_object($wynik);
  117. $id_zdjecie = $row->id_zdjecie;
  118. $path_file = $row->link_zdjecie;
  119. $sql = "UPDATE galeria SET nazwa_zdjecie='$nazwa', opis_zdjecie='$opis' WHERE id_zdjecie='$id_zdjecie'";
  120. $zapytanie = mysql_query($sql);
  121. if(!$zapytanie)
  122. {
  123. echo "Wykonanie zapytania zawiodło. Nie można dodać informacji o filmie. " . mysqli_error();
  124. }
  125. else
  126. {
  127. echo "Udało się dodać informacje o zdjęciu.Tytuł: ".$nazwa."Opis: ".$opis."";
  128. echo '<img src="'.$path_file.'" width="320" class="demo" alt="" />';
  129. }
  130. }
  131. }


znalazłem taki kod do uploadu. fajna sprawa, ze zmienia nazwy plikow. tylko jak wrzucamy 2 razy plik o nazwie np. lato.jpg to pisze ze plik juz taki jest na serwerze. niby zmienia nazwe md5 a pisze ze pli zostal dodany?
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.