POzdrav. kako najlakse kroz sesiji sacuvati selektovani checkbox, ako selektovanui vrednost saljemo &_POST-om? hvala unaprijed
Sesije i checkbox
Zaključano
Zakačeno
Nešto ovako?
Code:
if (isset ($_POST['value']) {
$m_value = $_POST['value'];
$_SESSION['value'] = $m_value;
} else {
$m_value = $_SESSION['value'];
}
if (isset ($_POST['value']) {
$m_value = $_POST['value'];
$_SESSION['value'] = $m_value;
} else {
$m_value = $_SESSION['value'];
}
Hvala puno. Koliko vidim, Ovim prenosim value check-box, onda mogu lako valjda napraviti da mi ostane selektovan
ali, opet ne mogu na submit da ostavim izbor selektovan. Dinamicki generisem checkbox-ove. Probao sam ovako kao ispod, ali tako mogu samo za jedan checkbox da sacuvam izbor :(
Code:
$bdrm ->postavlja vreednosti checkbox-a
while ($red = mysql_fetch_array($query, MYSQL_ASSOC)) {
$checked=($bdrm==$red['brand'] ? 'checked="checked"' : '');
<input type="checkbox" onClick='this.form.submit();' name="bdrm[]" <?php echo $checked; ?> value="<?php echo $red['brand'] ?>"><?php echo $red['imebranda'].'</div>';
} ?>
$bdrm ->postavlja vreednosti checkbox-a
while ($red = mysql_fetch_array($query, MYSQL_ASSOC)) {
$checked=($bdrm==$red['brand'] ? 'checked="checked"' : '');
<input type="checkbox" onClick='this.form.submit();' name="bdrm[]" <?php echo $checked; ?> value="<?php echo $red['brand'] ?>"><?php echo $red['imebranda'].'</div>';
} ?>
Da li moze iko da pomogne ?
Problem je sto na submit ne mozes da sacuvas vrednosti VISE checkboxova? (hoces da editujes formu pre nego sto je prosledis?)
Pa skloni onClick='this.form.submit();' sa checkboxa i turi submit negde drugde?
Pa skloni onClick='this.form.submit();' sa checkboxa i turi submit negde drugde?
Ali ok, ako tako uradim, onda nakon prosledjivanja ce selektovane vrednosti ostati deselekotvane. Nije mi ni to resenje
Cek... posto si prvo pitao za sesije... da li na submit odmah odradis update baze i ispisujes rezultate, nakon refresha?
Saljes niz id-ova sa checkboxova?
U tom slucaju ti i ne trebaju sesije, ako se ne varam?
Saljes niz id-ova sa checkboxova?
U tom slucaju ti i ne trebaju sesije, ako se ne varam?
Da, upravo tako. Na submit saljemo niz vrednosti i nakon toga vrsim select iz baze i prikazujem rezultate. Mogu i sa sesijama, ali i ne mora, siguran sam da ima neko lako resenje, ali sve se nesto okrecem u krug.
Aj daj komplet kod i test bazu, ako nije problem...
Code:
<form method ="post" action="" >
<?php
$query=mysql_query("select i.anBrand as brand, name as imebranda from brands");
while ($red = mysql_fetch_array($query, MYSQL_ASSOC)) {
echo '<input type="checkbox" onClick='this.form.submit();' name="bdrm[]" value="<?php echo $red['brand'] ?>"><?php echo $red['imebranda'].';
}
echo '<input type="submit" name....>
</form>';//ovim izvlacim checkbox-ove
<form method ="post" action="" >
<?php
$query=mysql_query("select i.anBrand as brand, name as imebranda from brands");
while ($red = mysql_fetch_array($query, MYSQL_ASSOC)) {
echo '<input type="checkbox" onClick='this.form.submit();' name="bdrm[]" value="<?php echo $red['brand'] ?>"><?php echo $red['imebranda'].';
}
echo '<input type="submit" name....>
</form>';//ovim izvlacim checkbox-ove
a ovako dobijam rezultate
Code:
if( count($_POST['bdrm']) > 0 )
{
$bdrm = implode(',',$_POST['bdrm']);
$str.= ' AND anBrand IN ('.$bdrm.')';
}
$result = mysql_query("SELECT * FROM setitem WHERE ".$str); // i dalje
if( count($_POST['bdrm']) > 0 )
{
$bdrm = implode(',',$_POST['bdrm']);
$str.= ' AND anBrand IN ('.$bdrm.')';
}
$result = mysql_query("SELECT * FROM setitem WHERE ".$str); // i dalje
Jel si ti siguran da ti ovo gore uopste radi jer se meni cini da ti ima gomila sintaksnih gresaka.
Ako ti je $bdmr == implode(',',$_POST['bdrm']); onda normalno da nece onaj ternarni da ti radi kako treba. Onaj prvi kod bi mozda trebalo da je:
- Zasto izvrsavas this.form.submit(); svaki put kad neko klikne na checkbox umesto kad neko klikne na submit dugme?
- Zasto koristis mysql_* funkcije? Koristi PDO ili bar mysqli.
Ako ti je $bdmr == implode(',',$_POST['bdrm']); onda normalno da nece onaj ternarni da ti radi kako treba. Onaj prvi kod bi mozda trebalo da je:
Code:
<form method="post" action="" >
<?php
$query = mysql_query("select i.anBrand as brand, name as imebranda from brands");
while ($red = mysql_fetch_array($query, MYSQL_ASSOC)) :
$checked = in_array($red['brand'], explode(',', $bdrm)) ? ' checked="checked"' : ''; ?>
<input type="checkbox" name="bdrm[]" value="<?= $red['brand']; ?>" <?= $checked; ?> /><?= $red['imebranda']; ?>
<?php endwhile; ?>
<input type="submit" value="Submit" />
</form>
<form method="post" action="" >
<?php
$query = mysql_query("select i.anBrand as brand, name as imebranda from brands");
while ($red = mysql_fetch_array($query, MYSQL_ASSOC)) :
$checked = in_array($red['brand'], explode(',', $bdrm)) ? ' checked="checked"' : ''; ?>
<input type="checkbox" name="bdrm[]" value="<?= $red['brand']; ?>" <?= $checked; ?> /><?= $red['imebranda']; ?>
<?php endwhile; ?>
<input type="submit" value="Submit" />
</form>
- Zasto izvrsavas this.form.submit(); svaki put kad neko klikne na checkbox umesto kad neko klikne na submit dugme?
- Zasto koristis mysql_* funkcije? Koristi PDO ili bar mysqli.
Kood sam napisao iz glave, ima gresaka tu. Uspeo sam da napravim, in_array funkcija me je spasla. Hvala ti gde cuo i ne cuo :) KOristim inace mysqli, nego sam ovde editovao nesto sto je radjeno sa mysql_*...