PHP.SU

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

Страниц (17): В начало « ... 9 10 11 12 13 14 15 16 [17]

> Найдено сообщений: 254
Medallion Отправлено: 19 Мая, 2012 - 09:13:06 • Тема: Метод передачи данных GET • Форум: Если скрипт не работает

Ответов: 7
Просмотров: 1917
PHP:
скопировать код в буфер обмена
  1.  
  2. $page = mysql_query("SELECT * FROM page");
  3.  while($ref = mysql_fetch_array($page)) {
  4.                 if($ref['include'] >= 1) {
  5.                         if(isset($_GET['page']) && !empty($_GET['page'])) {
  6.                                 switch($_GET['page']) {
  7.                                         case $ref['name']:
  8.                                         $ref = file_get_contents($ref['path']);
  9.                                         break;
  10.                                 }
  11.                         }
  12.                        
  13.                         else {
  14.                         $ref = file_get_contents('index.php');
  15.                         }
  16.                 }
  17.  
  18.                 else {
  19.                         echo "ERROR";
  20.                 }
  21. }
  22.  


Для начала, нужно форматировать верно, чтобы разобраться. А теперь по скрипту. Что он должен делать, какие действия показывать, опиши процесс по-этапно?!
Medallion Отправлено: 19 Мая, 2012 - 08:54:39 • Тема: Строковые значения • Форум: Вопросы новичков

Ответов: 15
Просмотров: 575
Та не за что, это мой вариант, и он может быть не самый простой,
а вариантов, как ты знаешь, бывает много.
Удачи и тебе!
Medallion Отправлено: 19 Мая, 2012 - 08:48:54 • Тема: Строковые значения • Форум: Вопросы новичков

Ответов: 15
Просмотров: 575
Если поставишь в выборке LIMIT 10. Будет выполняться 10 раз.
А в UPDATE LIMIT не к чему, так как всё равно цикл пройдет 10 раз и остановиться, вроде бы так.
Medallion Отправлено: 19 Мая, 2012 - 08:41:20 • Тема: Строковые значения • Форум: Вопросы новичков

Ответов: 15
Просмотров: 575
Как-то так, я поместил SQL-запросы в тело цикла, и вроде бы получилось, то что ты хочешь.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. $result_android_games = mysql_query("SELECT nid FROM node WHERE type = 'android_games' AND status = 0 LIMIT 5");
  4. while($row_android_games = mysql_fetch_assoc($result_android_games))
  5. {
  6. $nids = $row_android_games['nid'];
  7. mysql_query("UPDATE node SET status = 1 WHERE nid='$nids' AND status = 0 LIMIT 5");
  8. mysql_query("UPDATE node_revision SET status = 1 WHERE nid='$nids' AND status = 0 LIMIT 5");
  9. }
  10.  
  11.  
Medallion Отправлено: 19 Мая, 2012 - 08:14:24 • Тема: Строковые значения • Форум: Вопросы новичков

Ответов: 15
Просмотров: 575
Чтобы изменить просто статус, не нужно выбирать, а сразу обновить
таким вот запросом.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. mysql_query("UPDATE node SET status = 1 WHERE type = 'android_games' AND status = 0 LIMIT 5");
  3.  
Medallion Отправлено: 19 Мая, 2012 - 08:11:53 • Тема: Строковые значения • Форум: Вопросы новичков

Ответов: 15
Просмотров: 575
Какие действие конкретно! По-этапно опиши, что хочешь организовать.

Просто поменять статус с 0 на 1, где type = 'android_games'
или же, произвести выборку полей,
изменить их и обновить. Какие действия?!
Medallion Отправлено: 19 Мая, 2012 - 00:36:21 • Тема: Текст выходит за рамки • Форум: Программирование на PHP

Ответов: 2
Просмотров: 742
Я, конечно не в тему, и ты наверно знаешь, но всё же
Спрятать, с помощью CSS-правила overflow: hidden;
оставшейся текст за пределами дива.
Medallion Отправлено: 18 Мая, 2012 - 23:08:56 • Тема: Привычки & Навыки & Ракурс эффективного программирования • Форум: Программирование на PHP

Ответов: 1
Просмотров: 432
Здравствуйте программисты и другие воины это доблестного форума.
Суть вопроса такова: Расскажите про ваши подвиги, против лени и прочего кощунства,
о том, какие навыки вы приобрели, что посоветуете для новеньких с вопросом:
А что это, а как это делать?! Или что нужно знать, чтобы повторять ошибки, именно повторять, ведь программист, если не видит ошибку, он ведь быстро, не разберется, что где и как.
Ваши советы, наработки, и как вы докатились до такой жизни)

Начну с себя, ламера и лентяя. А вы судите, что хорошо, а что плохо.
Поехали...


1. Форматирование кода
Первые азы, при изучении HTML; да не буду, не нужно, и так мне понятно.
Чуть далее: Чёс затылка, с вытаращенными глазами.

При изучении CSS. Хорошо, это подвинуть, нажать TAB, здесь пробел,
очень хорошо, О как красиво.

При изучении PHP. Фигурную скобку здесь, фигурную скобку там, о бл..ь,
откуда третья взялась?!

И теперь немного кода:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!--HTML-->
  3. <!DOCTYPE HTML>
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  7. <title>Главная</title>
  8. </head>
  9.  
  10. <body>
  11.         <div id="wrapper">
  12.                
  13.                 <div id="header">
  14.                        
  15.                         <div id="logo">
  16.                                 <a href="/"><img src="img/fon.png" width="50" height="50"></a>
  17.                         </div><!--logo-->
  18.                        
  19.                         <div id="title">
  20.                                 <h1>Название сайта</h1>
  21.                         </div><!--title-->
  22.                        
  23.                         <div id="g_menu">
  24.                                 <ul>
  25.                                         <li>Главная</li>
  26.                                         <li>Новости</li>
  27.                                         <li>Обратная связь</li>
  28.                                 </ul>
  29.                         </div><!--g_menu-->
  30.                 </div><!--header-->
  31.                
  32.                 <div id="content">
  33.                
  34.                         <div id="left_bar">
  35.                                 <ul>
  36.                                         <li>Главная</li>
  37.                                         <li>Новости</li>
  38.                                         <li>Обратная связь</li>
  39.                                 </ul>
  40.                         </div><!--left_bar-->
  41.                        
  42.                         <div id="centr_bar">
  43.                                 <h2>Первое меню</h2>
  44.                                 <p>Контент</p>
  45.                         </div><!--centr_bar-->
  46.                        
  47.                         <div id="right_bar">
  48.                                 <ul>
  49.                                         <li>Главная</li>
  50.                                         <li>Новости</li>
  51.                                         <li>Обратная связь</li>
  52.                                 </ul>
  53.                         </div><!--right_bar-->
  54.                 </div><!--content-->
  55.                
  56.                 <div id="footer">
  57.                         Все права защищены &copy;test.ua
  58.                 </div><!--footer-->
  59.         </div><!--wrapper-->
  60. </body>
  61. </html>
  62.  


Как видите с примера выше, код тщательно отформатирован, для нормально визуального воздействия. Каждый div-блок имеет закрывающий блок с комментарием идентификатора этого блока, что даёт визуально понять, где начинается блок и заканчивается. Между блоками существуют отступы, что тоже наглядно обеспечивает читабельность кода, и естественно применена табуляция. Где понятно, где родитель-элемент, а где дочерний элемент.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. body {
  3.         background: #eee;
  4. }
  5.  
  6. /*Javascript*/
  7. while(i <= 50) {
  8.         document.write(i + '<br>');
  9.         i++; // увеличение счетчика на 1
  10. }
  11.  
  12. if(a == 1) {
  13.         document.wtite('Работает');
  14. }
  15.  
  16. /*PHP*/
  17. while($i <= 50) {
  18.         echo $i.'<br>';
  19.         i++; // увеличение счетчика на 1
  20. }
  21.  
  22. class New {
  23.        
  24.         function __construct() {
  25.         }
  26.        
  27.         function __destruct() {
  28.         }
  29. }
  30.  

Как из примера выше видно, я форматирую фигурные скобки { }, везде одинаково, что удобно и привычно.

А не так, как раньше
if(a == 1)
{
document.wtite('Работает');
}

Бывает конечно, что if проверку пишу в одну строчку, вместе с фигурными скобками, если код проверки и действий слишком мал. Например.
if(a == 1) {document.wtite('Работает');}

CSS
Есть такая привычка ставить после определения правила пробел.

PHP & Javascript
Также привычка ставить, после запятой пробел. В SQL-запросе, в массивах и т.п.

Наглядно отделять код, например:
$myrow_data = array(
'otp' => 'Пошивай',
'ves' => '15кг',
'obiem' => '0.09',
'mesta' => '38'
);

Тоесть, каждая строчка, индекс массива и значение.

Например, SQL-запрос

$sql = "INSERT INTO $table
(id, title, main)
VALUES
('$id', '$title', '$main')";

Ладно, хватит. Поехали далее...

2. Комментирование кода.
Очень важный аспект в программировании, я считаю.
Изначально при изучении любого языка, комментировать код, нужно настолько,
чтобы понимать, что делает эта строка, что эта и т.д.
Далее...
Комментировать, нужно по-блочно. Этот код, выводит горизонтальное меню,
этот блок выводит список фирм, и так далее. Тоесть, при прочтении комментария,
явно становится понятно, что этот код делает.
И третий вариант, комментировать нужно настолько, насколько это должно быть
понятным тебе и другим программистам, коддерам.

Примеры комментариев)
<!--HTML--> однострочный
/*CSS*/ многострочный
//javascript однострочный
/*javascript */ многострочный
//PHP однострочный
#PHP однострочный
/*PHP*/ многострочный


Далее...

3. Явные имена в названиях, явно английскими литерами)
Любые переменные, константы, функции, классы, и имена файлов,
я называю своими именами. Незнаю, перевода!, лезу в онлайн-переводчик
и перевожу. Я не использую, транслитерацию с русского языка, по-крайней мере,
ранее я использовал, но сейчас, я приучил себя к этому,
давать явные имена, отображающие смысл, и точка.

А теперь, немного лирики. Я хватаю, понемногу практику, то там, то там. То в Javascript,
полез, то в PHP. Немного CSS, немного Photoshop. Очень мало времени.
Это наверно, моё хобби - ИТ.
Люблю экспериментировать. Беру простенький чужой скрипт, делаю с самого ноля почти тоже, меняю, практикую, и действия запоминаются, потом пишется из головы...

Что я хотел, ещё разобрать.
Как я подключаюсь к базе данных.
У меня есть файл в директории сайта(DENWER XD)
Называется, db_connect.php
В этом файле функция db_connect()
PHP:
скопировать код в буфер обмена
  1.  
  2. # Функция подключения к базе
  3. function db_connect() {
  4.         $db = mysql_connect(
  5.                 'localhost',                    // сервер
  6.                 'login',                        // логин
  7.                 'pass'                  // пароль
  8.                 );
  9.         $result = mysql_select_db(
  10.                 'name_database',        // имя базы данных
  11.                 $db
  12.                 );
  13.        
  14.         // Кодировка
  15.         mysql_query ("SET NAMES utf8");
  16.         mysql_query ("set character_set_client='utf8'");
  17.         mysql_query ("set character_set_results='utf8'");
  18.         mysql_query ("set collation_connection='utf8_general_ci'");
  19. }
  20. #################
  21.  


В PHP-коде, когда я делаю проверку if на существование
переменных, а далее в теле запрос к базе данных, то я делаю например так:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($alpha) && $alpha == 1) {
  3.         include('db_connect.php');
  4.         db_connect();
  5.         // SQL-запрос
  6.         // другие действия, вывод, return b т.д.
  7.         mysql_close();
  8. }
  9.  

Может, я неправильно делаю, в понятиях оптимизации, потому что при каждом
запросе я нагружаю сервер MYSQL, наверное. Но, я думаю, такой подход, обезопасит
от SQL-инъекций из адресной строки браузера. Может, я и неправ, поправьте меня.

Далее...

Кто-то же, открывал когда-нибудь исходный код Яндекса. Весь код в одну строчку.
Я, думал, как они это делают. Сначала думал, срезают регулярками, но потом понял,
что строка создается при построении. Какой CGI-язык они используют, я незнаю.
Однажды, я начал изучать функции PHP. И при моих экспериментах, я научился выводить в одну строку. Вот пример index.php
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. include('function.php');
  4.         //tech_work();          // Технические работы
  5.         html();                // Основная страница
  6. ?>
  7.  


Как видно, в теле index.php всего лишь один include и 2 функции.
Первая, комментированная функция, это страница которая показывается пользователям,
когда сайт на тех. работах
А вторая, сама главная страница для вывода.
Ясно же ведь, чтобы показать, тех.работы функцию tech_work() нужно раскомментировать, а функцию html() закомментировать.

А теперь посмотрим файл функций:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.  
  4. # Страница ошибки или "Ведутся технические работы!"
  5. function tech_work() {
  6.         echo '<!DOCTYPE HTML>';
  7.         echo '<html>';
  8.         echo '<head>';
  9.         echo '<link rel="icon" type="image/vnd.microsoft.icon" href="path-to/favicon.ico">';
  10.         echo '<link rel="SHORTCUT ICON" href="path-to/favicon.ico">';
  11.         echo '<noscript><meta http-equiv="refresh" content="0; URL=/bad_client.php"></noscript>';
  12.         echo '<title>Технические работы</title>';
  13.         echo '</head>';
  14.        
  15.         echo '<body>';
  16.         echo 'Ведутся технические работы';
  17.         echo '</body>';
  18.         echo '</html>';
  19. }
  20.  
  21. # Основная страница
  22. function html() {
  23.        
  24.         # Мета-теги
  25.         function meta() {
  26.                 echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
  27.                 echo '<meta http-equiv="Pragma" content="no-cache">';
  28.                 echo '<meta name="revisit-after" content="4 days">';
  29.                 echo '<meta name="robots" content="all">';
  30.         }
  31.         ////////////////////
  32.        
  33.         # CSS-файлы
  34.         function css() {
  35.                 echo '<link href="main.css" rel="stylesheet" type="text/css">';                         // main.css
  36.                 echo '<link href="css/header.css" rel="stylesheet" type="text/css">';           // header.css
  37.                 echo '<link href="css/g_menu.css" rel="stylesheet" type="text/css">';           // g_menu.css
  38.                 echo '<link href="css/left_bar.css" rel="stylesheet" type="text/css">';         // left_bar.css
  39.                 echo '<link href="css/centr_bar.css" rel="stylesheet" type="text/css">';        // centr_bar.css
  40.                 echo '<link href="css/right_bar.css" rel="stylesheet" type="text/css">';        // right_bar.css
  41.                 echo '<link href="css/footer.css" rel="stylesheet" type="text/css">';           // footer.css
  42.         }
  43.         ////////////////////
  44.        
  45.         # JS-файлы
  46.         function js() {
  47.         }
  48.         ////////////////////
  49.        
  50.         # Header
  51.         function headeri() {
  52.                 echo '<div id="header">';
  53.                         include('header.php');
  54.                                 logo();
  55.                                 head_cont();
  56.                                 g_menu();
  57.                 echo '</div><!--header-->';
  58.         }
  59.         ////////////////////
  60.        
  61.         # Content
  62.         function content() {
  63.                 echo '<div id="content" style="visibility: visible !important">';
  64.                         echo '<div id="left_bar">';             // Левый бар
  65.                                 include('left_bar.php');
  66.                                 city();
  67.                         echo '</div><!--left_bar-->';
  68.                        
  69.                         echo '<div id="centr_bar">';    // Центральный бар
  70.                                 include('centr_bar.php');
  71.                                 feed_p();
  72.                                 comments_p();
  73.                         echo '</div><!--centr_bar-->';
  74.                        
  75.                         echo '<div id="right_bar">';    // Правый бар
  76.                                 include('right_bar.php');
  77.                                 ksd();
  78.                         echo '</div><!--right_bar-->';
  79.                 echo '</div><!--content-->';
  80.         }
  81.         ////////////////////
  82.        
  83.         # Footer
  84.         function footer() {
  85.                 echo '<div id="footer">';
  86.                         include('footer.php');
  87.                 echo '</div><!--footer-->';
  88.         }
  89.         ////////////////////
  90.        
  91.         # HTML
  92.         echo '<!DOCTYPE HTML>';
  93.         echo '<html>';
  94.         echo '<head>';
  95.         echo '<link rel="icon" type="image/vnd.microsoft.icon" href="path-to/favicon.ico">';
  96.         echo '<link rel="SHORTCUT ICON" href="path-to/favicon.ico">';
  97.                 meta();
  98.                 css();
  99.         echo '<noscript><meta http-equiv="refresh" content="0; URL=/bad_client.php"></noscript>';
  100.         echo '<title>Тестинг</title>';
  101.        
  102.         echo '</head>';
  103.        
  104.         echo '<body>';
  105.         echo '<div id="main_1">';
  106.         echo '</div><!--main_1-->';
  107.        
  108.         echo '<div id="main_2">';
  109.                 echo '<div id="wr">';
  110.                         headeri();
  111.                         content();
  112.                         footer();
  113.                 echo '</div><!--wr-->';
  114.         echo '</div><!--main_2-->';
  115.         echo '</body>';
  116.         echo '</html>';
  117. }
  118.  
  119. ?>
  120.  


Не буду, комментировать этот набор функций. Хочу спросить, а правильно ли это.
Не нагружу я сервер, множеством операторов echo, их число, конечно можно уменьшить, но всё-таки, как вам такой подход, и в исходнике, всё потом в одной строчке, как в Яндексе...

Гуру PHP и не сильные гуру PHP, оставляйте свои рекомендации, советы, наработки, чтобы позволило повысить уровень PHP-знаний.
На этом вроде бы всё!
Спасибо за прочитанное, жду ваших советов!
Medallion Отправлено: 18 Мая, 2012 - 20:34:23 • Тема: Отмена действия float • Форум: HTML, Дизайн & CSS

Ответов: 11
Просмотров: 6646
Вот мой вариант, как тебя я понял. Возможно по стилям, я что-то лишнее написал,
но вот я предлагаю свой код.Я правильно понял, так ты хотел расформировать блоки?!
Я хоть форматирую код нормально, читабельный)

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE HTML>
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  6. <title>Образец</title>
  7.  
  8. <style>
  9.  
  10. * {
  11.         margin: 0;
  12.         padding: 0;
  13. }
  14.  
  15. html,body,#wrapper,#top {
  16.         height: 100%;
  17.         width: 100%;
  18. }
  19.  
  20. #wrapper {
  21.         min-height: 100%;
  22. }
  23.  
  24. #left {
  25.         float: left;
  26.         height: 500px;
  27.         width: 10%;
  28.         background: #eee;
  29. }
  30.  
  31. #right {
  32.         float: right;
  33.         height: auto;
  34.         width: 90%;
  35.         background: #ffc;
  36. }
  37.  
  38.  
  39. #left > ul {
  40.         margin: 10px;
  41.         list-style: none;
  42. }
  43.  
  44. #top {
  45.         height: 40px;
  46.         clear: both;
  47. }
  48.  
  49. #right #top > ul {
  50.         margin: 10px;
  51.         list-style: none;
  52.         clear: both;
  53. }
  54.  
  55. #top ul > li {
  56.         float: left;
  57.         margin-left: 10px;
  58.         display: block;
  59. }
  60.  
  61. div.content {
  62.         height: auto;
  63.         background: #fef;
  64.         border-top: 1px solid green;
  65.         clear: both;
  66. }
  67.  
  68. ul.left {
  69.         float: left;
  70.         padding: 20px;
  71.         list-style: none;
  72.         background: #fca;
  73. }
  74.  
  75. ul.right {
  76.         float: right;
  77.         padding: 20px;
  78.         list-style: none;
  79.         background: #fca;
  80. }
  81.  
  82.  
  83. </style>
  84. </head>
  85.  
  86. <body>
  87.         <div id="wrapper">
  88.        
  89.                 <div id="left">
  90.                         <ul>
  91.                                 <li>One</li>
  92.                                 <li>Two</li>
  93.                                 <li>Three</li>
  94.                                 <li>Four</li>
  95.                                 <li>Five</li>
  96.                         </ul>
  97.                 </div><!--left-->
  98.                
  99.                 <div id="right">
  100.                
  101.                         <div id="top">
  102.                         <ul>
  103.                                 <li>One</li>
  104.                                 <li>Two</li>
  105.                                 <li>Three</li>
  106.                                 <li>Four</li>
  107.                                 <li>Five</li>
  108.                         </ul>
  109.                         </div><!--top-->
  110.                                
  111.                         <div class="content">
  112.                                 <ul class="left">
  113.                                         <li>One</li>
  114.                                         <li>Two</li>
  115.                                         <li>Three</li>
  116.                                         <li>Four</li>
  117.                                         <li>Five</li>
  118.                                 </ul>
  119.                                
  120.                                 <ul class="right">
  121.                                         <li>One</li>
  122.                                         <li>Two</li>
  123.                                         <li>Three</li>
  124.                                         <li>Four</li>
  125.                                         <li>Five</li>
  126.                                 </ul>
  127.                         </div><!--content-->
  128.                        
  129.                         <div class="content">
  130.                                 <ul class="left" style="background: #aca;">
  131.                                         <li>One</li>
  132.                                         <li>Two</li>
  133.                                         <li>Three</li>
  134.                                         <li>Four</li>
  135.                                         <li>Five</li>
  136.                                 </ul>
  137.                                
  138.                                 <ul class="right" style="background: #aee;">
  139.                                         <li>One</li>
  140.                                         <li>Two</li>
  141.                                         <li>Three</li>
  142.                                         <li>Four</li>
  143.                                         <li>Five</li>
  144.                                 </ul>
  145.                         </div><!--content-->
  146.                 </div><!--right-->
  147.         </div><!--wrapper-->
  148. </body>
  149.  
  150. </html>
  151.  
Medallion Отправлено: 17 Мая, 2012 - 07:56:06 • Тема: Как установить принтер в программирование? • Форум: Вопросы новичков

Ответов: 27
Просмотров: 866
Они с тебя издеваются -)
PHP - язык, который выполняется на сервере.
Если хочешь печатать дома с принтера, именно с браузера, учи Javascript или же создавай свою рабочую программу с помощью DELPHI например, не затрагивая WEB-программирование.

Как я понимаю, в PHP 1. есть возможность работы с графикой 2. есть расширения PHP для работы в Microsoft Word и Exel.
Составлять из данных таблицы, и отправлять потом на принтер.
Medallion Отправлено: 16 Мая, 2012 - 21:45:11 • Тема: ИДЕЯ или бред. • Форум: Работа с СУБД

Ответов: 9
Просмотров: 1904
Извиняюсь, что выразился неправильно. Я хотел, сказать, про то, что нужно самому учиться создавать скрипты, решать, думать, а не взять готовый продукт, поставить, приложив минимум усилий, но незная из чего он себя представляет. А уж потом, брать готовые решения, и смотреть "какие классные штучки". Писали по поводу Апача и PHP, я уже не до такой степени дурак, я понимаю, что программа создает программу. Всё равно потом все программы, подпрограммы это ноли и единицы.

И как писал Лимон, да, хорошо писать при обучении, и я буду писать. А вот битву экстрасенсов, не смотри, это хорошо написанный сценарий, и вообще телевизор - это плешь.
Medallion Отправлено: 16 Мая, 2012 - 19:40:26 • Тема: ИДЕЯ или бред. • Форум: Работа с СУБД

Ответов: 9
Просмотров: 1904
Я не спорю, что ООП лучше, это гораздо лучше!!! Можно курсировать кодом как хочешь, но я пока остановлюсь на стандарте. Я задумал - я сделаю; и я буду изобретать свой велосипед, пусть и с квадратными колесами, пусть даже и с треугольными, но мне главное опыт, самореализация задуманного, практика. Я хочу понимать, как устроен код, что делает, каждый элемент в коде. Ведь программист, - это тот кто программирует, а не использует готовые решения, написанные другими программистами. Да, можно взять готовое решение, разобраться в нём, прикрутить там к своему сайту, РАБОТАЕТ ВЕДЬ! - нет, это не программист, это пользователь, он пользуется готовым решением.
Я, хочу создавать своё, родимое, хотя как скажут, где оно твоё, это давно изобрели, всё верно! но я хоть буду знать, что я не смотрел на решение, а решал и думал. И, кстати, практика всегда, запоминается лучше. Зато потом, в далёком будущем,
после конца света 2012, за неуплату!, я буду программировать с закрытыми глазами, быть может)

P/S - Спасибо за советы, у кого-то, ещё будут пожелания ?! Наставления, что я дурак?!)
Medallion Отправлено: 16 Мая, 2012 - 10:34:14 • Тема: ИДЕЯ или бред. • Форум: Работа с СУБД

Ответов: 9
Просмотров: 1904
Здравствуйте товарищи!
Я, начинающий программист, практикую создание функций PHP, которые облегчают работу.
Ищу ответы в интернете, наращиваю опыт. Мои планы по практике, это написать серию функций для работы с MYSQL. Я мало с ней знаком, как и с PHP.
Основная моя задача, написать более простые функции для себя, я не хочу затрагивать ООП, потому что в стандарте, я ещё мал.
Ну так вот, мне хотелось бы написать серию функций, например:
PHP:
скопировать код в буфер обмена
  1.  
  2. // Функция добавления в базу
  3. db_insert($arg_1,$arg_2,$arg_3);
  4.  
  5. // Функция выборки из базы
  6. db_select($arg_1,$arg_2,$arg_3);
  7.  
  8. // Функция изменения значений
  9. db_update($arg_1,$arg_2,$arg_3);
  10.  
  11. // Функция удаления из базы
  12. db_delete($arg_1,$arg_2,$arg_3);
  13.  


На данный момент, функция db_insert(), в стадии разработки.
И принимает вид:
PHP:
скопировать код в буфер обмена
  1.  
  2. db_insert('table',$myrow_data,$myrow_type);
  3.  

Она принимает в качестве первого аргумента или параметра, название
будущей или существующей таблицы.
Тоесть, если таблица не существует, функция её создаст, но создаст только в том случае, если имеются данные в ассоциативных массивах, если их нет, идет завершение работы скрипта.

В качестве второго параметра: ассоциативный массив с данными, которые обрабатываются функцией, и все индексы массива - будут названиями полей в таблицы, а все значения - ячейками. Например, есть массив:
PHP:
скопировать код в буфер обмена
  1.  
  2. $myrow_data = array('pole_1' => 'Значение','pole_2' => 'Значение','pole_3' => 'Значение');
  3.  

И так, до бесконечности, Неважно сколько элементов в массиве, 10 или 10000.
Главное, функция, все поля создаст.

Третий параметр , принимает также ассоциативный массив, в который помещаются, можно так сказать, издержки языка SQL.
Например, чтобы создать одну таблицу, назовем её main и в ней два поля, нужно записать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $myrow_data = array('id' => 0, 'title' => 'Главная страница');
  3. $myrow_type = array(
  4. 'id' => 'INT NOT NULL AUTO_INCREMENT PRIMARY KEY',
  5. 'title' => VARCHAR( 30 ) NOT NULL
  6. );
  7.  
  8. // и сам вызов функции
  9. db_insert('main',$myrow_data,$myrow_type);
  10.  


Третий параметр, нужен лишь для одноразового создания нужных полей, потом к этой же таблицы, он применяться не будет, но будет применяться, если мы, например хотим
создать таблицу с именем 'table', например так.
PHP:
скопировать код в буфер обмена
  1.  
  2. db_insert('table',$myrow_data,$myrow_type);
  3.  


И, напоследок... Функция проверки, и создания таблицы работает, а также внесение
соответствующим полям значения, но пока я думаю, как внедрить этот же
третий параметр
PHP:
скопировать код в буфер обмена
  1.  
  2. $myrow_type = array(
  3. 'id' => 'INT NOT NULL AUTO_INCREMENT PRIMARY KEY',
  4. 'title' => VARCHAR( 30 ) NOT NULL
  5. );
  6.  

пока он висит в самой функции, но думаю это у меня получиться.

Проработка условий в запросе SQL, я тоже хочу реализовать, в этой функции, например ещё через один массив.
Есть конечно взгяд на то, что бы все эти массивы засунуть в один многомерный,
а в функции уже потом разбирать, но не хочу я пока усложнять, и без того, мою дурную голову)....
P/S -1
ЕЩЁ раз повторяюсь, при первом вызове функции, функция создаст таблицу если её нет,
и внесёт
индексы массива $myrow_data в названия полей, а также значения массива в ячейки
полей, соответствующие названию.
Если таблица существует, функция будет вносить новые данные при каждом вызове.
ВСЁ!

И P/S -2
Хотел бы знать мнение форумчан, а также ваши собственные наработки и реализации!
Если, что не понятно, что я здесь написал, спрашивайте)
Medallion Отправлено: 16 Мая, 2012 - 10:28:48 • Тема: Ищу скрипт для голосования+занесения в базу • Форум: SQL и Архитектура БД

Ответов: 1
Просмотров: 18
___

Страниц (17): В начало « ... 9 10 11 12 13 14 15 16 [17]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB