PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 13
zlovred Отправлено: 18 Июля, 2008 - 10:02:07 • Тема: Передача переменных между страницами вывода контента • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 109
Инициализация $a,$b есть, просто я ее не совсем удачно расположил..
Две предпоследние строчки в конце скрипта.


А можно поподробнее насчет
Цитата:
Очищайте переменную сессии на станице с формой/перед присвоением новых
zlovred Отправлено: 18 Июля, 2008 - 06:51:10 • Тема: Передача переменных между страницами вывода контента • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 109
Здравствуйте уважаемые.
Ситуация выглядит следующим образом: пользователь заполняет форму, форма передает в скрипт значения переменных $a, $b. Далее скрипт используя эти переменные в запросе к базе выводит из нее информацию постранично. Чтобы значения переменных сохранялись на других страницах(кроме первой) была использована сессия. Проблема заключается в том, что если вновь перейти на страницу с формой и изменить поля а,b. То суже не реагирует на новые значения этих переменных(старые значения сохраняются до выключения браузера). Подскажите пожалуйста, как можно избежать этой ситуации.

Далее приведен код скрипта.
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. session_start();
  4. //Создадим функцию page(), которая обрабатывает данные о запрошенном номере страницы:
  5. function page()
  6. {
  7.     if(empty($_GET["page"])){
  8.         $page = 0;
  9.     } else {
  10. if(!is_numeric($_GET["page"])) die("Неправильный формат номера страницы!");
  11.         $page = $_GET["page"];
  12.     }
  13.         return $page;
  14. }
  15. //Проверяет выбрана ли страница и если в ней присутствуют буквы,
  16. // то выводит сообщение об ошибке. Далее сделаем SQL-запрос:
  17. function sql_query($onpage, $page, $table, $a, $b)
  18. {
  19.     $begin = $page*$onpage; // откуда начинать
  20.         $sql = "SELECT * FROM ".$table." c='".$a."' and
  21.         d>='".$b."' and  LIMIT ".$begin.", ".$onpage;
  22.         $result = mysql_query($sql) or die(mysql_error());
  23.         return $result;
  24.         }
  25. //Функция навигации:
  26. function navigation($onpage, $page, $table)
  27. {
  28.         $return = null;
  29.     $count = mysql_query("SELECT COUNT(*) FROM k") or die(mysql_error());
  30.         $count = mysql_fetch_array($count);
  31.         $count = $count[0];
  32.         $pages = $count/$onpage;
  33.         if($page!==0){
  34.             $prev = "<A HREF=\"?page=".($page-1)."\"><</A>";
  35.         } else {
  36.             $prev = "<";
  37.         }
  38.         if($page<round($pages-1)){
  39.             $next = "<A HREF=\"?page=".($page+1)."\">></A>";
  40.         } else {
  41.             $next = ">";
  42.         }
  43.         for($i=0;$i<$pages;$i++)
  44.         {
  45.             if($i==$page){
  46.                 $return.="[".($i+1)."]";
  47.             } else {
  48.                 $return.="<A HREF=\"?page=".$i."\">[".($i+1)."]</A>";
  49.             }
  50.         }
  51.         return $prev.$return.$next;
  52. $onpage = 10; // записей на страницу
  53. $table = "k"; // из какой таблицы
  54. mysql_connect("localhost", "root", "") or die(mysql_error()); // коннект к БД
  55. mysql_select_db("houses"); // выбор БД
  56. $page = page(); // определяем страницу
  57. $result = sql_query($onpage, $page, $table, $a, $b); // sql - запрос
  58. //вывод инфы
  59. $navigation = navigation($onpage, $page, $table); // определим навигацию
  60. echo $navigation; // выведем ее
  61. $_SESSION['a'] = "$a";
  62. $_SESSION['b'] = "$b";
  63. mysql_close(); // отключение от БД
  64.  
zlovred Отправлено: 10 Июля, 2008 - 14:47:09 • Тема: по поводу массива • Форум: Программирование на PHP

Ответов: 11
Просмотров: 487
Спасибо, непременно воспользуюсь)
zlovred Отправлено: 10 Июля, 2008 - 13:03:39 • Тема: по поводу массива • Форум: Программирование на PHP

Ответов: 11
Просмотров: 487
Доброго всем времени суток.

В процессе работы скрипта я получаю массив со значениями (числовыми),
которые мне нужно использовать далее в запросе такого вида:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM `table` WHERE `id` IN (a,b,c,...)
  3. //вместо a b c
  4.  

вот только я не знаю, как их туда поместить
И кстати, я конечно же не знаю до заполнения массива, сколько будет этих значений)
Заранее спасибо
P.S.
Можно и другой запрос использовать, но смысл в том, чтобы каждый элемент массива
сравнить с id.
zlovred Отправлено: 08 Июля, 2008 - 13:38:54 • Тема: как вывести на экран отмеченные чекбоксом строки из базы? • Форум: Программирование на PHP

Ответов: 6
Просмотров: 437
Прошу прощения.
Я начал писать второе сообщение до того, как увидел ваше
zlovred Отправлено: 08 Июля, 2008 - 13:29:08 • Тема: как вывести на экран отмеченные чекбоксом строки из базы? • Форум: Программирование на PHP

Ответов: 6
Просмотров: 437
zlovred пишет:

После всего етого код будет выглядеть примерно так (могу ошибаться)
CODE (text):
скопировать код в буфер обмена
  1.  
  2. while ($i<>0){
  3. $i=$i-1;
  4.        if ($box[$i]=true){
  5.        $boxx=1;
  6.        $query="select * from k where '".$boxx."'=1 and id='".$num."'";
  7.         //здесь id-primary key
  8.         //вывод данных
  9.        }else{
  10.        $boxx=0;
  11.         }
  12. }
  13.  

а где взять значение $num ?
или лучше как-нибудь подругому все организовать?
zlovred Отправлено: 08 Июля, 2008 - 12:22:59 • Тема: как вывести на экран отмеченные чекбоксом строки из базы? • Форум: Программирование на PHP

Ответов: 6
Просмотров: 437
У меня из базы данных выводятся в браузер строки. Напротив каждой строки установлен чекбокс с именем $box[$i]. Пользователь отметив нужные ему строки и нажав на кнопку должен увидеть на экране только отмеченные строки. Проблема заключается в следующем: не знаю как составить для этого запрос, и как получить каждому отмеченному чекбоксу соответствующий идентификатор (id) строки в базе данных.
zlovred Отправлено: 04 Июля, 2008 - 10:47:40 • Тема: как в этом скрипте изменить запрос к mySQL? • Форум: Программирование на PHP

Ответов: 1
Просмотров: 212
Всем здравстсуйте.
Есть вот такой скрипт, который постранично выводит из базы информацию.
Все работает, но в запрос нужновнести два условия:
CODE (text):
скопировать код в буфер обмена
  1. where a='".$b."' and c>='".$d."'

а сам скрипт такой
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. //Создадим функцию page(), которая обрабатывает данные о запрошенном номере страницы:
  4. function page()
  5. {
  6.     if(empty($_GET["page"])){
  7.         $page = 0;
  8.     } else {
  9. if(!is_numeric($_GET["page"])) die("Неправильный формат номера страницы!");
  10.         $page = $_GET["page"];
  11.     }
  12.         return $page;
  13. }
  14. //Проверяет выбрана ли страница и если в ней присутствуют буквы,
  15. // то выводит сообщение об ошибке. Далее сделаем SQL-запрос:
  16. function sql_query($onpage, $page, $table)
  17. {
  18.     $begin = $page*$onpage; // откуда начинать
  19.         $sql = "SELECT * FROM '.$table.' LIMIT '.$begin.', '.$onpage.'";
  20.         $result = mysql_query($sql) or die(mysql_error());
  21.         return $result;
  22. }
  23. //Функция навигации:
  24. function navigation($onpage, $page, $table)
  25. {
  26.         $return = null;
  27.     $count = mysql_query("SELECT COUNT(*) FROM k") or die(mysql_error());
  28.         $count = mysql_fetch_array($count);
  29.         $count = $count[0];
  30.         $pages = $count/$onpage;
  31.         if($page!==0){
  32.             $prev = "<A HREF=\"?page=".($page-1)."\"><</A>";
  33.         } else {
  34.             $prev = "<";
  35.         }
  36.         if($page<round($pages-1)){
  37.             $next = "<A HREF=\"?page=".($page+1)."\">></A>";
  38.         } else {
  39.             $next = ">";
  40.         }
  41.         for($i=0;$i<$pages;$i++)
  42.         {
  43.             if($i==$page){
  44.                 $return.="[".($i+1)."]";
  45.             } else {
  46.                 $return.="<A HREF=\"?page=".$i."\">[".($i+1)."]</A>";
  47.             }
  48.         }
  49.         return $prev.$return.$next;
  50. }
  51. //С функциями покончили
  52. $onpage = 2; // записей на страницу
  53. $table = "k"; // из какой таблицы
  54. mysql_connect("localhost", "root", "") or die(mysql_error()); // коннект к БД
  55. mysql_select_db("houses"); // выбор БД
  56. $page = page(); // определяем страницу
  57. $result = sql_query($onpage, $page, $table); // sql - запрос
  58.             // далее идет вывод
  59. $navigation = navigation($onpage, $page, $table); // определим навигацию
  60. echo $navigation; // выведем навигацию
  61. mysql_close(); // отключение от БД
  62. ?>
  63.  
  64.  
zlovred Отправлено: 27 Июня, 2008 - 06:29:21 • Тема: использование переменных в нескольких скриптах • Форум: Программирование на PHP

Ответов: 1
Просмотров: 246
Нужно, чтобы значения некоторых переменных скрипта можно было использовать в другом скрипте. Подскажите как это лучше сделать. Можно например записывать их в базу данных, а потом считывать во втором скрипте и удалять после использования. Но я не знаю не возникнет ли с этим проблем, когда рессурсом будут пользоваться много людей?
zlovred Отправлено: 23 Июня, 2008 - 09:25:56 • Тема: htm форма в скрипте • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 37
Есть скрипт, который выводит инфу из базы mySQL.
Внутри цикла вывода находится htm форма, которая подключает второй скрипт(out_k2.php).
Напротив каждой строчки вывода размещен checkbox и кнопка в конце страницы.
CODE (text):
скопировать код в буфер обмена
  1.  
  2. while($data = mysql_fetch_array($result)) // цикл вывода
  3. {
  4.          // шаблон вывода
  5.         // $data["название_поля"] - содержание поля
  6.         echo '<form action="out_k2.php" method="post">';
  7.         echo "<TABLE BORDER=2>";
  8.         echo "<tr>";
  9.         echo "<td width=40px>";
  10.         //echo "checkbox";
  11.         echo "<INPUT TYPE=checkbox NAME=box[0] VALUE=0";
  12.         echo "</td>";
  13.         echo "<td width=45px>";
  14.         echo $data["id"];
  15.         echo "</td>";  
  16.         echo "</tr>";
  17.     echo "</table>";
  18.         echo "<form>";
  19.  
  20. }
  21. echo "<INPUT TYPE=submit VALUE=button1>";
  22.  


Как теперь изменить второй скрипт (out_k2.php), чтобы выводил только отмеченные чекбоксом строки?
И первый, чтобы вместо 0 в checkbox NAME=box[0] была переменная, увеличивающаяся на 1 с каждым прогоном цикла вывода?
CODE (text):
скопировать код в буфер обмена
  1.  
  2. $db=mysql_pconnect("localhost","root","");
  3. if (!$db)
  4. {echo "error: could not connect to database.";
  5. }
  6. mysql_select_db("base");
  7. $query="select * from k";
  8. $result=mysql_query ($query);
  9. $row = mysql_fetch_array($result);
  10. while ($row) {
  11.            echo "<TABLE BORDER=2>";
  12.                    echo "<tr>";
  13.                    echo "<td>";
  14.            echo htmlspecialchars(stripslashes($row["id"]));
  15.                    echo "</td>";
  16.                    echo "</tr>";
  17.                    echo "</table>";
  18.            $row = mysql_fetch_array($result);
  19. }              
  20.  
zlovred Отправлено: 20 Июня, 2008 - 04:18:32 • Тема: постраничный вывод контента из базы mySQL • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 136
Цитата:
я так же вывожу всегда. если нужно как то изощренно - можно сделать например так же только не выводить а в массив записать. и потом уже дергать значения из массива.

Спасибо, теперь все в норме
zlovred Отправлено: 18 Июня, 2008 - 12:48:12 • Тема: постраничный вывод контента из базы mySQL • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 136
Если есть другой вариант скрипта для постраничного вывода,
напишите.
Буду весьма признателенУлыбка
(Если получать $row перед выводом инфы, ситуация не меняется.
А сам по себе запрос без попытки организовать постраничный вывод работает)
zlovred Отправлено: 17 Июня, 2008 - 05:50:25 • Тема: постраничный вывод контента из базы mySQL • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 136
Есть вот такой вот скрипт.
Он должен постранично выводить данные из базы (теоретически).
Но выводятся только страницы 1 2 3..., а значения нет.
Подскажите, что нужно исправить.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. function link_bar($page, $pages_count)
  4. {
  5.    for ($j = 1; $j <= $pages_count; $j++)
  6.    {
  7.       // Вывод ссылки
  8.       if ($j == $page)
  9.       {
  10.          echo ' <a style="color: #808000;" ><b>'.$j.'</b></a> ';
  11.       }
  12.       else
  13.       {
  14.          echo ' <a style="color: #808000;" href='.$_SERVER['PHP_SELF'].'?page='.$j.'>'.$j.'</a> ';
  15.       }
  16.       // Выводим разделитель после ссылки, кроме последней
  17.       // например, вставить "|" между ссылками
  18.       if ($j != $pages_count)
  19.          echo ' ';
  20.    }
  21.    return true;
  22. } // Конец функции
  23.  
  24. //коннект к базе
  25. mysql_connect('localhost', 'root', '')
  26.    or die("Can't connect to Database. <br>MySQL answer: ".mysql_error());
  27. mysql_select_db('houses')
  28.    or die("Can't connect to Database. <br>MySQL answer: ".mysql_error());
  29.  
  30. $perpage = 1; // Количество отображаемых данных из БД
  31. if (empty($_GET['page']) || ($_GET['page'] <= 0))
  32. {
  33.    $page = 2;
  34. }
  35. else
  36. {
  37.    $page = (int) $_GET['page']; // Считывание текущей страницы
  38. }
  39. // Общее количество информации
  40. $count = mysql_numrows(mysql_query('SELECT * FROM k')) or die('Error! Записей не найдено!');
  41. $pages_count = ceil($count / $perpage); // Количество страниц
  42. // Если номер страницы оказался больше количества страниц
  43. if ($page > $pages_count)
  44.    $page = $pages_count;
  45. $start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
  46. // Вызов функции, для вывода ссылок на экран
  47. link_bar($page, $pages_count);
  48.  
  49. // Вывод информации из базы данных
  50. echo "<TABLE BORDER=2>";
  51. echo "<tr>";
  52. echo "<td>";
  53. echo "Номер объекта: ";
  54. echo htmlspecialchars(stripslashes($row["id"]));
  55. echo "</td>";
  56. echo "</tr>";
  57. echo "</table>";
  58. $result = mysql_query('SELECT * FROM k LIMIT '.$start_pos.', '.$perpage) or die('Error!');
  59. while ($row = mysql_fetch_array($result))
  60. {
  61.    echo '<p>'.$row['some_field'].'</p>';
  62. }
  63. ?>
  64.  

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB