checkbox && php

Programovacie jazyky, rady, poradňa...
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

checkbox && php

Príspevok od používateľa turtlak69 »

ahojte,
no vec sa ma tak, ze robim jednu stranku, teda cast stranky a je to administracia obrazkov. je galeria a treba tam nahravat obcas fotky. to by nebol problem. to mam hotove. dalej treba galeriu upravit. to znamena, ze obcas prehadzat fotky alebo vymazat. akcia sa vybera pomocou radiobuttonu a fotky sa oznacuju checkboxami. ked chce niekto zmazat aj 5 fotiek naraz, tak to nie je problem. teraz riesim taku zalezitost, aby sa dali prehodit medzi sebou. vyberu sa dve fotky, oznacia sa (chceckboxom), vyberie sa akcia vymenit poradie a odosle sa to. vymenit poradie nebude problem. nepouzivam mysql, takze len prehodim nazvy suborov. ale neviem dostat tie dve cisla tych fotiek, ktore sa poslu...
btw este dost dumam nad tym ako zistim pocet suborov v priecinku... nejako to neviem najst :(

Kód: Vybrať všetko

$cesta="foto/".$_GET['typ']."/male";
for ($i="1"; $i<="500"; $i++)
{
if (is_file("$cesta/$i.jpg"))
{
$main .= "<img src='$cesta/$i.jpg'><input type='checkbox' name='fotka' value='$i'>  &nbsp; &nbsp;  ";
}
else
{
break;
}
}
$max=$i-1;
$main .= "<input type='hidden' name='max' value='$max'><br><br><center>
<input type='radio' name='akcia' value='vymenit'>vymenit poradie<br>
<input type='radio' name='akcia' value='vymazat'>zmazat fotky<br>
<br><br>
<input type='submit' value='OK'></center></form>"; 
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Tomu checkboxu môžeš dať meno fotka[] Potom ti vznikne pole, ktoré bude obsahovať value zaškrtnutých checkboxov. Potom môžeš pomocou funkcie count($fotka) otestovať, či sú vybrané iba dve fotky.
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

chrono napísal:Tomu checkboxu môžeš dať meno fotka[] Potom ti vznikne pole, ktoré bude obsahovať value zaškrtnutých checkboxov. Potom môžeš pomocou funkcie count($fotka) otestovať, či sú vybrané iba dve fotky.
neviem sice ako presne. s tymto sa stretavam prvykrat (!). kazdopadne to zajtra skusim hned ako vstanem. momentalne uz nevladzem mysliet a idem relaxovat :) kazdopadne k+

//edit: zmenil som name na fotka[], ale nejako to neviem spracovat..

Kód: Vybrať všetko

// najprv si pozriem co to spravilo
reset ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS)) {
    echo "$key => $val<br>";
}

//a zistim, ze neviem co s tym :(
$result = count($fotka);
echo $result;


a vysledok:

akcia => vymenit
max => 5
fotka => 5
1

/* fotka => 5 sa objavilo, lebo som oznacil fotku s najvyssim cislom 5. no a na ostatne sa to vybodlo /*
lammer
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2098
Registrovaný: 24 apr 2004, 18:45
Kontaktovať používateľa:

Príspevok od používateľa lammer »

takto zistis kolko je suborov v pricinku

Kód: Vybrať všetko

$files = array();
$directory = './dir/'; // vzdy uzatvaraj cestu pre dalsiu pracu

$d = dir($directory); 
while($f=$d->read()) { 
    if(is_file($d->path.$f)) $files[] = $f; 
} 
$d->close(); 

echo count(files);
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

prave som skusal tento script, ale vzdy bol vysledok 1 :( aj ked tam bol len jeden subor, aj ked ich tam bolo viac aj ked som zmenil cestu :(
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

a co tak toto

Kód: Vybrať všetko

$pocet=count(glob("./adresar/*.*"));
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

gwixt napísal:a co tak toto

Kód: Vybrať všetko

$pocet=count(glob("./adresar/*.*"));
v jednoduchosti je krasa :) dakujeeeeeeeem
este keby si mi pls napisal scriptik ako spracujem tie checkboxy, tak mam po problemoch :)
lammer
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2098
Registrovaný: 24 apr 2004, 18:45
Kontaktovať používateľa:

Príspevok od používateľa lammer »

gwixt napísal:a co tak toto

Kód: Vybrať všetko

$pocet=count(glob("./adresar/*.*"));
aj tak sa da, ja ho pouzivam prave kvoli moznosti pracovat s adresarom
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Kód: Vybrať všetko

<?php
if (isset($_POST['fotka']) && is_array($_POST['fotka'])) {
	$fotka = $_POST['fotka'];
	print_r($fotka);
}

$main = '';
for ($i=1; $i<=50; $i++) {
	$main .= "<input type='checkbox' name='fotka[]' value='$i'>$i<br>";
}
?>
<html>
<head>
</head>
<body>
	<form method="post">
		<input type="submit"><br>
		<?php echo $main; ?>
	</form>
</body>
</html>
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

thx moc, ale ja som skor potreboval ulozit tie cisla do premennych. takto mi to sice vypise kde je co, ale to mi prilis nestaci. idealne by bolo nieco take ako

Kód: Vybrať všetko

$pocet_poslanych=ten dany pocet
for ($i=0; $i<=$pocet_poslanych; $i++)
{
echo "$fotka[$i]<br>"
}
a vysledkom by mali byt cisla fotiek, ktore boli poslane:
napriklad:
20
80
68
12
...
uz len toto docielit :)

//edit: omg to je moooc. tak viem co chcem a ako by to malo vyzerat, napisem to ako by sa to malo spravat a ono to tak aj funguje... a to sa mi zdalo ze som to uz takto skusal... problem vyrieseny. thx vsetkym. u mna k+
Napísať odpoveď