
Php - Potřebuju z url [GET/POST] provést pack ID´s
Ahoj
potřebuju na druhé stránce (sender) provést select z sql pomocí GET/POST z předchozí stránky.
Problem je v výstupu dat z první stránky. Vypisuje se mi do url id=1&id=2&id=3. Potřeboval bych dle mého názoru změnit na id=1,2,3. Prostě s více proměnných o stejném názvu nejde pracovat.
první stránka:
INDEX:
-------------------------------------------------- -------------------------------------------------- -----------
while($zaznam = MySQL_Fetch_Row($result)):
echo "<td>";
echo "<input name='emp_id' type='checkbox' id='emp_id' value='$zaznam[0]' onkeydown='disableEnter(event)'>" ;
echo "</td>";
-------------------------------------------------- -------------------------------------------------- -----------
SENDER:
-------------------------------------------------- -------------------------------------------------- -----------
$editsr = $_GET['emp_id'];
$result1 = mysql_query("SELECT * FROM purchase where id IN (".implode(",", $editsr) . ")")
-------------------------------------------------- -------------------------------------------------- -----------
Díky
Mělo by pomoci
a pak obdržíš $_GET['emp_id'] jako array.
Musíš také ošetřit id v inputech, aby se neopakovala.
Díky, ale to pomůže pouze pro výpis hodnot.
Díky tomuhle se mi povede vypsat id na stránku např. : 877, 876, 875
Ale potřebuju nějaký příkaz pack nebo něco, čím každou hodnotu uložím do nějaké proměné nebo do řetezce z kterého pak nějakým cyklem budu postupně po jednom vybírat. Je to oříšek. Furt se mi to nepovedlo..
Pokud bych chtěl mazat pracovat vždy pouze s jednou hodnotou, to ID, tak to funguje.
Ale já třeba potřebuju spracovat 10 najednou a provedeme pouze s nejvyší číslem ID...
$nacti = $_GET['emp_id'];
$nacti2 = implode(" ",$nacti);
$vymaz = mysql_query("DELETE FROM `work2` WHERE ID = '$nacti2'");
-------------------------------------------------- -------------------------------------------------- --------
echo "<input name='emp_id[]' type='checkbox' id='emp_id[]' Value='$zaznam[0]' onkeydown='disableEnter(event)'>" ;
------------------------
Ak chces, aby ti niekto normalne poradil, tak by si mal v prvom rade svoj problem popisat zrozumitelne.
Ja napriklad absolutne netusim co sa snazis dosiahnut a ani co je tvoj problem.
Mám aplikaci, na prvním stránce index.php
Mám table s řádkami do kterých se vypisují záznamy z SQL, u každého záznamu je checkbox. Na stránce 1 button - na delete záznamu z tabulky, který bude zaškrtnut.
Když přenáším přes GET hodnotu checkboxu, která nese ID, abych poznal pak který záznam vymazat.
Co to má dělat:
Označím více checkboxu a vymažou se zaškrtlé záznamy.
Problem:
Nemůžu identifikovat který záznamy mám mazat.
Jak mi to ted funguje:
Jsem schopen mazat záznamy pouze po jednom, protože když přes get přenáším checkbox, tak je to v URL zapsané id=1&id=2&id=3&id=4,.....
Vždy se vymaže záznam s největší hodnotou ID, zbytek zůstane.
Doufám že teď to už pujde pochopit.
takze ako ti napisal hynajs.
input uprav takto:
<input name='emp_id[x]' type='checkbox' id='emp_id_x' value='$zaznam[0]' onkeydown='disableEnter(event)'>
Pricom by bolo dobre, aby to "X" bolo nejake cislo, ktore v cykle while iterujes.
potom na tej druhej stranke das:
$pole = $_GET['emp_id'];
$ids = implode(',', $pole);
a nakoniec query bude "DELETE FROM tabulka WHERE id in ($ids)";
No a dobra rada na zaver. Neposielaj to cez GET, ale radsej cez POST. Velmi lahko sa ti totiz moze stat, ze URL bude dost dlha.