Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Создание закладок
 
 автор: Равечка   (14.07.2006 в 19:30)   письмо автору
 
 

Не мог бы кто нибудь подсказать...

1. Как сделать закладки? не пойму принципа их формирования...
2. Как сделать удаление строки из базы. В смысле чтобы вылетало сообщение на JS точно ли я хочу удалить эту строку или нет...
3. Прошу помощи в написании скрипта который бы описал ФТП ресурс и занес его в MySQL

   
 
 автор: Владимир22   (14.07.2006 в 21:13)   письмо автору
 
   для: Равечка   (14.07.2006 в 19:30)
 

Закладки:
Cтавите в нужном месте страницы

<a name="1">

Вместо 1, что угодно.
А потом пишете в ссылке, например:

http://mysite/page.htm#1

Страница будет отображена с места закладки.

   
 
 автор: Равечка   (14.07.2006 в 21:53)   письмо автору
 
   для: Владимир22   (14.07.2006 в 21:13)
 

такие закладки я умею делать... наверно это моя ошибка.... я не правильно сформулировала вопрос.

дан запрос Select * from data;
как этот запрос вывести допустим по 100 элементов на страницу.

   
 
 автор: Lelik   (14.07.2006 в 22:06)   письмо автору
 
   для: Равечка   (14.07.2006 в 21:53)
 

>такие закладки я умею делать... наверно это моя ошибка.... я
>не правильно сформулировала вопрос.
>
>дан запрос Select * from data;
>как этот запрос вывести допустим по 100 элементов на
>страницу.


Select * from data limit 100

   
 
 автор: Равечка   (15.07.2006 в 00:06)   письмо автору
 
   для: Lelik   (14.07.2006 в 22:06)
 

это наверно прикол? спасибо синтаксис mysql я знаю достаточно хорошо.
я спрашивала о способе формировании закладок а не о постороении запроса с лимитированием.

   
 
 автор: cheops   (15.07.2006 в 00:08)   письмо автору
 
   для: Равечка   (15.07.2006 в 00:06)
 

А под закладками что имеется ввиду? Постраничная навигация? Т.е. постраничный вывод длинного списка?

   
 
 автор: Равечка   (15.07.2006 в 00:59)   письмо автору
 
   для: cheops   (15.07.2006 в 00:08)
 

Именно. Прощу прощения за изначально не правильно сформированный вопрос.
Мне Нужно постранично вывести какую то информацию.... например по 100 элементов за страницу

   
 
 автор: Lelik   (15.07.2006 в 01:02)   письмо автору
 
   для: Равечка   (15.07.2006 в 00:59)
 

Ну циклом воспользуйся.

for($i=0; $i<100; $i++)
   {
       а тута выводим че угодно - и выведется оно ровно 100 раз.
   }

   
 
 автор: Равечка   (15.07.2006 в 01:06)   письмо автору
 
   для: Lelik   (15.07.2006 в 01:02)
 

Обратите внимание на...
1. заходи по это ссылке - http://www.softtime.ru/forum/index.php?id_forum=1
2. опускаем стриницу вниз до упора
3. смотри на надпись "Сообщения: [1-30] [31-60] [61-90] [91-120] [121-150] ... [2911-2927] [архив] "
4. Вопрос - как это формируется? Я все же сомневаюсь что циклом....

   
 
 автор: Lelik   (15.07.2006 в 01:14)   письмо автору
 
   для: Равечка   (15.07.2006 в 01:06)
 

Автор данного кода - студия софттайм. Взято из admin/index.php системы поверкоунтер вестия 3.3 чтоль(?)

<?php
 
// Постраничная навигация
  
$page_link 3;
  
$first = ($page 1)*$pnumber;
  if(empty(
$_GET['order']))
  {
  
$orderstr "num DESC" ;
  
$order="";
  }
  else 
$orderstr "title";
  
// Формируем и выполняем SQL-запросы
    
if($begin == 0$tmp2 "";
  else 
$tmp2 " AND putdate >= DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL $begin DAY";
  
$tmp1 " putdate < DATE_FORMAT( NOW( ) , '%Y-%m-%d 23:59:59' ) - INTERVAL $end DAY";
$query "SELECT COUNT(DISTINCT(id_page))
                   FROM 
$tbl_ip
                   WHERE 
   
$tmp1 $tmp2";
 
  
$num mysql_query($query);
  if(!
$numputerror("Ошибка при обращении к таблице страниц");
  
// Ввыводим ссылки на другие страницы
  
$total mysql_result($num,0);
  
$number = (int)($total/$pnumber);
  if((float)(
$total/$pnumber) - $number != 0$number++;
  
// Проверяем есть ли ссылки слева
  
if($page $page_link 1)
  {
    echo 
"<a href=$_SERVER[PHP_SELF]?id_page=$id_page&page=1&order=$order&begin=$begin&end=$end> <nobr>[1-$pnumber]</nobr></a>&nbsp;<em class=currentpage><nobr>&nbsp;...&nbsp;</nobr> </em>&nbsp;";
    
// Есть
    
for($i $page $page_link$i<$page$i++)
    {
        echo 
"&nbsp;<a href=$_SERVER[PHP_SELF]?id_page=$id_page&page=$i&order=$order&begin=$begin&end=$end> <nobr>[".(($i 1)*$pnumber 1)."-".$i*$pnumber."]</nobr></a>&nbsp;";
    }
  }
  else
  {
    
// Нет
    
for($i 1$i<$page$i++)
    {
        echo 
"&nbsp;<a href=$_SERVER[PHP_SELF]?id_page=$id_page&page=$i&order=$order&begin=$begin&end=$end> <nobr>[".(($i 1)*$pnumber 1)."-".$i*$pnumber."]</nobr></a>&nbsp;";
    }
  }
  
// Проверяем есть ли ссылки справа
  
if($page $page_link $number)
  {
    
// Есть
    
for($i $page$i<=$page $page_link$i++)
    {
      if(
$page == $i)
        echo 
"<em class=currentpage><nobr>&nbsp;[".(($i 1)*$pnumber 1)."-".$i*$pnumber."]&nbsp;</nobr> </em>";
      else
        echo 
"&nbsp;<a href=$_SERVER[PHP_SELF]?id_page=$id_page&page=$i&order=$order&begin=$begin&end=$end> <nobr>[".(($i 1)*$pnumber 1)."-".$i*$pnumber."]</nobr></a>&nbsp;";
    }
    echo 
"<em class=currentpage><nobr>&nbsp;...&nbsp;</nobr> </em>&nbsp;<a href=$_SERVER[PHP_SELF]?id_page=$id_page&page=$number&order=$order&begin=$begin&end=$end> <nobr>[".(($number 1)*$pnumber 1)."-$total]</nobr></a>&nbsp;";
  }
  else
  {
    
// Нет
    
for($i $page$i<=$number$i++)
    {
      if(
$number == $i)
      {
        if(
$page == $i)
          echo 
"<em class=currentpage><nobr>&nbsp;[".(($i 1)*$pnumber 1)."-$total]&nbsp;</nobr></em>";
        else
          echo 
"&nbsp;<a href=$_SERVER[PHP_SELF]?id_page=$id_page&page=$i&order=$order&begin=$begin&end=$end>[".(($i 1)*$pnumber 1)."-$total]</a>&nbsp;";
      }
      else
      {
        if(
$page == $i)
          echo 
"<em class=currentpage><nobr>&nbsp;[".(($i 1)*$pnumber 1)."-".$i*$pnumber."]&nbsp;</nobr> </em>";
        else
          echo 
"&nbsp;<a href=$_SERVER[PHP_SELF]?id_page=$id_page&page=$i&order=$order&begin=$begin&end=$end> <nobr>[".(($i 1)*$pnumber 1)."-".$i*$pnumber."]</nobr></a>&nbsp;";
      }
    }
  }
  echo 
"<br><br>";
  
// Конец постраничной навигации
?>

   
 
 автор: cheops   (15.07.2006 в 10:50)   письмо автору
 
   для: Равечка   (15.07.2006 в 00:59)
 

Примеры постраничной навигации можно найти по ссылкам
http://www.softtime.ru/info/articlephp.php?id_article=33
http://softtime.ru/forum/srchform.php?id_forum=1&name=%EF%EE%F1%F2%F0%E0%ED%E8%F7+%ED%E0%E2%E8%E3%E0&numberthemes=30&srchwhere=2&id_forum=1&logic=0&send=%CD%E0%E9%F2%E8

   
 
 автор: Равечка   (15.07.2006 в 11:24)   письмо автору
 
   для: Равечка   (14.07.2006 в 19:30)
 

Огромное всем спасибо за решения, буду разбираться.
не мог бы все же кто нибудь осветить другой вопрос, как сделать интерфейс для удаления строки из mysql

например мне надо выполнить запрос delete from data where id='$id'
$id - передается соответственно из скрипта.
Как это реализовать, чтобы выскакивала табличка подтверждения?

   
 
 автор: cheops   (15.07.2006 в 13:42)   письмо автору
 
   для: Равечка   (15.07.2006 в 11:24)
 

Передавайте в GET-параметре идентификатор удаляемой строки на страницу с вопросом, создавайте HTML-форму, в которой в скрытом поле прячте идентификатор
Вы действительно хотите удалить запис?
<form action=del.php method=get>
<input type=hidden name=id value=<?= $_GET['id']; ?>>
<input type=submit value="Да">
</form>

А в обработчике HTML-формы del.php уже удаляйте запись.

PS Под новые вопросы лучше заводить новые темы.

   
 
 автор: Равечка   (15.07.2006 в 20:54)   письмо автору
 
   для: cheops   (15.07.2006 в 13:42)
 

Не хотела плодить темы.

Понятно. толкько вопрос несколько в следуюшем. как сделать чтобы например нажав по ссылке УДАЛИТЬ напротив какой то строки, у меня выскочило окошно (ява скрипт наверно?) с подтверждением.... т.е. не переходя по сотни раз по страницам. ну и собственно пр и согласии, переход на страницу которая выполнит удаление.

И вопрос по теме закладок.... как разбить текст на страницы?

Заранее прощу прощения за столь большое кол-во вопросов :)

   
 
 автор: cheops   (15.07.2006 в 21:02)   письмо автору
 
   для: Равечка   (15.07.2006 в 20:54)
 

Да здесь понадобится javascript(). Т.е. окно по удалению скрипта открывайте при помощи конструкции window.open, подробнее о которой можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=11182.

PS Давайте всё-таки под новые вопросы заведём новые темы :))) просто форум структурный и длинные темы здесь не очень удобны. Да и удобнее каждый новый вопрос обсуждать в отдельной теме.

   
 
 автор: Равечка   (16.07.2006 в 12:08)   письмо автору
 
   для: cheops   (15.07.2006 в 21:02)
 

Вопрос по навигации как разбить текст на страницы?

например у меня дана переменная $text которая хранит огромную статью...

   
 
 автор: cheops   (16.07.2006 в 12:17)   письмо автору
 
   для: Равечка   (16.07.2006 в 12:08)
 

Хранить статью не в виде большого куска текста, а в виде параграфов, и выводить на странице определённое число параграфов.

   
 
 автор: valenok   (16.07.2006 в 12:54)   письмо автору
 
   для: Равечка   (16.07.2006 в 12:08)
 


<?
// Такая комбинация символов будет служить меткой 
// разбивки текста по страницам
// Вообщем разбивать текст будем по этому: "<EOF>" 
// End Of File ...
$text "
Жили раньше дед да баба,
с ними - курочка-пеструшка,
вот снесла она яичко,
да оно в очаг скатилось,
угли вылетели на пол,
пол до потолка поднялся,
печь запрыгала в испуге,
и задвигалась лежанка.
Дед да баба стали плакать,
курочка кудахтать стала,
тут сороки затрещали,
заворочались пороги,
вереи заколыхались,
стали изгороди ниже,
в них порасшатались колья,
тут корова замычала,
а за ней мычать - все стадо.
<EOF> 
У вороны сломан пальчик,
обломился хвост сороки,
поскакала она к речке,
где поповская прислуга
поутру белье стирала:
\"Ты чего трещишь, сорока, 
что так скачешь, бедолага?\" -

\"Оттого трещу я, люди, 
оттого скачу, бедняга, 
что несу дурные вести;
вот когда б вы их узнали, 
разломали б коромысла, 
и лохани бы разбили, 
и вальки бы побросали, 
и белье-на лед речушки\".
<EOF> 
Вот пришла домой прислуга,
а в дому - неразбериха:
на полу поповы дети, 
попадья лежит под лавкой, 
поп остался безбородым, 
весь кафтан попа расползся, 
все разодраны штанины,
вся разорвана рубаха. "
;


$text_array explode("<EOF>",$text);
if(@!empty(
$_GET['page'])){
echo 
$text_array[$_GET['page']-1]; die();
}
echo 
$text_array[0];


А сюда подставлять постраничную навигацию.

   
 
 автор: valenok   (16.07.2006 в 13:01)   письмо автору
 
   для: cheops   (15.07.2006 в 21:02)
 

Стоит воспользоваться не window.open
а методом confirm в JS

   
 
 автор: valenok   (16.07.2006 в 13:08)   письмо автору
 
   для: Равечка   (14.07.2006 в 19:30)
 

2.
--

<?

if(isset($_GET['del_id']) AND is_numeric AND !empty AND >...){
$include=true;
include(
'delete.php');
}
?>
<Script Language="JavaScript">
function delete(id){
if(confirm('Удалить строку номер '+id)){
document.location="<?php echo $_SERVER['PHP_SELF']?>.php?del_id=" + id;
}
</SCRIPT>
Строка 1    <A href='#' onclick="delete('1')">Удалить</A>
Строка 2    <A href='#' onclick="delete('2')">Удалить</A>
Строка 3   <A href='#' onclick="delete('3')">Удалить</A>
Строка 4    <A href='#' onclick="delete('4')">Удалить</A>



delete.php
--
if(!$include){die();}
if(!$_GET['del_id'] AND ...){ die();}
mysql_query("DELETE FROM table WHERE id=".$_GET['del_id']);

   
 
 автор: valenok   (16.07.2006 в 13:11)   письмо автору
 
   для: Равечка   (14.07.2006 в 19:30)
 

Что именно должен скрипт описывать
и в чём трудности..?
Вряд ли ктото будет его за вас писать так что пишите а если возникнут проблемы можно оказать помощь..

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования