PHP.SU

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

Страниц (81): В начало « ... 35 36 37 38 [39] 40 41 42 43 ... » В конец

> Найдено сообщений: 1209
evgenijj Отправлено: 12 Сентября, 2007 - 23:43:59 • Тема: Помогите разобраться • Форум: Программирование на PHP

Ответов: 10
Просмотров: 606
Andrey пишет:

Усложняю задачу.


Ты наши знания проверяешь? Улыбка
evgenijj Отправлено: 12 Сентября, 2007 - 23:04:00 • Тема: комбинация BEGIN-COMMIT на PHP5 • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 455
chaynyk пишет:
То есть, только в Мysqli?


Что ты дурные вопросы задаешь? Возьми да попробуй сделать с использованием mysql_query(). Потом расскажешь.
evgenijj Отправлено: 12 Сентября, 2007 - 21:24:25 • Тема: Ищу людей для разработки • Форум: FreeLance

Ответов: 11
Просмотров: 5471
Diesel Draft пишет:
Может кто то уже заметил что по моих последних вопросах на форуме что я интересуюсь очень этой технологией.


Ты не поверишь - не заметил. У тебя первый пост на этом форуме.

P.S. Блин, я понимаю, когда люди сами (по доброй воле) пишут что-нибудь (CMS, форум и п.т.) - для общего пользования или просто - для себя. Но раз ты говоришь о боссе, то речь идет о коммерческой фирме. У фирмы денег нет, чтобы заплатить программистам? Передай своему боссу - БОГ ПОДАСТ!
evgenijj Отправлено: 12 Сентября, 2007 - 19:18:20 • Тема: Помогитееееееее! • Форум: Корзина

Ответов: 2
Просмотров: 2503
Евгений пишет:
Блин проект горит помогите как переменную из одного файла использовать в другом PHP Файле!!!!!!!!!!!!!!!!!


Блин, тезка, не позорь имя...
evgenijj Отправлено: 12 Сентября, 2007 - 16:05:03 • Тема: меню на пхп • Форум: Программирование на PHP

Ответов: 10
Просмотров: 832
Ты что, русский язык совсем не понимаешь? Я тебе уже все разжевал.
Изображение кнопки формирует скрипт button.php. Он использует функцию
http://php.su/functions/?imagestring
Цитата:

imagestring - рисовать строку горизонтально.

int imagestring (resource image, int font, int x, int y, string s, int col)

imagestring() рисует строку s на изображении image с координатами x, y (верхний левый равен 0, 0) цветом col.Если font равен 1, 2, 3, 4 или 5, используется встроенный шрифт.


Я уже писал выше
Цитата:

По поводу русского языка. Встроенные шрифты не понимают кириллицу. Надо использовать TTF-шрифты (C:/Windows/fonts) и не забывать перекодировать текст в UTF-8
$text = iconv('windows-1251','UTF-8','Всем привет!');


Т.к. параметры для скрипта button.php передаются методом GET, то не забываем использовать функцию urlencode()
http://php.su/functions/?urlencode
PHP:
скопировать код в буфер обмена
  1.  
  2. $sub =  new menu('<img src="button.php?fg=666666&bg=eeeeee&txt='.urlencode("Моя кнопка").'" border="0" alt="Моя кнопка">', 'Моя кнопка');
  3.  
evgenijj Отправлено: 12 Сентября, 2007 - 11:20:45 • Тема: комбинация BEGIN-COMMIT на PHP5 • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 455
Таблица Customers
PHP:
скопировать код в буфер обмена
  1.  
  2.        ----------------------------------------------
  3.         CNUM  |  CNAME     | CITY    | RATING | SNUM
  4.        -------|------------|---------|--------|------
  5.         2001  |  Hoffman   | London  |   100  | 1001
  6.         2002  |  Giovanni  | Rome    |   200  | 1003
  7.         2003  |  Liu       | SanJose |   200  | 1002
  8.         2004  |  Grass     | Berlin  |   300  | 1002
  9.         2006  |  Clemens   | London  |   100  | 1001
  10.         2008  |  Cisneros  | SanJose |   300  | 1007
  11.         2007  |  Pereira   | Rome    |   100  | 1004
  12.        ----------------------------------------------
  13.  


PHP:
скопировать код в буфер обмена
  1.  
  2. mysqli_autocommit ( $connect, false );
  3. /*
  4. $query1 = "BEGIN;";
  5. $res1 = mysqli_query($connect, $query1);
  6. if ( !$res1 )
  7.   echo mysqli_error($connect)."<br/>";
  8. else
  9.   echo "Запрос ".$query1." выполнен успешно<br/>";
  10. */
  11. $query2 = "SELECT * FROM customers ORDER BY cnum ASC;";
  12. $res2 = mysqli_query($connect, $query2);
  13. if ( !$res2 )
  14.   echo mysqli_error($connect)."<br/>";
  15. else
  16.   echo "Запрос ".$query2." выполнен успешно<br/>";
  17. while ( $customer = mysqli_fetch_row($res2) )
  18. {
  19.   echo $customer[0]." ".$customer[1]."<br/>";
  20. }
  21. echo "<hr>";
  22.  
  23. $query3 = "DELETE FROM customers WHERE cnum>=2006;";
  24. $res3 = mysqli_query($connect, $query3);
  25. if ( !$res3 )
  26.   echo mysqli_error($connect)."<br/>";
  27. else
  28.   echo "Запрос ".$query3." выполнен успешно<br/>";
  29.  
  30. $query4 = "SELECT * FROM customers ORDER BY cname DESC;";
  31. $res4 = mysqli_query($connect, $query4);
  32. if ( !$res4 )
  33.   echo mysqli_error($connect)."<br/>";
  34. else
  35.   echo "Запрос ".$query4." выполнен успешно<br/>";
  36. while ( $customer = mysqli_fetch_row($res4) )
  37. {
  38.   echo $customer[0]." ".$customer[1]."<br/>";
  39. }
  40. echo "<hr>";
  41.  
  42. /*
  43. $query5 = "ROLLBACK;";
  44. $res5 = mysqli_query($connect, $query5);
  45. if ( !$res5 )
  46.   echo mysqli_error($connect)."<br/>";
  47. else
  48.   echo "Запрос ".$query5." выполнен успешно<br/>";
  49. */
  50.  
  51. mysqli_rollback( $connect );
  52. mysqli_autocommit ( $connect, true );
  53.  
  54. $query6 = "SELECT * FROM customers;";
  55. $res6 = mysqli_query($connect, $query6);
  56. if ( !$res6 )
  57.   echo mysqli_error($connect)."<br/>";
  58. else
  59.   echo "Запрос ".$query6." выполнен успешно<br/>";
  60. while ( $customer = mysqli_fetch_row($res6) )
  61. {
  62.   echo $customer[0]." ".$customer[1]."<br/>";
  63. }
  64.  

Результат
PHP:
скопировать код в буфер обмена
  1.  
  2. Запрос SELECT * FROM customers ORDER BY cnum ASC; выполнен успешно
  3. 2001 Hoffman
  4. 2002 Giovanni
  5. 2003 Liu
  6. 2004 Grass
  7. 2006 Clemens
  8. 2007 Pereira
  9. 2008 Cisneros
  10. --------------------------------------------------------------------------------------
  11. Запрос DELETE FROM customers WHERE cnum>=2006; выполнен успешно
  12. Запрос SELECT * FROM customers ORDER BY cname DESC; выполнен успешно
  13. 2003 Liu
  14. 2001 Hoffman
  15. 2004 Grass
  16. 2002 Giovanni
  17. --------------------------------------------------------------------------------------
  18. Запрос SELECT * FROM customers; выполнен успешно
  19. 2001 Hoffman
  20. 2002 Giovanni
  21. 2003 Liu
  22. 2004 Grass
  23. 2006 Clemens
  24. 2007 Pereira
  25. 2008 Cisneros
  26.  


Думаю, что мы неправильно подходим к решению. Если мы составим запрос
$query = "BEGIN; SELECT * FROM lkatal ORDER BY PARSCT_ID ASC; SELECT * FROM lkatal ORDER BY SCT_ORDER ASC; COMMIT;";
то как мы сможем обработать результат? Ведь здесь не один, а четыре результата. И функции mysql_result(), mysql_fetch_array() нам не помогут.

Надо запросы выполнять последовательно и сохранять их
PHP:
скопировать код в буфер обмена
  1.  
  2.  $query2 = "SELECT * FROM customers ORDER BY cnum ASC;";
  3.  $res2 = mysqli_query($connect, $query2);
  4.  while ( $customer = mysqli_fetch_row($res2) )  
  5.  {
  6.    $customers[] = customer;
  7.  }
  8. ...............................................................................................
  9. $query4 = "SELECT * FROM customers ORDER BY cname DESC;";
  10.  $res4 = mysqli_query($connect, $query4);
  11.  while ( $customer = mysqli_fetch_row($res4) )  
  12.  {
  13.    $customers[] = customer;
  14.  }
  15. ..................................................................
  16. foreach( $customers as $customer )
  17. {
  18.   ............................................................................................
  19. }
  20.  
evgenijj Отправлено: 11 Сентября, 2007 - 20:31:40 • Тема: JOIN • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 163
Это ты интересную тему затронул - объединения таблиц. Это таблицы БД из классической книги Грабера (она где-то есть на сайте http://php.su)
PHP:
скопировать код в буфер обмена
  1.  
  2. Таблица 1.4 Salespeople (Продавцы)
  3.  
  4.       ----------------------------------------------
  5.         SNUM  |   SNAME   |  CITY        |   COMM
  6.       --------|-----------|--------------|----------
  7.         1001  |  Peel     |  London      |    .12
  8.         1002  |  Serres   |  San Jose    |    .13
  9.         1004  |  Motika   |  London      |    .11
  10.         1007  |  Rifkin   |  Barcelona   |    .15
  11.         1003  |  Axelrod  |  New York    |    .10
  12.       ----------------------------------------------
  13.  
  14.  
  15. Таблица 1.5 Customers (Покупатели)
  16.  
  17.        ----------------------------------------------
  18.         CNUM  |  CNAME     | CITY    | RATING | SNUM
  19.        -------|------------|---------|--------|------
  20.         2001  |  Hoffman   | London  |   100  | 1001
  21.         2002  |  Giovanni  | Rome    |   200  | 1003
  22.         2003  |  Liu       | SanJose |   200  | 1002
  23.         2004  |  Grass     | Berlin  |   300  | 1002
  24.         2006  |  Clemens   | London  |   100  | 1001
  25.         2008  |  Cisneros  | SanJose |   300  | 1007
  26.         2007  |  Pereira   | Rome    |   100  | 1004
  27.        ----------------------------------------------
  28.  
  29. Таблица 1.6 Orders (Заказы)
  30.  
  31.        -----------------------------------------------
  32.         ONUM  |    AMT    |    ODATE    | CNUM | SNUM
  33.        -------|-----------|-------------|------|------
  34.         3001  |    18.69  |  10/03/1990 | 2008 | 1007
  35.         3003  |   767.19  |  10/03/1990 | 2001 | 1001
  36.         3002  |  1900.10  |  10/03/1990 | 2007 | 1004
  37.         3005  |  5160.45  |  10/03/1990 | 2003 | 1002
  38.         3006  |  1098.16  |  10/03/1990 | 2008 | 1007
  39.         3009  |  1713.23  |  10/04/1990 | 2002 | 1003
  40.         3007  |    75.75  |  10/04/1990 | 2004 | 1002
  41.         3008  |  4723.00  |  10/05/1990 | 2006 | 1001
  42.         3010  |  1309.95  |  10/06/1990 | 2004 | 1002
  43.         3011  |  9891.88  |  10/06/1990 | 2006 | 1001
  44.        -----------------------------------------------
  45.  

Пусть, нам надо выбрать заказы всех продавцов с указанием уникального идентификатора продавца, его имени, суммы заказа и даты заказа (т.е. данные мы должны брать из двух таблиц)
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT a.snum, a.sname, b.amt, b.odate
  3. FROM Salespeople a, Orders b
  4. WHERE a.snum=b.snum
  5.  

Это устаревший синтаксис. Лучше так
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT a.snum, a.sname, b.amt, b.odate
  3. FROM Salespeople a INNER JOIN Orders b
  4. ON a.snum=b.snum
  5.  

А можно еще и так
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT a.snum, a.sname, b.amt, b.odate
  3. FROM Salespeople a INNER JOIN Orders b
  4. USING (snum)
  5.  

(про NATURAL JOIN я не буду рассказывать, дабы не смутить тебя окончательно).
Это внутреннее объединение таблиц. Если мы не будем использовать условие (WHERE, ON, USING), то получим так называемое "декартово произведение" - это когда каждая строка первой таблицы соединяется с каждой строкой второй таблицы.

А теперь - внешние объединения. Они бывают трех видов
* LEFT OUTER JOIN
* RIGHT OUTER JOIN
* FULL OUTER JOIN

Пусть нам нужно получить имена всех клиентов (покупателей), и заказы, которые они сделали. Причем, в результат нужно включить и тех клиентов, которые еще не сделали ни одного заказа (в наше БД их нет, но вообще, они могут быть):
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT a.cnum, a.cname, b.amt, b.odate
  3. Customers a LEFT OUTER JOIN Orders b
  4. ON a.cnum=b.cnum
  5.  


В отличие от внутренних объединений, внешние объединения включают в результат также строки, не имеющие связанных с ними строк.

Про RIGHT OUTER JOIN рассказывать не буду - т.к. это, практически, не отличается от LEFT OUTER JOIN.

Полное внешнее объединение (FULL OUTER JOIN) извлекает все строки из обеих таблиц и связывает между собой те, которые могут быть связаны. В отличие от левого внешнего и правого внешнего объединений, которые включают в результат несвязанные строки только из одной таблицы, полное внешнее объединение включает в результат несвязанные строки из обеих таблиц.
evgenijj Отправлено: 11 Сентября, 2007 - 16:55:28 • Тема: помогите с РНР + HTML • Форум: Программирование на PHP

Ответов: 4
Просмотров: 306
svyazizt пишет:
хм.... а можно передалать тот код и написать как это все выдет, а то я не оч понимаю на словах....
как мне в неё значения вбивать потом?

Таблица в HTML выглядит так
PHP:
скопировать код в буфер обмена
  1.  
  2. <table>
  3. <tr>
  4.   <th> Ячейка 11 </th>
  5.   <th> Ячейка 12 </th>
  6.   <th> Ячейка 13 </th>
  7. </tr>
  8. <tr>
  9.   <td> Ячейка 21 </td>
  10.   <td> Ячейка 22 </td>
  11.   <td> Ячейка 23 </td>
  12. </tr>
  13. <tr>
  14.   <td> Ячейка 31 </td>
  15.   <td> Ячейка 32 </td>
  16.   <td> Ячейка 33 </td>
  17. </tr>
  18. <tr>
  19.   <td> Ячейка 41 </td>
  20.   <td> Ячейка 42 </td>  
  21.   <td> Ячейка 43 </td>
  22. </tr>
  23. </table>
  24.  


Соответственно, вот это выводишь до начала цикла
PHP:
скопировать код в буфер обмена
  1.  
  2. <table>
  3. <tr>
  4.   <th> Ячейка 11 </th>
  5.   <th> Ячейка 12 </th>
  6.   <th> Ячейка 13 </th>
  7. </tr>
  8.  


Вот это - после цикла


А все остальное - в цикле

Если это непонятно - сделай так, как сам сначала написал, а потом посмотри HTML, который сформирует твой скрипт (в MS IE Вид->Просмотр HTML-кода)
evgenijj Отправлено: 11 Сентября, 2007 - 10:13:14 • Тема: Падает java приложение под апачем • Форум: Apache и другие веб-серверы

Ответов: 2
Просмотров: 368
Ты, случаем, форумом не ошибся?

http://xpoint[dot]ru/forums/internet[dot][dot][dot]ache/forum[dot]xhtml
http://apachedev[dot]ru/forum/
http://www[dot]opennet[dot]ru/cgi-bin/op[dot][dot][dot]m/vsluhboard[dot]cgi
http://www[dot]jboss[dot]ru/jboss_ru/ser[dot][dot][dot]mp;zgroup_id=745

У нас здесь в общем-то узкоспециализированный форум - PHP+MySQL
evgenijj Отправлено: 11 Сентября, 2007 - 09:19:39 • Тема: комбинация BEGIN-COMMIT на PHP5 • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 455
Мне думается, это потому, что команды SQL должны отделяться друг от друга ; (точка с запятой)
$query = "BEGIN; SELECT * FROM lkatal ORDER BY PARSCT_ID ASC; SELECT * FROM lkatal ORDER BY SCT_ORDER ASC; COMMIT;";
evgenijj Отправлено: 11 Сентября, 2007 - 09:05:24 • Тема: Помогите разобраться • Форум: Программирование на PHP

Ответов: 10
Просмотров: 606
Все правильно. Когда ты формируешь первую страницу результатов поиска, то тебе доступны данные из формы, которую заполнил и отправил пользователь ($_POST["artorname"]). Но на остальных-то страницах результата поиска переменная $_POST["artorname"] не определена. Т.е. твое условие поиска в БД LIKE '' (undefined трактуется в данном контексте как пустая строка) - найти нечто, похоже на пустую строку.

Решение - использовать сессии $_SESSION["artorname"] = $_POST["artorname"]. Или, как предлагает valenok, передавать строку поискового запроса методом GET:
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( isset( $_POST["artorname"] )  )
  3.   $artorname=mysql_escape_string(stripslashes($_POST['artorname']));
  4. else
  5.   $artorname=mysql_escape_string(stripslashes($_GET['artorname']));
  6. ....................................
  7. print '<a href="?page='.$i.'&artorname='.$artorname.'"> ['.$i.']</a>  ';
  8.  
evgenijj Отправлено: 10 Сентября, 2007 - 23:25:58 • Тема: меню на пхп • Форум: Программирование на PHP

Ответов: 10
Просмотров: 832
У меня тоже не работает.

По поводу русского языка. Встроенные шрифты не понимают кириллицу. Надо использовать TTF-шрифты (C:/Windows/fonts) и не забывать перекодировать текст в UTF-8
$text = iconv('windows-1251','UTF-8','Всем привет!');

http://php5[dot]ru/articles/image


evgenijj Отправлено: 10 Сентября, 2007 - 20:29:18 • Тема: Скрипт для чтения файлов MS Excel • Форум: Пользовательские функции

Ответов: 1
Просмотров: 324
Из файла readme.txt
Цитата:

Вам нужен скрипт, который может читать MS файлы Excel и
сохранять данные в базе данных, HTML страницах и и т.д.? Вы хотите
делать это используя PHP под Unix и Linux, но без того, чтобы использовать
инструментальные средства Windows напоподобии COM? Тогда
PHP Excel PARSER - для Вас. Все, в чем Вы будете нуждаться
- это только наш excel.php и PHP сервер без установки дополнительных
инструментальных средств.
evgenijj Отправлено: 10 Сентября, 2007 - 20:12:29 • Тема: Проблема с форумом. • Форум: Прочее

Ответов: 26
Просмотров: 673
valenok пишет:

А вообще я свой собирался писать


Вот ведь парадокс - готовых скриптов много - а понадобится, приходится самому писать.

Я попробовал как-то поставить PHPBB - вроде все хорошо. Пока не поставил расширение (чтобы исходные коды (php, css, html и т.п.) подсвечивать). Все сделал по инструкции (благо все подробненько - вот в этом файле после такой-то строки вставить вот эти строки и т.п.). А подсветка толком так и не работает. Я уже напильником доводил - стало лучше, но не намного.

Как в том анекдоте - "после сборки обработать напильником". То ли мне так не везет, то ли общая тенденция - не получается использовать готовые скрипты сразу - почти всегда приходится что-то доделывать. А когда начинаешь доделывать - порой оказывается, что проще самому написать. Нет?

Вот и с нашим форумом глюки капитальные - ну что это за форум для программистов, где псевдотеги [php] работают через пень колоду. А когда я работаю с форумом как модератор, и пытаюсь написать что-то вроде этого:
< input type="text" name="name" value="value" />
вылезает элемент формы input

Цитата:

Если поможет - могу скинуть скрин.

И скин выкладывай, но главное - html страницы. MS IE - он вообще, "себе на уме". Посмотрим, может где "костылик" подставить. Вопрос в том, сможешь ли ты самостоятельно внести изменения, даже если мы здесь решение найдем?
evgenijj Отправлено: 07 Сентября, 2007 - 19:46:15 • Тема: Написание чата • Форум: Программирование на PHP

Ответов: 46
Просмотров: 2678
Zeta-johns пишет:

valenok пишет:
А как так вышло что ты "понимаешь что она просто необходима после header" ?

а вы всегда даете пищу для размышления в таком тоне?

Люди не хотят думать. И это печально. Я ведь в свое время тоже задался вопросом - а что происходит в скрипте после отправки заголовка Location?

Только я провел опыт - будет ли сценарий продолжать работу после отправки этого заголовка? Я считал, что должен. Так и оказалось. А потом я сел и подумал - а могут ли быть случаи, когда мне нужно, чтобы сценарий продолжал работать после отправки заголовка Location? И после недолгих размышлений пришел к выводу - редко, но такое возможно. В отдельных случаях, это даже весьма удобно.

Что я этим хочу сказать? Часто ответ на свой вопрос можно получить, просто подумав над проблемой. Свои выводы можно проверить или опровергнуть простым опытом. valenok пытается эту простую мысль донести до широкой общественности.

Страниц (81): В начало « ... 35 36 37 38 [39] 40 41 42 43 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB