[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: удаление пользователей с таблицы,галочкой
vagif
у меня вот такой код:
<?

mysql_connect("localhost", "root", "");
mysql_select_db ("vagif");

$sql="DELETE FROM `users` WHERE `ID`=" ; //здесь нужна некоторая переменная,которая обозначает id выбранного пользователя
$result=mysql_query($sql);



$sql="SELECT * FROM `users`";
$result=mysql_query($sql) or die (mysql_error());
echo "<table border=1>";echo "<tr>";
echo "<td>";echo "ID";
echo "</td>";
echo "<td>";echo "Name";
echo "</td>";
echo "<td>";echo "Surname";
echo "</td>";
echo "<td>";echo "Delete";
echo "</td>";echo "</tr>";
echo "<tr>";
while($row = mysql_fetch_array($result)){


echo "<td>";echo $row[ID];
echo "</td>";
echo "<td>";echo $row[Name];
echo "</td>";
echo "<td>";echo $row[Surname];
echo "</td>";
echo "<td>";?>&nbsp&nbsp <input type="checkbox"/><?
echo "</td>";echo "</tr>";
}
echo "</table>";
?>
<br>
<
form method="POST" action="">
<
input type="submit" value="Ok!!!">
</
form>

там у каждого пользователя рядом есть место для галочки(checkbox).надо чтобы отметив пользователя,и нажав на go удалить его.но я не знаю как сделать дальше.прошу помочь,огромное спасибо!!!






Спустя 10 минут, 56 секунд (2.09.2010 - 07:43) twin написал(а):
Галочки не видно...
А вообще так:
$sql="DELETE FROM `users` WHERE `ID` IN (".  implode(',',//здесь массив галочек

Спустя 24 минуты, 27 секунд (2.09.2010 - 08:07) linker написал(а):
Правильная галочка
<input type="checkbox" name="users[]"/>
Получаем галочки
$users = $_POST['users'];

Спустя 2 минуты, 18 секунд (2.09.2010 - 08:10) vagif написал(а):
Цитата (twin @ 2.09.2010 - 04:43)
Галочки не видно...

вот галочки
echo "<td>";?>&nbsp&nbsp <input type="checkbox"/><?

Спустя 4 минуты, 57 секунд (2.09.2010 - 08:15) linker написал(а):
vagif
А теперь посмотри у меня постом выше, какая она должны быть.

Спустя 8 минут, 14 секунд (2.09.2010 - 08:23) vagif написал(а):
linker,так не получается,надо как то сделать,чтобы галочка имела связь с пользователями,ты там вроде создаешь массив галочек.но они ни как не связаны с пользователями.ну я так понимаю,если не так,то извини))

Спустя 16 минут, 28 секунд (2.09.2010 - 08:39) linker написал(а):
Ой, извини, не проснулся еще
<input type="checkbox" name="users[]" value="<?php echo $row['ID']; ?>"/>

Спустя 23 минуты, 41 секунда (2.09.2010 - 09:03) vagif написал(а):
вот это другое дело!!!спасибо большое,сейчас попробую)))

Спустя 10 минут, 49 секунд (2.09.2010 - 09:14) vagif написал(а):
смотри,вот я такое сделал
$users = $_POST['users[]'];  //таи я и без [] писал,т.е. $_POST['users']
$sql="DELETE FROM `users` WHERE `ID`='$users'";
$result=mysql_query($sql);

опять не получается.ошибок не выдает,только пользователь не удаляется.

Спустя 20 минут, 12 секунд (2.09.2010 - 09:34) Basili4 написал(а):
vagif
пиши так
$users = $_POST['users'];  //таи я и без [] писал,т.е. $_POST['users']
echo $users;
$sql="DELETE FROM `users` WHERE `ID`='$users'";
$result=mysql_query($sql) or die (mysql_error());


смотри что вылезет

Спустя 2 минуты, 4 секунды (2.09.2010 - 09:36) Семён написал(а):
vagif
Смотри что дал linker и совмести с тем, что написал twin

Спустя 13 секунд (2.09.2010 - 09:36) twin написал(а):
А я в вакуум написал?
    $users = !empty($_POST['users']) ? $_POST['users'] : array();  //таи я и без [] писал,т.е. $_POST['users']
$sql="DELETE FROM `users` WHERE `ID` IN (".implode( ',' array_map('intval', $users)." )";
$result=mysql_query($sql);

Спустя 20 минут, 41 секунда (2.09.2010 - 09:57) vagif написал(а):
я сначала так попробовал ,чтобы увидеть,передает ли он вообще id
$array = $_POST['users'];
$at = implode(",", $array);
echo $at;

не получилось,ошибку выдает про неизвестный аргумент.а как вы сказали не получилось(((

Спустя 13 минут, 54 секунды (2.09.2010 - 10:11) twin написал(а):
я разве так советовал?
сделай первой строчкой
print_r($_POST);


и глянь что там.

Спустя 3 минуты, 11 секунд (2.09.2010 - 10:14) vagif написал(а):
сейчас попробую.нет,я не сказал что ты так советовал,я сам проверить хотел.а как ты сказал,я сделал и не получилось

Спустя 1 час, 40 минут, 54 секунды (2.09.2010 - 11:55) Kuliev написал(а):
vagif


<input type="checkbox"/>


Не пробовали засунуть между
 
<form>
....
</form>

Спустя 6 часов, 38 минут, 56 секунд (2.09.2010 - 18:34) Winston написал(а):
Я делаю таким способом:
Свернутый текст

// Выводим пользователей, и checkbox'ы
echo "<form action='' method='POST'>";
while($row = mysql_fetch_assoc($result))
{
echo 'Пользователь: '. $row['user'];
echo "<input type='checkbox' name='users[]' value=". $row['id'] .">";
}
echo "<input type='submit' name='go'>";
echo "</form>";

$go = isset($_POST['go']) ? $_POST['go'] : NULL;
$users = isset($_POST['users']) ? $_POST['users'] : NULL;

if ($go && $users)
{
foreach($users AS $v)
{
$delete = mysql_query("DELETE FROM `users` WHERE `id`=". (int)$v);
}
if ($delete)
header('Location: http://'. $_SEREVER['HTTP_HOST'] . $_SEREVER['PHP_SELF']);
}

Что скажете? Как такой способ ?

Спустя 2 часа, 2 минуты, 30 секунд (2.09.2010 - 20:36) vagif написал(а):
помогите!!!мне очень нужно,плизззз!

Спустя 1 минута, 22 секунды (2.09.2010 - 20:38) Winston написал(а):
Цитата (vagif @ 2.09.2010 - 19:36)
помогите!!!мне очень нужно,плизззз!

Разберись в том коде, что я дал, и поймешь.

Спустя 8 минут, 56 секунд (2.09.2010 - 20:47) vagif написал(а):
а я там не понял,там после таблицы это вставить?

Спустя 13 минут, 34 секунды (2.09.2010 - 21:00) Winston написал(а):
Так попробуй:
Свернутый текст
<?php
mysql_connect("localhost", "root", "");
mysql_select_db ("vagif");

$go = isset($_POST['go']) ? $_POST['go'] : NULL;
$users = isset($_POST['users']) ? $_POST['users'] : NULL;

if ($go && $users)
{
foreach($users AS $v)
{
$delete = mysql_query("DELETE FROM `users` WHERE `id`=". (int)$v);
}
if ($delete)
header('Location: http://'. $_SEREVER['HTTP_HOST'] . $_SEREVER['PHP_SELF']);
}

$sql="SELECT * FROM `users`";
$result=mysql_query($sql) or die (mysql_error());
echo "<table border=1>";echo "<tr>";
echo "<td>";echo "ID";
echo "</td>";
echo "<td>";echo "Name";
echo "</td>";
echo "<td>";echo "Surname";
echo "</td>";
echo "<td>";echo "Delete";
echo "</td>";echo "</tr>";
echo "<tr>";

echo "<form action='' method='POST'>";
while($row = mysql_fetch_assoc($result))
{
echo "<td>";echo $row['ID'];
echo "</td>";
echo "<td>";echo $row['Name'];
echo "</td>";
echo "<td>";echo $row['Surname'];
echo "</td>";
echo "<td> <input type='checkbox' name='users[]' value=". $row['ID'] ."/>";
echo "</td></tr>";
}
echo "<input type='submit' name='go'>";
echo "</form>";
echo "</table>";
?>

Спустя 16 минут, 35 секунд (2.09.2010 - 21:17) vagif написал(а):
ссории!эээ,не тот код,ждите,плизз!

Спустя 1 минута, 28 секунд (2.09.2010 - 21:18) vagif написал(а):

<form method="GET" action="">
<?
mysql_connect("localhost", "root", "");
mysql_select_db ("vagif");
$sql="SELECT * FROM `users`";
$result=mysql_query($sql) or die (mysql_error());
echo "<table border=1>";echo "<tr>";
echo "<td>";echo "ID";
echo "</td>";
echo "<td>";echo "Name";
echo "</td>";
echo "<td>";echo "Surname";
echo "</td>";
echo "<td>";echo "Delete";
echo "</td>";echo "</tr>";
echo "<tr>";
while($row = mysql_fetch_array($result)){


echo "<td>";echo $row[ID];
echo "</td>";
echo "<td>";echo $row[Name];
echo "</td>";
echo "<td>";echo $row[Surname];
echo "</td>";
echo "<td>";?>&nbsp&nbsp <input type="checkbox" name="users[]" value="<?php echo $row['ID']; ?>"/><?
echo "</td>";echo "</tr>";
}
echo "</table>";


?>
<br>

<
input type="submit" value="Ok!!!">
</
form>
<?

mysql_connect("localhost", "root", "");
mysql_select_db ("vagif");
$user=$_GET['users'];
$a=implode(",",$user);
echo $a;
$sql="DELETE FROM users WHERE ID=$a";
$result=mysql_query($sql);





?>

вот мой

Спустя 3 минуты, 22 секунды (2.09.2010 - 21:22) Winston написал(а):
Цитата (vagif @ 2.09.2010 - 20:15)
Ребята,получилось!!!

А удаляет всё что выбрал или по одному ?
Цитата (vagif @ 2.09.2010 - 20:17)
ссории!эээ,не тот код,ждите,плизз!

Так удали чтобы не захламлять тему.

Спустя 11 минут, 21 секунда (2.09.2010 - 21:33) vagif написал(а):
отмечаю все и по одному можно.ок,удалил))спасибо всем!!знаете как я рад за это!для вас это может быть обычным делом,а для меня это прогресс,конечно с вашей помощью.книги помогают не столько,сколько вы! user posted image

Спустя 9 минут, 35 секунд (2.09.2010 - 21:43) vagif написал(а):
и одна ошибочка была-input type=checkbox не был в форме,форма была ниже.я потом заметил ответ Kuliyeva,и понял))

Спустя 8 минут, 27 секунд (2.09.2010 - 21:51) vagif написал(а):
аааааа,нет,выделяю все или даже 2 не получается.что делать??и еще извините за непрерывные сообщения))

Спустя 30 минут, 32 секунды (2.09.2010 - 22:22) Winston написал(а):
Попробуй ещё раз так:
Свернутый текст
 <form method="GET" action="">
<?
mysql_connect("localhost", "root", "");
mysql_select_db ("vagif");
$sql="SELECT * FROM `users`";
$result=mysql_query($sql) or die (mysql_error());

$go = isset($_GET['go']) ? $_GET['go'] : NULL;
$users = isset($_GET['users']) ? $_GET['users'] : NULL;

if ($go && $users)
{
foreach($users AS $v)
{
$delete = mysql_query("DELETE FROM `users` WHERE `id`=". (int)$v);
}
if ($delete)
header('Location: http://'. $_SEREVER['HTTP_HOST'] . $_SEREVER['PHP_SELF']);
}

echo "<table border=1>";echo "<tr>";
echo "<td>";echo "ID";
echo "</td>";
echo "<td>";echo "Name";
echo "</td>";
echo "<td>";echo "Surname";
echo "</td>";
echo "<td>";echo "Delete";
echo "</td>";echo "</tr>";
echo "<tr>";
while($row = mysql_fetch_array($result)){


echo "<td>";echo $row[ID];
echo "</td>";
echo "<td>";echo $row[Name];
echo "</td>";
echo "<td>";echo $row[Surname];
echo "</td>";
echo "<td>";?>&nbsp&nbsp <input type="checkbox" name="users[]" value="<?php echo $row['ID']; ?>"/><?
echo "</td>";echo "</tr>";
}
echo "</table>";
?>
<br/>
<
input type="submit" value="Ok!!!">
</
form>

Спустя 10 часов, 3 минуты, 19 секунд (3.09.2010 - 08:25) linker написал(а):
Здесь
foreach($users AS $v)
{
$delete = mysql_query("DELETE FROM `users` WHERE `id`=". (int)$v);
}
if ($delete)
header('Location: http://'. $_SEREVER['HTTP_HOST'] . $_SEREVER['PHP_SELF']);
условие без надобности и цикл можно заменить на
if (count($users) > 0)
mysql_query("DELETE FROM `users` WHERE `id` IN (" . join(',', array_map(create_function('$value', 'return (integer)$value;'), $users)) . ")");
header('Location: http://'. $_SEREVER['HTTP_HOST'] . $_SEREVER['PHP_SELF']);

Спустя 2 дня, 5 часов, 55 минут, 30 секунд (5.09.2010 - 14:20) vagif написал(а):
вот,все рабготает,вот последний код:
<?
mysql_connect("localhost", "root", "");
mysql_select_db ("vagif");
$user=$_GET['users'];
if(isset($user)){
$b=count($user);
for($i=0; $i<$b; $i++){
$c=$user[$i];
$sql="DELETE FROM users WHERE ID=$c";
$result=mysql_query($sql);
}
}

?>
<form method="GET" action="">
<?
mysql_connect("localhost", "root", "");
mysql_select_db ("vagif");
$sql="SELECT * FROM `users`";
$result=mysql_query($sql) or die (mysql_error());
echo "<table border=1>";echo "<tr>";
echo "<td>";echo "ID";
echo "</td>";
echo "<td>";echo "Name";
echo "</td>";
echo "<td>";echo "Surname";
echo "</td>";
echo "<td>";echo "Delete";
echo "</td>";echo "</tr>";
echo "<tr>";
while($row = mysql_fetch_array($result)){
echo "<td>";echo $row[ID];
echo "</td>";
echo "<td>";echo $row[Name];
echo "</td>";
echo "<td>";echo $row[Surname];
echo "</td>";
echo "<td>";?>&nbsp&nbsp <input type="checkbox" name="users[]" value="<?php echo $row['ID']; ?>"/><?
echo "</td>";echo "</tr>";
}
echo "</table>";
?>
<br>
<
input type="submit" value="Ok!!!">
</
form>
<
a href=http:\\localhost\testa.ru\index.php>домой</a>

все работает,можете закрывать тему.я наверно еще создам тему,где начну писать скрипт,в котором перед добавлением пользователя,проверяет,есть ли такой пользователь.начнем с нуля))

Спустя 13 минут, 9 секунд (5.09.2010 - 14:34) Winston написал(а):
Молоток.
Ну всё же попробуй код linker'а, хорошее решение предложил. Я теперь его взял на вооружение.


_____________
хороший программист должен знать-он тоже когда-то ничего не знал.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.