ugrás a tartalomhoz

Kereső, frissítés után eltűnik az adat

handycam14 · 2014. Jan. 30. (Cs), 23.49
Sziasztok!
Az lenne a problémám, hogy akarok keresni select mezővel, egy adott tulajdunságú elemekre. Ezt szépen lekérdezi, és megjeleníti, csak ha ráfrissítek az oldalra akkor eltűnik. Probalgattam session-el eltarolni , de az se ment.
Form:

<form method="post" action="">
    <select name="akcio">
     <option value="1">Akció</option>
     <option value="0" >Nem akciós</option>
     <option value="%" selected="selected">Mindekttő</option>
    </select>
    <br />
    <input type="submit" name="send" value="Keres" />
   </form>
PHP kód:

if(isset($_POST["send"]) || isset($_SESSION["akc"])) {		
					session_start();  
					if(!empty($_POST["akcio"])) {
					        $_SESSION["akc"]=$_POST["akcio"];
					   }
					 if(isset($_SESSION["akc"])) {
			    $query = "select id,name,brand,sale,price,image from product WHERE sale LIKE '$_SESSION[akc]'";  
Tudom, nincs rajta biztonsag, de most csak gyakoroltam. Köszi előre is!
+
Frissítés után a kiválasztott option is eltűnik, vagyis pl: ha kiválasztom az "Akció" option-t, és rányomok a submit-ra, akkor szépen kilistázza az akciós terméket, de visszaugrik a "Mindkettőre". Azt hogy lehetne hogy az is látszodjon amit kiválasztok?
 
1

a form-odban az option-höz a

szabo.b.gabor · 2014. Jan. 31. (P), 00.35
a form-odban az option-höz a selected-et aszerint teszed ki, hogy mi van kiválasztva.

tehát pl

<?php
$lehetosegek = array(
	1 => 'Akciós',
	2 => 'Nem akciós',
	'' => 'Mindkettő'
);

$selected = isset($_GET['akcio']) ? $_GET['akcio']:'';

?>

<select name="akcio">
	<?php foreach($lehetosegek as $value => $label): ?>
		<option value="<?= $value ?>"<?= $value == $selected?' selected':'' ?>>
			<?= $label ?>
		</option>
	<?php endforeach; ?>
</select>
direkt írtam $_GET-et. ez egy szűrés, az jelenjen meg az url-ben, el tudod küldeni a havernak is. egy post-ot nehezebb..

ezt a % jel és LIKE dolgot nagyon gyorsan felejtsd el. pl akkor jelenjen meg a where feltétel a query-ben ha van szűrés és jónapot.

ja, és a session is nagyon felejtős ilyen esetekre. mi van ha van két oldalad megnyitva más szűréssel? session azt tárolja, hogy be van-e lépve jóska, vagy nincs. kicsit persze lesarkítva a dolgokat.
2

kicsig meg homalyos a kodod

handycam14 · 2014. Jan. 31. (P), 14.07
kicsig meg homalyos a kodod nekem, de megprobalom majd ertelmezni. Egyebkent az utolso elotti bekezdest mire ertetted? Csak ennel a script-nel ne hasznaljak, LIKE+% kombinaciot, vagy egyaltalan ne?
3

az akció meződben gondolom

szabo.b.gabor · 2014. Jan. 31. (P), 14.45
az akció meződben gondolom lehet 0, meg 1 mint érték.

a lenyílód értékkészlete pedig 0,1,%

és amit kapsz azt átnyomod a like feltételed paraméterének.

értem én, hogy működik a dolog, de ez annyira de annyira csúnya, hogy nagyon.

persze használj nyugodtan bármikor LIKE-ot és % jelet a lekérdezéseidben, ha arra van szükség, de ez nem az az eset.

foreach(): es endforeach; az ugyanaz mint egy foreach(){}
<?= ?> az ugyanaz mint <?php echo ?>

feltetel ? ez fut le ha igaz : ez ha hamis

tehat a foreach az egyértelmű kell legyen
<?= $value == $selected?' selected':'' ?>

ez pedig kb annyit jelent, hogy

<?php
if($value == $selected){
    echo ' selected';
}else{
    echo '';
}
?>
4

Igy mar ertem:)Bemasoltam a

handycam14 · 2014. Feb. 1. (Szo), 01.32
Igy mar ertem:)
Bemasoltam a kododat , de valamiert csak ">" jeleket dob ki a listaba, nem az "akcios","nem akcios" szoveget:/
5

Hibakeresés

Hidvégi Gábor · 2014. Feb. 1. (Szo), 10.08
6

Koszi, elkezdem olvasgatni!

handycam14 · 2014. Feb. 1. (Szo), 22.35
Koszi, elkezdem olvasgatni!