Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Checkbox w galerii zdjęć
malinka94
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


Chciałabym dodać do każdego zdjęcia z galerii checkbox, by móc wybrać część zdjęć i coś tam na nich zrobić.
Niby zrobiłam ten checkbox, ale wyświetla mi się tylko ostatnio dodane zdjęcie. Jak to powinno prawidłowo wyglądać?

  1. <?php
  2.  
  3.  
  4. //pobranie ustawien (sciezka, itd.)
  5. require_once 'settings.php';
  6.  
  7. $xml = simplexml_load_file($zdjecia_xml);
  8.  
  9. $menu = '<a href="logout.php">Wyloguj</a><br/>';
  10. $menu .= '<a href="zaloguj.php">Zaloguj</a><br/>';
  11. $menu .= '<a href="rejestracja.php">Zarejestruj sie</a><br/>';
  12. $menu .= '<a href="uploader.php">Dodaj nowy obrazek</a><br/>';
  13. $tresc = '';
  14.  
  15. foreach ($xml->children() as $zdjecie)
  16. {
  17. $tytul = $zdjecie;
  18. $nazwa_pliku = $zdjecie['nazwa_pliku'];
  19.  
  20. //$tresc.= '<div class="image_box">' . $tytul . '<a href="' . $znak_dir . $nazwa_pliku . '" target="_blank"><img src="' . $miniatura_dir . $nazwa_pliku . '" alt="Tu nie ma pliku" class="mini"/></a></div>';
  21. $tresc = '<div class="image_box">'.'<input type="checkbox" name="zdjecie[]" form"zapamietaj_wybrane" value="1"/>'. $tytul . '<a href="' . $znak_dir . $nazwa_pliku . '" target="_blank"><img src="' . $miniatura_dir . $nazwa_pliku . '" alt="Tu nie ma pliku" class="mini"/></a></div>';
  22. }
  23.  
  24. if ($tresc == '')
  25. {
  26. $tresc = 'Brak obrazkow z bazie :(';
  27. }
  28.  
  29. include_once 'szablon.php';
  30. ?>
  31.  
  32. <form id="zapamietaj_wybrane" action="index.php" method="post">
  33. <input type="submit" value="Zapamiętaj"/>
  34. </form>
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


form"zapamietaj_wybrane"
Go to the top of the page
+Quote Post
malinka94
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


Poprawiłam już, ale nic to nie zmieniło.
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


W jaki sposób odczytujesz zaznaczone checkboxy?
Go to the top of the page
+Quote Post
malinka94
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


Póki co, jesli chodzi o checkboxy, to więcej kodu nie mam. Najpierw chciałam go wstawić, a potem martwić się, co dalej.
Jestem dosyć początkująca w pisaniu w phpie.
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Ah, rozumiem. Na razie nie działa samo wyświetlanie.
W pętli nadpisujesz sobie wciąż $tresc, to co zakomentowałaś było ok - powinnaś doklejać.
Go to the top of the page
+Quote Post
malinka94
post
Post #7





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


Co masz na myśli przez to, że powinnam doklejać?
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Cytat(trueblue @ 3.01.2015, 18:48:23 ) *
to co zakomentowałaś było ok - powinnaś doklejać.

W każdej iteracji pętli doklejać kod do zmiennej $tresc.

Ten post edytował trueblue 3.01.2015, 19:01:52
Go to the top of the page
+Quote Post
malinka94
post
Post #9





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


W jaki sposób? Jakoś nie bardzo rozumiem o co Ci chodzi z tym doklejaniem kodu. :/
Go to the top of the page
+Quote Post
trueblue
post
Post #10





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


W linii 22 zmień z:
Kod
$tresc = '<

na:
Kod
$tresc. = '<
Go to the top of the page
+Quote Post
malinka94
post
Post #11





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


Już jest ok. Mam jeszcze jedno pytanie - jakie wartości identyfikujące dane zdjęcie zostaną pobrane do tablicy zdjecie[]? Powinnam ustawić dla value np. zmienną $nazwa_pliku i wtedy w tablicy zostaną umieszczone te nazwy?
Go to the top of the page
+Quote Post
trueblue
post
Post #12





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Tak, takie jak tam wstawisz.
Jeśli wstawisz "aaa", to tak będzie, jeśli wstawisz zmienną $abc, to podstawi się jej wartość.
Go to the top of the page
+Quote Post
malinka94
post
Post #13





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


Okej. (IMG:style_emoticons/default/smile.gif) Dziękuję za pomoc.

Mam jeszcze jedno pytanie (IMG:style_emoticons/default/tongue.gif) Jestem w trakcie robienia wyświetlania wybranych przez checkbox zdjęć. Napisałam coś takiego:

  1. <?php
  2.  
  3. require_once 'settings.php';
  4.  
  5. $xml = simplexml_load_file($zdjecia_xml);
  6.  
  7. $menu = '<a href="logout.php">Wyloguj</a><br/>';
  8. $menu .= '<a href="galeria.php">Strona główna</a><br/>';
  9.  
  10. if(isset($_POST['zdjecie']))
  11. {
  12. $tresc = 'Zapamiętane zdjęcia:'.'<br/><br/>';
  13.  
  14. for($i = 0; $i < sizeof($_POST['zdjecie']); $i++)
  15. {
  16. //$tresc .= $_POST['zdjecie'][$i].'<br/>';
  17. $temp = $_POST['zdjecie'][$i];
  18.  
  19. foreach ($xml->children() as $zdjecie)
  20. {
  21. if($zdjecie['nazwa_pliku'] == $temp) //jesli nazwa z pliku xml jest taka sama jak nazwa z tablicy zdjecie[]
  22. {
  23. $tytul = $zdjecie;
  24. $nazwa_pliku = $zdjecie['nazwa_pliku'];
  25.  
  26. $tresc.= '<div class="image_box">' . $tytul . '<a href="' . $znak_dir . $nazwa_pliku . '" target="_blank"><img src="' . $miniatura_dir . $nazwa_pliku . '" alt="Tu nie ma pliku" class="mini"/></a></div>';
  27. }
  28. }
  29. }
  30. }
  31. else
  32. {
  33. $tresc = 'Brak zdjęć';
  34. }
  35.  
  36. include_once 'szablon.php';
  37. ?>


Dlaczego nie da się wejść w ostatniego ifa? Wszystko do tablicy się dodaje, iteruje, wchodzi w xmla, ale nie chce porównać tych dwóch zmiennych.

Ten post edytował malinka94 3.01.2015, 21:18:16
Go to the top of the page
+Quote Post
trueblue
post
Post #14





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


  1. foreach ($xml->children() as $zdjecie)
  2. {

Dodaj po tym:
  1. var_dump($zdjecie['nazwa_pliku']);
  2. var_dump($temp);

Go to the top of the page
+Quote Post
malinka94
post
Post #15





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


No to wysypało mi coś takiego:

object(SimpleXMLElement)#5 (1) { [0]=> string(20) "800px-SMSSMovie3.jpg" }
string(21) "800px-SMSSMovie3.jpg " object(SimpleXMLElement)#4 (1) { [0]=> string(20) "20610_d_gray_man.jpg" }
string(21) "800px-SMSSMovie3.jpg " ?

Poprawiłam if:
  1. if((string)$zdjecie['nazwa_pliku'] == $temp)


ale nadal nie wchodzi. Nawet zwykłego echo nie chce wypisać z tej pętli.

Ten post edytował malinka94 3.01.2015, 23:16:24
Go to the top of the page
+Quote Post
trueblue
post
Post #16





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


(string)$zdjecie['nazwa_pliku'][0]
Go to the top of the page
+Quote Post
malinka94
post
Post #17





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


Niestety nic to nie zmieniło
Go to the top of the page
+Quote Post
trueblue
post
Post #18





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Pokaż fragment xml'a.
Go to the top of the page
+Quote Post
malinka94
post
Post #19





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.01.2014

Ostrzeżenie: (0%)
-----


  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <zdjecia>
  3. <zdjecie nazwa_pliku="800px-SMSSMovie3.jpg">chibiusa</zdjecie><zdjecie nazwa_pliku="20610_d_gray_man.jpg">aaa</zdjecie><zdjecie nazwa_pliku="0534.jpg">way</zdjecie></zdjecia>


Jeszcze ten mój if po poprawkach:

  1. if((string)$zdjecie['nazwa_pliku'][0] == $temp) //jesli nazwa z pliku xml jest taka sama jak nazwa z tablicy zdjecie[]
  2. {
  3. echo "elelele";
  4. $tytul = $zdjecie;
  5. $nazwa_pliku = $zdjecie['nazwa_pliku'];
  6.  
  7. $tresc.= '<div class="image_box">' . $tytul . '<a href="' . $znak_dir . $nazwa_pliku . '" target="_blank"><img src="' . $miniatura_dir . $nazwa_pliku . '" alt="Tu nie ma pliku" class="mini"/></a></div>';
  8. }
  9.  



Ten post edytował malinka94 4.01.2015, 11:05:57
Go to the top of the page
+Quote Post
trueblue
post
Post #20





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Ok, to teraz zrób po ifie:
  1. var_dump((string)$zdjecie['nazwa_pliku'][0]);
  2. var_dump($temp);
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:55