Промяна стойностите на множество полета от 0 на 1ца с checkb

Hous

Registered
Значи искам да направя така ако имам 10 неудобрени новини който са със status=0 искам примерно в един файл udobri_novina.php да ми ги показва (всички 0) и които одобря да има срещу тях checkbox и като го чекна примерно 3 от 50 и кликна бутон да сменя статуса на тея 3 от 0 в 1ца в полето в таблицата.

Как точно ще стане?
 
Ето тук прочети повече :

http://hardwarebg.com/forum/showthread.php/174689-%D0%97%D0%B0%D0%BF%D0%B8%D1%81-%D0%BE%D1%82-Checkbox-%D0%B2-mySQL-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0-PHP

PHP:
<input type="checkbox" name="categories[]" value="1" />
 <input type="checkbox" name="categories[]" value="2" />
 <input type="checkbox" name="categories[]" value="3" />
 

if(isset($_POST['checkbox']))
 {
 foreach ($_POST['checkbox'] as $value){
 $checkbox= $_POST['checkbox'];
 $n = count($checkbox);
 $i = 0;
 }
 while ($i < $n)
 {
 $id_query = "INSERT into tbl(obj_id, category_id) VALUES ('$id_obj', '$checkbox[$i]]')";
 mysql_query($id_query) or die(mysql_error());
 $i++;
 }
 }

Вместо INSERT ползваш UPDATE към полетата :?:
 
По същия начин става самоче с Value=0 ! Можеш и по друг начин да го направиш с type='radio' къдет о ще ползваш само един цикъл и foreach обхождане. Зависи как си го устроиш сам :)
PHP:
<input type="checkbox" name="categories[]" value="1" />
 <input type="checkbox" name="categories[]" value="1" />
 <input type="checkbox" name="categories[]" value="1" />
<input type="checkbox" name="categoriesdel[]" value="0" />
 <input type="checkbox" name="categoriesdel[]" value="0" />
 <input type="checkbox" name="categoriesdel[]" value="0" />
 

if(isset($_POST['checkbox']))
 {
 foreach ($_POST['checkbox'] as $value){
 $checkbox= addslashes(htmlspecialchars($_POST['checkbox']));
 $n = count($checkbox);
 $i = 0;
 }
 while ($i < $n)
 {
 $id_query = "UPDATE `table` SET check = '$checkbox[$i]' WHERE id='$id'";
 mysql_query($id_query) or die(mysql_error());
 $i++;
 }

 foreach ($_POST['checkbox'] as $value){
 $checkbox= addslashes(htmlspecialchars($_POST['checkboxdel']));
 $p = count($checkbox);
 $r = 0;
 }
 while ($r < $p)
 {
 $id_query = "UPDATE `table` SET check = '$checkbox[$r]' WHERE id='$id'";
 mysql_query($id_query) or die(mysql_error());
 $r++;
 }

 }
 
Разбрах горе долу идеята, въпроса е ,че ти не си разбрал идеята ми беше да трия записа ,а не да върна 1цата на 0-ла.
Иначе да и това става един radio избор (2 тоест) за всеки запис и избирам дали да се одобри или да се изтрие...
Ако може един такъв пример ще съм много благодарен.
 
Не се замислих толкова много, просто врътваш id-тата на новините като валюета на чекбокса с един цикъл и става :
PHP:
$latest = mysql_query("SELECT * FROM news ORDER BY id "); 
while($r=mysql_fetch_array($latest))
{ 
$idnews = $r['id_news']; 
echo '<input type="checkbox" name="categoriesdel[]" value="$idnews" /><br /> ';
} 


//Нещо подобно ще се получи 
<input type="checkbox" name="categoriesdel[]" value="1" />
 <input type="checkbox" name="categoriesdel[]" value="2" />
 <input type="checkbox" name="categoriesdel[]" value="3" />
//
 

 foreach ($_POST['checkbox'] as $value){
 $checkboxdel = addslashes(htmlspecialchars($_POST['checkboxdel']));
 $p = count($checkboxdel);
 $r = 0;
 }
 while ($r < $p)
 {
 $id_query = "DELETE FROM`table` WHERE id = '$checkbox[$r]' ";
 mysql_query($id_query) or die(mysql_error());
 $r++;
 }

 }
 
И така пак е само или само.
Не може ли да се смени , идеята да избираш между 2 опций,смяна на статуса от 0 в 1ца и изтриване на записа от таблицата?
Сори,че чакам на готово но найстина до сега не съм правил подобен скрипт.
И ми е трудно да го преправя.
 
PHP:
<input type="checkbox" name="categories[]" value="1" />
 <input type="checkbox" name="categories[]" value="1" />
 <input type="checkbox" name="categories[]" value="1" />

$latest = mysql_query("SELECT * FROM news ORDER BY id "); 
while($r=mysql_fetch_array($latest))
{ 
$idnews = $r['id_news']; 
echo '<input type="checkbox" name="categoriesdel[]" value="$idnews" /><br /> ';
} 


//Нещо подобно ще се получи 
<input type="checkbox" name="categoriesdel[]" value="1" />
 <input type="checkbox" name="categoriesdel[]" value="2" />
 <input type="checkbox" name="categoriesdel[]" value="3" />
//
 
if(isset($_POST['checkbox']))
 {
 // Триеш 
 foreach ($_POST['checkbox'] as $value){
 $checkboxdel = addslashes(htmlspecialchars($_POST['checkboxdel']));
 $p = count($checkboxdel);
 $r = 0;
 }
 while ($r < $p)
 {
 $id_query = "DELETE FROM`table` WHERE id = '$checkboxdel[$r]' ";
 mysql_query($id_query) or die(mysql_error());
 $r++;
 }

 }
 // Променяш от 0 на 1
  foreach ($_POST['checkbox'] as $value2){
 $checkbox= addslashes(htmlspecialchars($_POST['checkbox']));
 $n = count($checkbox);
 $i = 0;
 }
 while ($i < $n)
 {
 $id_query = "UPDATE `table` SET check = '$checkbox[$i]' WHERE id='$id'";
 mysql_query($id_query) or die(mysql_error());
 $i++;
 }
 }
 
Нагласих го да ги показва,в HTmL вид изглежда наред
HTML:
<input type="checkbox" name="categoriesdel[]" value="3"><br> ddddddddd <input type="checkbox" name="categoriesdel[]" value="4"><br> aaaaaa <input type="checkbox" name="categoriesdel[]" value="5"><br> aaaaaa <input type="checkbox" name="categoriesdel[]" value="6"><br> test with enter <input type="checkbox" name="categoriesdel[]" value="7"><br> ddddd <input type="checkbox" name="categoriesdel[]" value="10"><br>

обаче не функционира,в смисъл показва имената , показва номерцата,показва чекбоксовете (а то трябваше радио бутон май,но нищо и така не е проблем)
и като кликна на тях ,реално няма как да потвърдя... и да довърша действието със промяна или триене?
:)
 
PHP:
<form method='post' action=''>
Видим статус<input type='radio' name='categorie' value='1' checked='checked'>
Изтрии<input type='radio' name='categorie' value='2'>
<input type='submit' name='submit' value='Обнови'>
</form>

if(isSet($_POST['submit']))
{
$categorie = (int)$_POST['categorie'];

if($categorie == 1)
{
$id_query = "UPDATE `table` SET check= '$categorie' WHERE id='$id'";
}
else)
{
$id_query = "DELETE FROM`table` WHERE id = '$d_categorie' ";
}
}
 
Код:
$latest1 = mysql_query("SELECT * FROM TABLE WHERE item_status=0  ORDER BY id"); 
echo "<form method='POST' action=''>";
while($r = mysql_fetch_array($latest1))
{ 
	$clipid = $r['id']; 
	echo ''.$r[item_title].' <input type="checkbox" name="checkbox[]" value="'.$clipid.'"><br />';
} 
echo "<input type='submit' name='submit' value='Submit'></form>";

if(isSet($_POST['submit']))
{
	$i = 0;
	foreach ($_POST['checkbox'] as $value)
	{ 
		mysql_query("DELETE FROM `TABLE` WHERE `id` = '$value'");
		$i++;
		echo "$i-";
	} 
}
Това кодче е за треиене на селектираните записи,сега ако може да помогнете да направим 2ри чекбокс до първия за всеки запис и при кликането му ,вместо да се трие да се ъпдейтва записа в бд от item_status 0 да става 1

тоест имаме 2 опций
4839.jpg

Запис b ще се изтрие след кликането на Submit
а запис c ще си смени статуса на item_status=1
 
Готов си :)
Код:
$latest1 = mysql_query("SELECT * FROM TABLE WHERE item_status=0  ORDER BY id"); 
echo "<form method='POST' action=''>";
while($r = mysql_fetch_array($latest1))
{ 
	$clipid = $r['id']; 
	echo ''.$r[item_title].' <input type="checkbox" name="checkbox[]" value=".$clipid ."><br />';
} 
echo "<input type='submit' name='submit' value='Submit'></form>";

if(isSet($_POST['submit']))
{
	$i = 0;
	foreach ($_POST['checkbox'] as $value)
	{ 
		mysql_query("UPDATE `TABLE` SET status='1' WHERE `id` = '$value'");
		$i++;
		echo "$i-";
	} 
}
 
Taka 2ta koda shte se omeshat...? Ne trqbva li da smenq nqkoi imena na promenlivite za da smesq 2ta koda
ps:sry za latinicata prosto na telefona nqmam bg
 
Hous каза:
Taka 2ta koda shte se omeshat...? Ne trqbva li da smenq nqkoi imena na promenlivite za da smesq 2ta koda
ps:sry za latinicata prosto na telefona nqmam bg
Естествено ! Трябва да смениш името (масива) на чекбокса за да се получи :)
 
Ами първо ,че не работи (не знам защо,може и аз да бъркам някъде) и второ то ми изкарва по 2 пъти всеки запис като първия път е за триене ивтория път е за ъпдейт,идеята беше срещу всеки да излизат 2 чекбокса,както на снимката...
Прегледах в нета доста и просто не мога да го направя да работи,никой ли не ползва админ ареа да даде някакъв негов код с подобно действие?
:lol:
 

Back
Горе