[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите
kan
Помогите разобраться что куда. Есть .csv файл куда пишиться пожелания от пользователей. Мне надо редоктировать его тобиш удалять ненужное при выводе формы выделение checkbox кнопокуй удалить.

PHP
include('tablib.inc');
$filename="mygbook.txt";
$rows=filetoa($filename,$separator="|");
echo 
"<center>";
echo 
"<form action=reload.php method=POST>
<input type=submit name=delete value='Óäàëèòü'>
<br>"
;
for (
$i=0$i<count($rows); $i++) { // ïåðåáèðàåì âñå çíà÷åíèÿ ìàññèâà
echo "<input type=checkbox name='check'.$i value=$rows[$i]>$rows[$i]";
}
echo 
"</form>";

Перебрал массив задал каждой строке Чекбох а как теперь удалить выделенные?



Спустя 2 минуты, 29 секунд (4.09.2009 - 10:57) sergeiss написал(а):
Используй, плз, тэги оформления кода! Сейчас это сделал я, но лучше с самого начала делай сам.

Спустя 20 минут, 30 секунд (4.09.2009 - 11:17) kan написал(а):
А можно пример я только начал изучать. А на примерах лучше получаеться. Пожалуйста

Спустя 13 минут, 19 секунд (4.09.2009 - 11:30) sergeiss написал(а):
Насчет тэгов - это я сказал не по твоему вопросу, а насчет его оформления на форуме smile.gif
Когда вводишь текст, то прямо над окном ввода есть целый ряд кнопок. Надо тебе, допустим, оформить код ПХП - выделяешь нужный текст и жмякаешь кнопку PHP.

Спустя 4 минуты, 3 секунды (4.09.2009 - 11:34) kan написал(а):
Понятно а по поводу кода что скажите?

Спустя 40 минут, 19 секунд (4.09.2009 - 12:15) sergeiss написал(а):
Если честно, то я не до конца понял твой код, особенно вот это:
PHP
echo "<input type=checkbox name='check'.$i value=$rows[$i]>$rows[$i]";

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

Спустя 12 минут, 5 секунд (4.09.2009 - 12:27) kan написал(а):
Читаем файл в массив перебираем масив и создаем Чекбоксы со значением полей массива. Теперь мне принажатии кнопки из файла необходимо удалить что было выбрано Чекбоксами.

Спустя 20 минут (4.09.2009 - 12:47) sergeiss написал(а):
kan - прежде, чем ты это сделаешь, тебе надо сделать правильную форму. Сделай сначала ее! Смею тебя уверить, что выделенная мной строка в предыдущем моем ответе этой темы - некорректная.

Спустя 7 минут, 50 секунд (4.09.2009 - 12:55) kan написал(а):
А можно конкретней указать на ошибки которые я совершил так как я только учусь. Что иммено я не корекно написал?

Спустя 25 минут, 54 секунды (4.09.2009 - 13:21) sergeiss написал(а):
Во-первых, ты то используешь кавычки, то не используешь. Определись со стилем программирования. И лучше ставить, чтобы не натыкаться на "чудачества" отдельных браузеров.

А во-вторых, что это за имя такое???

Ту строку лучше так сделать:
PHP
echo '<input type="checkbox" name="check'.$i.'" value="'.$rows[$i].'">'.$rows[$i].'"'

Спустя 2 дня, 1 час, 1 минута, 42 секунды (6.09.2009 - 14:22) kan написал(а):
Спасибо за замечание а как сделать удалить выбронную строку из массива?

Спустя 12 минут, 32 секунды (6.09.2009 - 14:35) glock18 написал(а):
unset,
array_splice

Спустя 2 дня, 15 часов, 43 минуты, 55 секунд (9.09.2009 - 06:19) kan написал(а):
Так немогу разобраться еще раз опишу проблемку есть .CSV файл там лежат данные с гостевой книги. Данный файл загружаю в массив $rows. Необходимо вывести все записи с Чекбоксами и одну кнопку для удаление выбранных элементов. Помогите пожалуйста!!!

Спустя 4 часа, 11 минут, 34 секунды (9.09.2009 - 10:30) rudolfel написал(а):
проблему понял но помочь не могу
HTML
<p>Очень жаль!</p>

Спустя 7 минут, 52 секунды (9.09.2009 - 10:38) Nikitian написал(а):
Нужно изучить 2 функции для работы с csv: fputcsv() и fgetcsv()

Алгоритм действий:
Читаете файл при помощи функции fgetcsv() в массив. Как чиать файл в ссылке выше приведён пример.
Выводите с галочками (input type="checkbox") в форму. В обработчике формы читаете опять же файл, пробегаетесь по массиву например foreach и удаляете отмеченные элементы. Далее сохраняете с перезаписью в тот же файл получившийся массив, воспользовавшись примером из мануала по функции fputcsv().

Если разбираться лень, то сразу пишите: "огласите ваши ценники" или "ищу исполнителя".

Спустя 1 минута, 59 секунд (9.09.2009 - 10:40) waldicom написал(а):
HTML
<input type="checkbox" name="user_wish[]" value="YOUR_VALUE" />

Потом при обработке кнопки submit бежишь по массиву user_wish


edit: опередили

Спустя 18 часов, 48 минут, 1 секунда (10.09.2009 - 05:28) kan написал(а):
Доброго всем дня или ночи!!!
PHP
<?php
include('tablib.inc');// здесь описывается функции чтение файла в массив getcsv
$filename="mygbook.txt";
$rows=filetoa($filename,$separator="|");
echo 
"<center>";
echo 
"<form action=reload.php method=POST>
<input type=submit name=delete value='Óäàëèòü'>
<br>"
;
for (
$i=0$i<count($rows); $i++) { // ïåðåáèðàåì âñå çíà÷åíèÿ ìàññèâà
echo '<input type="checkbox" name="check[]" value="'.$rows[$i].'">'.$rows[$i].'';
}
echo 
"</form>";
Print_r ($_POST);// здесь показывает что я выбрал Array ( [delete] => Удалить [check] => Array ( [0] => Array ) )
}

А как дальше связать выбранное (маccив $_POST) и массив $rows

А поповоду высказываний о лени и оплате так зачем создовать раздел для новечков лучше оди за оплату!!!

Спустя 2 часа, 45 минут, 3 секунды (10.09.2009 - 08:13) sergeiss написал(а):
Цитата (kan @ 10.09.2009 - 06:28)
А поповоду высказываний о лени и оплате так зачем создовать раздел для новечков лучше оди за оплату!!!

На эту тему повторюсь, хотя многие люди уже много раз говорили.

Тут все ответы - на добровольной основе. Никто никому ничего не должен. И если кто-то приходит и говорит, что "а сделайте-ка мне вот это и это", то ему никто не должен это делать.
Есть свои наработки, которые почему-то не работают - вэлкам! Поможем-подскажем.
Нету своих наработок и нету желания (или возможности) делать самому - вэлкам! Оплати работу тому человеку, который ее для тебя сделает. Или ты считаешь, что это неверный подход???

Спустя 16 минут, 23 секунды (10.09.2009 - 08:30) kan написал(а):
Не будем обсуждать у кого какой заработок. ТАк тоже нельзя, раздел для новечков само сабой подрозумевает глупые вопросы! Написал помогите разобраться как связть два массива. Код предоставил если есть ошибки покажите где исправить и что добавить!!!

Спустя 10 минут, 19 секунд (10.09.2009 - 08:40) sergeiss написал(а):
Цитата (kan @ 10.09.2009 - 09:30)
раздел для новечков само сабой подрозумевает глупые вопросы

Вопрос не в самих вопросах, а в том, делает ли человек что-то самостоятельно или хочет, чтобы за него сделали всё! (это не к тебе относится, а так, типа кАмент, разговор поддержать wink.gif )

По теме.
Выбери несколько чекбоксов и увидишь сразу же, что изменилось. И для просмотра массива POST я предпочитаю свою функцию. Существенно более наглядно видно.
PHP
function show_posts()
{
echo 'POSTs<br>';
foreach(
 $_POST as $k => $v )
{
    if( is_array( $v ) ) 
    
{
        echo "_POST['$k'] is array: <br>";
        foreach( $v as $key => $val )
        echo "_POST['$k'][$key]=$val<br>";
    }
    else
        echo 
"_POST['$k']=$v<br>";
}
  
echo 
'POSTs ended<br>';
}

Спустя 10 минут, 26 секунд (10.09.2009 - 08:50) glock18 написал(а):
Цитата
Выбери несколько чекбоксов и увидишь сразу же, что изменилось. И для просмотра массива POST я предпочитаю свою функцию. Существенно более наглядно видно.


вот это гораздо наглядней и эффективней (не только для POST + неограниченная вложенность)
PHP
echo '<pre>';
print_r($array); // print_r($object);
echo '</pre>';

Спустя 2 часа, 41 минута, 24 секунды (10.09.2009 - 11:32) kan написал(а):
Да поянтно он показывает что я выбрал
POSTs
_POST['delete']=Удалить
_POST['check'] is array:
_POST['check'][0]=Array
_POST['check'][1]=Array
_POST['check'][2]=Array
POSTs endedа
как теперь выбраное в массиви $POST удалить из массива $rows

Спустя 19 часов, 17 минут, 10 секунд (11.09.2009 - 06:49) kan написал(а):
Подскожите что нетак сделал
PHP
<?php
include('tablib.inc');
$filename="mygbook.txt";
$rows=filetoa($filename,$separator="|");
echo 
"<center>";
echo 
"<form action=reload.php method=POST>
<input type=submit name=delete value='Óäàëèòü'>
<br>"
;
for (
$i=0$i<count($rows); $i++) { // ïåðåáèðàåì âñå çíà÷åíèÿ ìàññèâà
echo '<input type="checkbox" name="check[]" value="'.$rows[$i].'">'.$rows[$i].'';
}
echo 
"</form>";
if (isset(
$_POST['check'])){
foreach( 
$_POST as $k => $v )
unset(
$rows[$POST['check[$k][$v]']]);
}

Спустя 39 минут, 44 секунды (11.09.2009 - 07:29) twin написал(а):
Вот, показываю:
PHP
unset($rows[$POST['check[$k][$v]']]);

Спустя 1 час, 41 минута, 19 секунд (11.09.2009 - 09:10) kan написал(а):
А подробней можно? что неправельно

Спустя 12 минут, 53 секунды (11.09.2009 - 09:23) twin написал(а):
Вот подробнее:
PHP
<?php
//include('tablib.inc');
//$filename="mygbook.txt";
//$rows=filetoa($filename,$separator="|");
$rows = range(1,10);
echo "<center>";
echo "<form action='' method=POST>
<input type=submit name=delete value='Óäàëèòü'>
<br>"
;
for ($i=0; $i<count($rows); $i++) { // ïåðåáèðàåì âñå çíà÷åíèÿ ìàññèâà
echo '<input type="checkbox" name="check[]" value="'.$i.'">'.$rows[$i].'';
}
echo "</form>";
if (isset($_POST['check'])){
foreach(
 $_POST['check'] as $k => $v )
unset(
$rows[$v]);
}
?>
<pre>
<?php
print_r
($rows);
?>
</pre>

Спустя 12 минут, 10 секунд (11.09.2009 - 09:35) kan написал(а):
Warning: Illegal offset type in unset in вот такую ошибку выдает. А где можно шибки глянуть?

Спустя 2 дня, 4 часа, 7 минут, 16 секунд (13.09.2009 - 13:42) kan написал(а):
Помогите что озночает эта ошибка или где посмотреть?

Спустя 21 час, 24 минуты, 46 секунд (14.09.2009 - 11:07) kan написал(а):
Нашол вчем пречина unset($rows[$v]); нельзя удалить из двухмерного массива массив. ТОгда вопрос а припомощи какой команды можно удалить?

Спустя 36 минут, 47 секунд (14.09.2009 - 11:44) Gradus написал(а):
Где двухмерный ?
Должно быть так:
PHP
foreach( $_POST['check'] as $k => $v )
unset(
$rows[$k]);
}

Спустя 47 минут, 1 секунда (14.09.2009 - 12:31) kan написал(а):
Огромное спасибо!!!!

Спустя 25 минут, 51 секунда (14.09.2009 - 12:57) kan написал(а):
Все удаляет только не те строки в файле которые отмечаю Чеками. Еще раз Спасибо всем кто помог!!!

Спустя 6 дней, 5 часов, 3 минуты, 15 секунд (20.09.2009 - 18:00) kan написал(а):
РАно радовался побился с недельку но серовно вернулся подскажите что нетак?
PHP
<?php
include('tablib.inc');
$filename="mygbook.txt";
$rows=filetoa($filename,$separator="|");
echo 
"<center>";
echo 
"<form action=reload.php method=POST>
<input type=submit name=delete value='Óäàëèòü'>
<br>"
;
if (
$rows!=null){krsort($rows);
$i=-1;
foreach (
$rows as $ind=>$r){$i++;
//for ($i=0; $i<count($rows); $i++) { // ïåðåáèðàåì âñå çíà÷åíèÿ ìàññèâà
echo '<input type="checkbox" name="'.$i.'" value="'.$rows[$i].'">';
echo 
"<b>$i.{$r[0]}</b> {$r[1]} {$r[6]}<br>
<b>Ñàéò:</b><a href={$r[2]}>{$r[2]}</a><b> E-mail:</b>
<a href={$r[3]}>{$r[3]}</a><br>
<br><textarea rows=4 cols=89>{$r[4]}</textarea><br>"
;
if (
$r[5]){echo "<b>Îòâåò:</b><br><textarea rows=4 cols=60>{$r[5]}
</textarea>"
;}
echo 
"<hr>";
}
}
print_r($_POST);
//if (isset($_POST){
echo 'POSTs<br>';
foreach( 
$_POST as $k => $v )
unset(
$rows[$k]);
atofile($rows,$filename,"|");
echo 
"</form>";

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

Спустя 1 день, 12 часов, 43 минуты, 4 секунды (22.09.2009 - 06:43) Guest написал(а):
Доброго всем дня иль ночи! Сам накасячил и разобрался с изменением место положения списка а вот по поводу того почему удаление поисходит только при нажатие два раза на кнопку некак немогу понять. Подскажите пожалуйста.
PHP
<?php
include('tablib.inc');
$filename="mygbook.txt";
$rows=filetoa($filename,$separator="|");
echo 
"<center>";
echo 
"<form action=reload.php method=POST>
<input type=submit name=delete value='Óäàëèòü'>
<br>"
;
$i=-1;
foreach (
$rows as $ind=>$r){$i++;
echo 
'<input type="checkbox" name="'.$i.'" value="'.$rows[$i].'">';
echo 
"<b>$i.{$r[0]}</b> {$r[1]} {$r[6]}<br>
<b>Ñàéò:</b><a href={$r[2]}>{$r[2]}</a><b> E-mail:</b>
<a href={$r[3]}>{$r[3]}</a><br>
<br><textarea rows=4 cols=89>{$r[4]}</textarea><br>"
;
if (
$r[5]){echo "<b>Îòâåò:</b><br><textarea rows=4 cols=60>{$r[5]}
</textarea>"
;}
echo 
"<hr>";
}
foreach( 
$_POST as $k => $v )
unset(
$rows[$k]);
atofile($rows,$filename,"|");
echo 
"</form>";

Спустя 2 часа, 8 минут, 26 секунд (22.09.2009 - 08:51) Xakep написал(а):
наверняка проблема в массиве.....

Спустя 2 часа, 50 минут, 10 секунд (22.09.2009 - 11:42) Guest написал(а):
В каком у меня их два $rows (записан из файла) и $POST
Быстрый ответ:

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