Autor Zpráva
PetrHH
Profil *
Dobrý den,

potřebuju do databáze ukládat obrázky z nějakého adresáře. Uživatel v administrátorské části stránky bude mít možnost si vybrat do jaké kategorie jednotlivé obrázky patří.
Problém je ten že nikdy nevím kolik tam těch obrázků bude, takže nevím jak zpracovat formulář s dopředu nezmámým počtem položek.
Nevíte, prosím, jak na to?? Doufám že jsem můj problém popsal srozumitelně.
Díky!!

Petr
Leo
Profil
"Doufám že jsem můj problém popsal srozumitelně."

No ja ho napriklad nechapu. Leo
PetrHH
Profil *
Mám adresář s obrázkama. Zobrazím obrázky na webu a u každého obrázku bude combobox a chceckbox.
Problém je ten že nikdy nebudu vědět dopředu kolik tam bude obrázků. Formulář vygenerovat dokážu ale nevím jak pak ten vygenerovaný formulář zpracovat.

Je to lepší?

Petr
Leo
Profil
Pouzijete name="neco[]" a zpracujete to jako $_POST['neco'] (samotna tahle polozka pole bude POLE). Leo
PetrHH
Profil *
Děkuji za radu. Teď mě tak napadlo, nešla by přímo použít proměnná $_POST? Je to také pole. Když nad tím teď přemýšlím tak počet těch obrázků vlastně zjistit mohu při zobrazení. Při odkazování na jednotlivé položky bych použil $_POST[i], i do nuly do počet položek-1. Co myslíte, půjde to?

Petr
Leo
Profil
Vypiste si pole $_POST a uvidite sam, Leo
PetrHH
Profil *
Dobrý den,

teprve dnes jsem se dostal k experimentování s tím formulářem. Vypsání obsahu proměnné $_POST
k cíli nevedlo ale zadávání name="neco[]" pomohlo.
Přesto mám ale problém. Ve formuláři bude také několik checkboxů. Bohužel pokud checkbox není zatržený tak se v poli neobjeví hodnota nula ale do pole se údaj o checkboxu neobjeví vůbec. Nevíte prosím jak tam tu nulu dostat?

Děkuji!

Petr
Hugo
Profil
PetrHH

Ke každému checkboxu dej ještě skryté pole, pak lehko zjistíš, který checkbox je zaškrtnutý a který ne.
PetrHH
Profil *
Problém je jiný.

Já nevím jak se bude jmenovat ten checkbox. Vím jen jaký by měl mít index v poli. Bohužel se do toho pole neuloží to že není zaškrknutý, takže je mi i index na nic :-(.

Petr
Hugo
Profil
PetrHH

Ale musíš ten checkbox nějakým způsobem geenrovat, tak místo

<input type="checkbox" name=".." value="..">

vlož do kódu

<input type="checkbox" name=".." value="..">
<input type="hidden" name=".." value="..">
PetrHH
Profil *
Ano, tak by to šlo. Ale pokud bude checkbox zaškrknutý tak se se nesmí do kódu uvádět

<input type="hidden" name=".." value="..">

protože mi to rozhodí celý index.

Mám formulář s dopředu neznámým počtem položek. Jen vím že např. každá čtvrtá položka bude buď TRUE nebo FALSE (ten checkbox), každá třetí položka nějaký text atd..


Položky procházím pomocí

for($i=0;$i==pocet_polozek;$i++)
{
echo($_POST[neco[$i]]."<br/> \n" );
}

Pokud se do pole neco[] neuloží že checkbox nebyl označen, celé se to rozhodí.

Petr
Hugo
Profil
PetrHH

No to je ovšem špatně napsaná aplikace. Před výstupem je vždy nutné data prověřit a až potom zpracovávat.
PetrHH
Profil *
Ano, asi máte pravdu. Už si nevím rady. Zkusím svůj problém popsat přesněji, třeba Vás něco napadne.

Dělám pro manželku web, má sbírku pivních tácků. Moje idea je taková že si do adresáře nakopíruje nafocené a upravené obrázky, např. tácek1.jpg,tácek1_zadek.jpg. Těch tácků bude v adresáři maximálně deset, minimálně jeden.
Přihlásí se na svůj web, u každého tácku se jí zobrazí přední i zadní strana (to už mi funguje), políčko pro zadání počtu kusů, combo s výběrem pivovaru a checkbox jestli je to novinka. Po zadání klepne na tlačítko uložit a obsah se načte do databáze. Vydolovat data z databáze umím, uložit také ale nevím jak na ten formulář.

Pokud Vás něco napadne budu jen rád.

Petr
WertriK
Profil *
Mno, pocet obrazku pri vypisu znate
$pocet = mysql_num_rows(MySQL_Query("NEJAKY SELECT"));
nebo
$adresar = OpenDir("adresar");
$soubor = Array();
while ($zaznam = ReadDir($adresar)) {
if (!Is_Dir("krouzky/$categori_2/$zaznam")) {
$soubor[] = $zaznam;
}
}
CloseDir($adresar);
Sort($soubor);
$pocet = count($soubor);

takze pocet by byl

Ted vypisete ty policka a obrazky

<form action="blabla" method="post">
for ($i=1;$i <= $pocet;$++) {
// ted to nejdulezitejsi
echo "<input type=\"checkbox\" name=\"policko".$i."\">";
}
<input type="hidden" value="".$pocet."" name="pocet">
// ted jsme si ulozili pocet policek i pro stranku na ktere se to bude zpracovavat
<input type="submit">
</form>

souboru druhy pro zpracovani

k policku budete pristupovat

$pocet = $_post["pocet"];
for($i=1;$i <= $pocet;$i++) {
$_post["policko".$i.""] //nevim co s nim zamyslite ale snad uz si s tim poradite, kdyby ne moje ICQ 177161306
}

Snad to bude to co jste chtel.
Anonymní
Profil *
Děkuji moc! Je to přesně ono. Funguje to úžasně. Zase jsem se posunul o kus dál.

Přeji pěkný den a ať se Vám vše daří.

Petr
Toto téma je uzamčeno. Odpověď nelze zaslat.

0