Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Checkbox, unique itp...
Forum PHP.pl > Forum > Gotowe rozwiązania
SoulAssassin
A więc drodzy PHPowcy !
Skrypt ma wyświetlić wszytskie pliki (jpg) z katalogu i przy każdym wyświetlić checkboxa.
Potem nazwy zaznaczonych plików (check boxów) użytkownik może zapisać jako kolejne linie w pliku plik.txt
Wszystko było ok.
Ale chcę zrobić coś takiego aby kolejnym razem skrypt sprawdzał pliki już zapisane w pliku plik.txt i generował obok zapisanych plików checkboxy już zaznaczone niestety array_diff usuwało o jeden element za dużo.
Więc zrobiłem na piechotę porównanie tablic (patrz kod)




[php:1:0df52c48d3]
$pliki = gal($gdzie); // pobieramy tablice z plikami za pomocą funkcji gal();
$ile = count($pliki); // Liczymy pliki
$juznoweplik = $gdzie.'/plik.txt';// ścieżka do pliku z już zaznaczonymi
$zazna = file( $juznoweplik ); // odczytuje do tablicy zaznaczone
if ($ile == 0) {$zazna=$pliki;} // jeśli w katalogu nie ma plików nie może wyświetlać zaznaczonych (dobrze by było skasować zawartość plik.txt)

for($i=0; $i<count($zazna); $i++){

$zazn[$i] = chop($zazna[$i]);// usuwa ostatni znak
}
$x=0 ;
$q=0 ;
for($i=0; $i<count($pliki); $i++){ // a to ma być zrobione na piechote porównywanie tablic
$wal=0 ;
for($z=0; $z<count($zazn); $z++){
if ($pliki[$i] == $zazn[$z]) {$wal++ ;} {}
}
if ($wal == 0) {
$niezazn[$x]=$pliki[$i] ;// do tablicy $niezazn dodaje kolejne elemnety tablicy $pliki które nie wystąpiły w tablicy $zazn
$x++ ;

}
}


if ( count($zazn) == '0' && count($niezazn) == '0') {
echo "nie ma plików" ;
}
echo "<form action="dodaj.php" method="post">";
echo "<input type="hidden" name="id" value="$id">";//zmienna id przekazuje lokalizację plików

for ($a = 0; $a < count($zazn); $a++) { //wyświetla zaznaczone

echo "<img src="$zazn[$a]" style="border: none">";
echo "<input type="checkbox" name="ch[]" checked value="$zazn[$a]">"$zazn[$a]">";

}
for ($i = 0; $i < count($niezazn); $i++) {

echo "<img src="$niezazn[$i]" style="border: none">";
echo "<input type="checkbox" name="ch[]" value="$niezazn[$i]">$niezazn[$i]";
}
[/php:1:0df52c48d3]

Problem :

Jak porównać tablicę i usunąć duplikaty (najszybciej i najprościej) próbowałem dodać jedną do drugiej a potem array_unique() też nie dało efektu.

Pytanie 1. jak się dodaje tablicę ? (jedną na koniec drugiej);
Pytanie 2. jak zrobić stringa z np. $array[4]
DeyV
ad 1. dodawanie tablic
[php:1:43e541f081]<?php
$tab = $tab1 + $tab2;
//lub
$tab += $tab1;
?>[/php:1:43e541f081]

ad 2. nie rozumiem pytania... $text = (string) $tab[4]; questionmark.gifquestionmark.gif

ad 3. usuwanie powtarzajacych sie elementów. array_diff() questionmark.gif?
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-2024 Invision Power Services, Inc.