<form action="drop_v_a.php" method="post">
<?php mysql_query ("SET NAMES cp1251");
$result = mysql_query
("
SELECT id,naim
FROM egrul
");
$myrow = mysql_fetch_array($result);
do
{
echo $myrow['id'];
echo $myrow['naim'];
echo '<input type="checkbox" name="item[]" value="'.$myrow['id'].'" />';
}
while ($myrow = mysql_fetch_array($result));
?>
<p><input name="submit" type="submit" value="Удалить заявку" /></p>
</form>
<?php mysql_query ("SET NAMES cp1251");
// Удалить сразу несколько записей можно
// при помощи запроса "DELETE FROM table_1 WHERE id IN (1,3,5,7)"
// Получаем список отмеченных checkbox
$type = $_POST[`type`];
if(!empty($type))
{
// Начинаем формировать переменную, содержащую этот список
// в формате "(3,5,6,7)"
$query = "(" ;
foreach($type as $val) $query.= "$val,";
// Удаляем последнюю запятую, заменяя ее закрывающей скобкой)
$query = substr($query, 0, strlen($query) - 1 ). ")" ;
// Завершаем формирование SQL-запроса на удаление
$query = "DELETE FROM egrul WHERE id IN ".$query;
// Выполняем запрос
if(!mysql_query($query))
{
echo mysql_error()."<br>";
echo $query."<br>";
} else {echo "OK!";}
}
?>
Спустя 10 минут, 38 секунд (23.07.2011 - 13:24) Haotarez написал(а):
1) никогда не используйте do{ } while(); для обработки рузультата запроса в mysql за исключением случая, когда вне зависимости от результата выборки как минимум 1 раз проход по циклу обязан произойти.
2)
Ларчик:
2)
$type = $_POST[`type`];нет такого поля в форме следовательно дальнейший цикл невозможен.
Ларчик:
<form action="drop_v_a.php" method="post">
<?php
mysql_query ("SET NAMES cp1251");
$result = mysql_query("SELECT id,naim FROM egrul");
$myrow = mysql_fetch_array($result);
while ($myrow = mysql_fetch_assoc($result)){
echo $myrow['id'];
echo $myrow['naim'];
echo '<input type="checkbox" name="item[]" value="'.$myrow['id'].'" />';
}
?>
<p><input name="submit" type="submit" value="Удалить заявку" /></p>
</form>
<?php
mysql_query ("SET NAMES cp1251");
// Удалить сразу несколько записей можно
// при помощи запроса "DELETE FROM table_1 WHERE id IN (1,3,5,7)"
// Получаем список отмеченных checkbox
if(count($_POST['item'])) {
// Начинаем формировать переменную, содержащую этот список
// в формате "(3,5,6,7)"
$last_id = array_pop($_POST['item']);
$query = "(";
foreach($_POST['item'] as $val){
$query.= "{$val},";
}
// Завершаем формирование SQL-запроса на удаление
$query.= "{$last_id})";
$query = "DELETE FROM egrul WHERE id IN ".$query;
// Выполняем запрос
if(!mysql_query($query)){
echo mysql_error()."<br>";
echo $query."<br>";
} else {
echo "OK!";
}
}
?>
Спустя 51 минута, 32 секунды (23.07.2011 - 14:16) dmitruha написал(а):
C циклом while ($myrow = mysql_fetch_assoc($result)) не выводится первое поле. Скрипт все равно не работает (
Спустя 42 минуты, 6 секунд (23.07.2011 - 14:58) dmitruha написал(а):
Со скриптом разобрался. Цикл while do оставил.
Обработчик
<form action=drop_v_a.php method=post>
<?php mysql_query ("SET NAMES cp1251");
mysql_query ("SET NAMES cp1251");
$result = mysql_query ("
SELECT *
FROM egrul
",$db);/*Выбор всех полей из тадлицы filmbd*/
$myrow = mysql_fetch_array ($result);/*заносим в пер. первую запись*/
do {
printf("
<tr>
<td><input type='checkbox' name='type[]' value='%s'><br></td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>
",$myrow["id"],$myrow["id"],$myrow["date"],$myrow["tv"],$myrow["naim"],$myrow["sv"],$myrow["tm"],$myrow["tg"],$myrow["mailp"],$myrow["spv"],$myrow["com"]);
/*Конец таблицы*/
} while ($myrow = mysql_fetch_array ($result)); /*Выполнять до тех пор пока истина в скобках*/
?>
<input type=submit></form>
Обработчик
<?php mysql_query ("SET NAMES cp1251");
// Удалить сразу несколько записей можно при
// помощи запроса "DELETE FROM base WHERE id IN (1,3,5,7)"
// Получаем список отмеченных флажков
$type = $_POST['type'];
if(!empty($type))
{
// Начинаем формировать переменную, содержащую этот список
// в формате "(3,5,6,7)"
$query = "(";
foreach($type as $val) $query .= "$val,";
// Удаляем последнюю запятую, заменяя её закрывающей скобкой )
$query = substr($query, 0, strlen($query) - 1).")";
// Завершаем формирование SQL-запроса на удаление
$query = "DELETE FROM egrul WHERE id IN ".$query;
// Выполняем запрос
if(!mysql_query($query))
{
echo mysql_error()."<br>";
echo $query."<br>";
}
}
?>
Спустя 2 часа, 38 минут, 8 секунд (23.07.2011 - 17:36) CyberOrcX написал(а):
dmitruha, мучаешься?
могу помочь за 250 рублей
icq: 256223066
skype: orcxcyber
код получишь полностью
могу помочь за 250 рублей
icq: 256223066
skype: orcxcyber
код получишь полностью
Спустя 25 минут, 27 секунд (23.07.2011 - 18:01) Invis1ble написал(а):
dmitruha
Цитата |
Цикл while do оставил. |
1. не while-do, а do-while
2. зря
3.
Цитата |
mysql_query ("SET NAMES cp1251"); mysql_query ("SET NAMES cp1251"); |
почему всего два раза? надо раз 10
4, 5, ....., n ..........
Спустя 11 минут, 26 секунд (23.07.2011 - 18:13) Haotarez написал(а):
Invis1ble
да-да я вот тоже хотел написать что меньше 10 раз если не вызвать не прокатит запрос.
... и посеял агнец зла do { } while() семя в обработке результатов запроса и рожден был код и имя ему было дано Быдлокод...
да-да я вот тоже хотел написать что меньше 10 раз если не вызвать не прокатит запрос.
... и посеял агнец зла do { } while() семя в обработке результатов запроса и рожден был код и имя ему было дано Быдлокод...
Спустя 10 минут, 1 секунда (23.07.2011 - 18:23) Invis1ble написал(а):
CyberOrcX
думаю, уместнее было написать ТС об этом в личку, а не выставлять на всеобщее обозрение
Haotarez
да уж. Печальнее всего то, что автор, судя по всему, не нуждается в советах, поэтому "оставил". Ну типа работает и работает, а как - это уже 10-й вопрос.
думаю, уместнее было написать ТС об этом в личку, а не выставлять на всеобщее обозрение
Haotarez
да уж. Печальнее всего то, что автор, судя по всему, не нуждается в советах, поэтому "оставил". Ну типа работает и работает, а как - это уже 10-й вопрос.
Спустя 3 минуты, 5 секунд (23.07.2011 - 18:26) Haotarez написал(а):
Invis1ble
ну, наше дело маленькое, помочь по мере собственных знаний, а применять наши советы и помощь или нет - дело ТС.
ну, наше дело маленькое, помочь по мере собственных знаний, а применять наши советы и помощь или нет - дело ТС.
Спустя 1 год, 21 день, 15 часов, 53 минуты, 25 секунд (15.08.2012 - 10:19) Kukaramba написал(а):
Так все таки вопрос остался. Почему он не выводит первую строку?
Спустя 11 минут, 48 секунд (15.08.2012 - 10:31) Winston написал(а):
Потому что нужно убрать строчку
Цитата (dmitruha @ 23.07.2011 - 14:13) |
$myrow = mysql_fetch_array($result); |
Спустя 37 минут, 20 секунд (15.08.2012 - 11:08) Игорь_Vasinsky написал(а):
просто делать в таком порядке
$query = mysql_query($sql);
if(mysql_num_rows($query))
{
while($row = mysql_fetch_assoc($query))
{
echo $row['name_ceil']; //и т.д.
}
}
else
echo 'Nothing to viewing';