PHP.SU

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

Страниц (81): В начало « ... 73 74 75 76 77 [78] 79 80 81 »

> Найдено сообщений: 1209
evgenijj Отправлено: 07 Декабря, 2006 - 10:37:39 • Тема: Запихать в ячейку таблицы бд кусок php-кода • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 99
vitroot пишет:
Спасибо, а вот вопрос, можно ли как-нибудь сделать то же, но не средствами пхп, а напрямую через SQL-запросы на сервере в shell или через phpMyAdmin?

Почему нет? Только все одинарные кавычки надо экранировать:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. INSERT INTO mytable ( company, director ) VALUES ( 'ЗАО \'Рога и копыта\'', 'Зиц-председатель Фунт' );
  3.  
evgenijj Отправлено: 05 Декабря, 2006 - 22:25:43 • Тема: Случайное число, выводимое по условию.. • Форум: Программирование на PHP

Ответов: 3
Просмотров: 619
Цитата:
Мне помогли разобраться, я в действительности пытался вернуть не $a1,$a2 итд а $res=$a1 итд, что в свою очередь есть true..

Кто тебе сказал эту глупость?
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo hello();
  4.  
  5. function hello()
  6. {
  7.         $v = "Hello, world!";
  8.         return $res = $v;
  9. }
  10. ?>
  11.  

Результат работы

Цитата:

А еще был косяк с форматом даты...

А вот с датой действительно проблема - я уже писал, что ты пытался сравнивать строку и число.
Цитата:

Но у меня еще вопрос, а можно сделать так чтобы рандом показывал какое-то одно определеное число ... пока 6 раз не обновишь страницу?

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. // Инициализация счетчика
  5. if ( !isset( $_SESSION["count"] )  )
  6. {
  7.         $_SESSION["count"] = 1;
  8.         $_SESSION["random"] = rand();
  9. }
  10.  
  11. if ( $_SESSION["count"] <= 6 )
  12. {      
  13.         echo "Случайное число ".$_SESSION["random"];
  14.         $_SESSION["count"] = $_SESSION["count"] + 1;
  15. }
  16. else
  17. {
  18.         // "Обнуляем" счетчик
  19.         $_SESSION["count"] = 1;
  20.         // Получаем новое случайное число
  21.         $_SESSION["random"] = rand();
  22.         echo "Случайное число ".$_SESSION["random"];
  23. }
  24.  
  25. ?>
  26.  
evgenijj Отправлено: 05 Декабря, 2006 - 21:19:09 • Тема: Случайное число, выводимое по условию.. • Форум: Программирование на PHP

Ответов: 3
Просмотров: 619
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $a0 = rand(18,21);
  4. $a1 = rand(15,18);
  5. $a2 = rand(12,15);
  6. $a3 = rand(9,12);
  7. $a4 = rand(9,11);
  8. $a5 = rand(8,10);
  9. $a6 = rand(8,10);
  10. $a7 = rand(8,10);
  11. $a8 = rand(12,15);
  12. $a9 = rand(12,15);
  13. $a10 = rand(15,18);
  14. $a11 = rand(21,23);
  15. $a12 = rand(27,29);
  16. $a13 = rand(36,39);
  17. $a14 = rand(45,48);
  18. $a15 = rand(40,42);
  19. $a16 = rand(41,43);
  20. $a17 = rand(45,48);
  21. $a18 = rand(49,52);
  22. $a19 = rand(50,53);
  23. $a20 = rand(50,53);
  24. $a21 = rand(50,53);
  25. $a22 = rand(55,58);
  26. $a23 = rand(50,53);
  27. $time = date("H.i");
  28.  
  29. echo "mktime(0,0)=".mktime(0,0)."<br/>";
  30. echo "date(\"H.i\")=".$time."<br/>";
  31.  
  32.  
  33. function arraynah()
  34. {
  35.         global $a0,$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$a10,$a11,$a12,
  36. $a13,$a14,$a15,$a16,$a17,$a18,$a19,$a20,$a21,$a22,$a23,$time;
  37.        
  38.         if(mktime(0,0)<= $time && mktime(1,05)>$time)
  39.                 { echo "Выполнено условие 1<br/>"; return $res = $a0; }
  40.         elseif(mktime(1,05)<= $time && mktime(2,15)>$time)
  41.                 { echo "Выполнено условие 2<br/>"; return $res = $a1; }
  42.         elseif(mktime(2,15)<= $time && mktime(3,0)>$time)
  43.                 { echo "Выполнено условие 3<br/>"; return $res = $a2; }
  44.         elseif(mktime(3,0)<= $time && mktime(4,12)>$time)
  45.                 { echo "Выполнено условие 4<br/>"; return $res = $a3; }
  46.         elseif(mktime(4,12)<= $time && mktime(5,02)>$time)
  47.                 { echo "Выполнено условие 5<br/>"; return $res = $a4; }
  48.         elseif(mktime(5,02)<= $time && mktime(6,08)>$time)
  49.                 { echo "Выполнено условие 6<br/>"; return $res = $a5; }
  50.         elseif(mktime(6,08)<= $time &&mktime(7,07)>$time)
  51.                 { echo "Выполнено условие 7<br/>"; return $res = $a6; }
  52.         elseif(mktime(7,07)<= $time &&8mktime(8,13)>$time)
  53.                 { echo "Выполнено условие 9<br/>"; return $res = $a7; }
  54.         elseif(mktime(8,13)<= $time && mktime(9,01)>$time)
  55.                 { echo "Выполнено условие 10<br/>"; return $res = $a8; }
  56.         elseif(mktime(9,01)<= $time && mktime(10,02)>$time)
  57.                 { echo "Выполнено условие 11<br/>"; return $res = $a9; }
  58.         elseif(mktime(10,02)<= $time && mktime(11,11)>$time)
  59.                 { echo "Выполнено условие 12<br/>"; return $res = $a10; }
  60.         elseif(mktime(11,11)<= $time && mktime(12,25)>$time)
  61.                 { echo "Выполнено условие 13<br/>"; return $res = $a11; }
  62.         elseif(mktime(12,25)<= $time && mktime(13,05)>$time)
  63.                 { echo "Выполнено условие 14<br/>"; return $res = $a12; }
  64.         elseif(mktime(13,05)<= $time && mktime(14,08)>$time)
  65.                 { echo "Выполнено условие 15<br/>"; return $res = $a13; }
  66.         elseif(mktime(14,08)<= $time && mktime(15,0)>$time)
  67.                 { echo "Выполнено условие 16<br/>"; return $res = $a14; }
  68.         elseif(mktime(15,0)<= $time && mktime(16,05)>$time)
  69.                 { echo "Выполнено условие 17<br/>"; return $res = $a15; }
  70.         elseif(mktime(16,05)<= $time && mktime(17,0)>$time)
  71.                 { echo "Выполнено условие 18<br/>"; return $res = $a16; }
  72.         elseif(mktime(17,0)<= $time && mktime(18,06)>$time)
  73.                 { echo "Выполнено условие 19<br/>"; return $res = $a17; }
  74.         elseif(mktime(18,06)<= $time && mktime(19,09)>$time)
  75.                 { echo "Выполнено условие 20<br/>"; return $res = $a18; }
  76.         elseif(mktime(19,09)<= $time && mktime(20,0)>$time)
  77.                 { echo "Выполнено условие 21<br/>"; return $res = $a19; }
  78.         elseif(mktime(20,0)<= $time && mktime(21,05)>$time)
  79.                 { echo "Выполнено условие 22<br/>"; return $res = $a20; }
  80.         elseif(mktime(21,05)<= $time && mktime(22,0)>$time)
  81.                 { echo "Выполнено условие 23<br/>"; return $res = $a21; }
  82.         elseif(mktime(22,0)<= $time && mktime(23,01)>$time)
  83.                 { echo "Выполнено условие 24<br/>"; return $res = $a22; }
  84.         elseif(mktime(23,01)<= $time && mktime(23,59)>$time)
  85.                 { echo "Выполнено условие 25<br/>"; return $res = $a23; }
  86.                
  87.         echo "Ни одно из условий не выполнено<br/>";
  88. }
  89.  
  90. $result = arraynah();
  91. echo "result $result <br/>";
  92. echo "Time $time";
  93. ?>
  94.  

Результат работы:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. mktime(0,0)=1165266023
  3. date("H.i")=22.15
  4. Ни одно из условий не выполнено
  5. result
  6. Time 22.15
  7.  

Ты пытаешься сравнивать строку и целое число
CODE (text):
скопировать код в буфер обмена
  1.  
  2. string date ( string format [, int timestamp] )
  3. int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )
  4.  
evgenijj Отправлено: 05 Декабря, 2006 - 15:02:57 • Тема: Запихать в ячейку таблицы бд кусок php-кода • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 99
vitroot пишет:
Например, мне в ячейку таблицы бд надо затолкать такой вот код:

CODE (text):
скопировать код в буфер обмена
  1. <?php echo '<a href="index.php">link</a>' ?>

Это примерно. Весь код за ненадобностью приводить нет смысла. Вот я и не могу это дело в таблицу занести

Примерно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $str1 = "<?PHP echo '<a href=\"index.php\">link</a>' ?>";
  4. $str2 = "something";
  5. $query = "INSERT INTO mytab ( field1, field2 ) VALUES ('".mysql_escape_string($str1)."', '".mysql_escape_string($str2)."')";
  6. $res = mysql_query( $query );
  7. ...
  8. ?>
  9.  

evgenijj Отправлено: 05 Декабря, 2006 - 08:24:53 • Тема: Запихать в ячейку таблицы бд кусок php-кода • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 99
Хорошо бы посмотреть на исходный код. Какой PHP-код ты записываешь в БД, и как выглядит запрос. В общем случае - функция mysql_escape_string()
evgenijj Отправлено: 04 Декабря, 2006 - 10:55:32 • Тема: Страницы • Форум: Программирование на PHP

Ответов: 1
Просмотров: 396
Тоже просмотрел? И поиск не нашел?
http://forum.php.su/topic.php?fo...=28&topic=18
evgenijj Отправлено: 02 Декабря, 2006 - 21:12:23 • Тема: Помогите составить запрос • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 76
GolDenOne пишет:
...один пользователь может проголосовать несколько раз за одну и туже песню.

Я так понимаю, что тебе надо правильно учесть голоса тех недобросовестных пользователей, которые проголосовали за одну песню несколько раз. А не проще было проверять, не голосовал ли этот пользователь за эту песню, и если голосовал - не добавлять эту запись в БД?
PHP:
скопировать код в буфер обмена
  1.  
  2. Таблица songs
  3. id_song | title
  4.  1      | Мать пишет
  5.  2      | Разговор в поезде
  6.  3      | Так вот какая ты
  7.  4      | Синяя птица
  8.  

PHP:
скопировать код в буфер обмена
  1.  
  2. Таблица voting
  3. id_song  | id_user | voting | puttime
  4.  1       | 1       | 1      | 2006-12-01 11:34:15
  5.  1       | 2       | 1      | 2006-12-01 16:55:11
  6.  2       | 3       | 1      | 2006-11-29 22:17:53
  7.  2       | 4       | 0      | 2006-11-29 12:22:11
  8.  3       | 5       | -1     | 2006-11-29 11:52:27
  9.  4       | 6       | 2      | 2006-12-02 17:18:22
  10.  2       | 3       | 2      | 2006-11-22 16:54:12
  11.  4       | 8       | 1      | 2006-11-20 17:55:11
  12.  1       | 2       | 2      | 2006-12-02 17:17:11
  13.  1       | 2       | 2      | 2006-12-02 17:17:38
  14.  

Запрос:
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT temp.id_song, songs.title, AVG( temp.vote ) AS voting
  3. FROM (
  4.         SELECT id_song, id_user, AVG( voting ) AS vote
  5.         FROM voting
  6.         WHERE puttime >= SUBDATE( NOW(), INTERVAL 7 DAY )
  7.         GROUP BY id_song, id_user
  8.         ) AS temp, songs
  9. WHERE songs.id_song = temp.id_song
  10. GROUP BY temp.id_song
  11. ORDER BY voting DESC;
  12.  

Результат
PHP:
скопировать код в буфер обмена
  1.  
  2. id_song | title             | voting
  3.  4      | Синяя птица       | 2.00000000
  4.  1      | Мать пишет        | 1.33335000
  5.  2      | Разговор в поезде | 0.50000000
  6.  3      | Так вот какая ты  | -1.00000000
  7.  

Подзапрос
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT id_song, id_user, AVG( voting ) AS vote
  3. FROM voting
  4. WHERE puttime >= SUBDATE( NOW(), INTERVAL 7 DAY )
  5. GROUP BY id_song, id_user;
  6.  

позволяет правильно учесть голоса тех пользователей, которые проголосовали за одну песню несколько раз. Пользователь id_user=2 проголосовал за песню id_song=1 три раза. Результат этого подзапроса
PHP:
скопировать код в буфер обмена
  1.  
  2. id_song | id_user | vote
  3.  1      | 1       | 1.0000
  4.  1      | 2       | 1.6667
  5.  2      | 3       | 1.0000
  6.  2      | 4       | 0.0000
  7.  3      | 5       | -1.0000
  8.  4      | 6       | 2.0000
  9.  
evgenijj Отправлено: 01 Декабря, 2006 - 08:30:18 • Тема: Вопрос простейший, но че-то не догнал... • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1615
Цитата:
Спасибо, конечно, но странно, почему ж тогда путь "./kernel.inc" ему не нравился...

Вот так тоже работает.
Файл index.php
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?  include ("./include/module.inc"); ?>
  3. <html>
  4.  <head>
  5.   <title>Главная страница</title>
  6. ...
  7.  

Файл module.inc
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. include ("./include/kernel.inc");
  4. ...
  5. ?>
  6.  

Путь к файлу kernel.php указан относительно index.php. Почему работает без указания пути ( include ("kernel.inc"); ) - не знаю. Мне не приходилось сталкиваться с необходимостью использовать многократно вложенные include.
evgenijj Отправлено: 30 Ноября, 2006 - 10:21:33 • Тема: Помогите найти ошибку • Форум: SQL и Архитектура БД

Ответов: 21
Просмотров: 301
Antikiller пишет:

я понимаю что тут есть глюк...вот как с ним побороться?

Глюк - это мягко сказано.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Форма для редактирования товара
  4.  
  5. require_once("config.php");
  6. $title = "Редактирование данных о товаре";
  7. $button = "Исправить";
  8. $action = "updateprod.php";
  9. $query = "SELECT * FROM product WHERE id_product=".$_GET['id_product'];
  10. $pro = mysql_query($query);
  11. if (!$pro) puterror("Ошибка при обращении к БД");
  12. $product = mysql_fetch_array($pro);
  13. // Наименование товарной позиции
  14. $name = $product['name'];
  15. // Код (артикул) товара
  16. $code = $product['code'];
  17. // Упаковка
  18. $packing = $product['packing'];
  19. // Изображение товара -
  20. if ( !empty($product['image']) and is_file("../files/images/catalog/products/".$product['image']) )
  21.         $image = "<a href='/files/images/catalog/products/".$product['image']."' target='_blank'>".$product['image']."</a>";
  22. else
  23.         $image = "Изображение не загружено";
  24. // Доступна или нет товарная позиция для просмотра посетителями сайта
  25. if( $product['showhide'] == 'show')
  26.         $showhide = "checked";
  27. else
  28.         $showhide ="";
  29.  
  30. ?>
  31.  
  32. <form enctype="multipart/form-data" action="<? echo $action; ?>" method="POST">
  33. <table>
  34. <tr>
  35.         <td align="right">Наименование:</td>
  36.         <td><input type="text" name="name" value="<? echo $name; ?>" maxlength="250"></td>
  37. </tr>
  38. <tr>
  39.         <td align="right">Код (артикул):</td>
  40.         <td><input type="text" name="code" value="<? echo $code; ?>" maxlength="30"></td>
  41. </tr>
  42. <tr>
  43.         <td align="right">Упаковка:</td>
  44.         <td><input type="text" name="packing" value="<? echo $packing; ?>" maxlength="250"></td>
  45. </tr>
  46. <tr>
  47.         <td align="right">Публиковать:</td>
  48.         <td><input type="checkbox" name="showhide" <? echo $showhide; ?>/></td>
  49. </tr>
  50. <tr>
  51.         <td align="right">Изображение:</td>
  52.         <td><input type="file" name="image"/><br/><? echo $image; ?></td>
  53. </tr>
  54. <tr>
  55.         <td>&nbsp;</td>
  56.         <td>
  57.         <input type="submit" value="<? echo $button ?>"/>&nbsp;<input type="button" value="Отмена" onClick="history.back();"/> 
  58.         </td>
  59. </tr>
  60. </table>
  61. <input type="hidden" name="id_product" value=<?PHP echo $_GET['id_product']; ?>>
  62. <input type="hidden" name="id_catalog" value=<?PHP echo $_GET['id_catalog']; ?>>
  63. </form>
  64.  


(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. // Обновление данных о товаре
  4.  
  5. require_once("config.php");
  6.  
  7. // Если поле "Наименование товара" пустое
  8. if ( empty($_POST["name"]) ) links($_POST['id_catalog'], "Не заполнено поле 'Наименование товара'");
  9.  
  10. // Обрезаем лишние пробелы
  11. $name    = trim( $_POST["name"] );
  12. $code    = trim( $_POST["code"] );
  13. $packing = trim( $_POST["price"] );
  14.  
  15. // Обрезаем переменные до длины, указанной в параметре maxlength тега input
  16. $name    = substr( $name, 0, 250 );
  17. $code    = substr( $code, 0, 30 );
  18. $packing = substr( $price, 0, 250 );
  19.  
  20. $name    = mysql_escape_string( $name );
  21. $code    = mysql_escape_string( $code );
  22. $packing = mysql_escape_string( $packing );
  23.  
  24. // Доступен или нет товар для просмотра посетителям сайта      
  25. if ( isset($_POST["showhide"]) )
  26.         $showhide = "show";
  27. else
  28.         $showhide = "hide";
  29.  
  30. // Файл изображения - удаляем старое изображение и загружаем новое
  31. // Получаем имя файла изображения
  32. $query = "SELECT image FROM product WHERE id_product=".$_POST['id_product'];
  33. $res = mysql_query( $query );
  34. $image = mysql_result( $res, 0, 0 );
  35. // Директория для хранения файлов изображений для товарных позиций
  36. $uploaddir = "../files/images/catalog/products/";
  37. // Если пользователь загружает файл изображения
  38. if ( !empty( $_FILES['image']['name'] )
  39.           and preg_match('/.(jpg|jpeg|jpe|gif|pcx|png|bmp)$/i', $_FILES["image"]["name"]) )
  40. {
  41.         // Удаляем старое изображение, если оно есть   
  42.         if( !empty( $image ) and is_file( $uploaddir.$image ) ) unlink( $uploaddir.$image );
  43.        
  44.         // Загружаем новое изображение
  45.         if ( @move_uploaded_file($_FILES["image"]["tmp_name"], $uploaddir.$_FILES["image"]["name"]) )
  46.         {
  47.                 // Загрузка прошла успешно - обновляем в БД имя файла изображения
  48.                 $img = ", image='".$_FILES["image"]["name"]."'";
  49.         }
  50.         else
  51.         {
  52.                 // Ошибка при загрузке - записываем в БД пустую строку
  53.                 $img = ", image=''";
  54.         }
  55. }
  56. else
  57. {
  58.         // Если пользователь не выбрал файл для загрузки
  59.         $img = "";
  60. }
  61.        
  62. $query = "UPDATE product SET
  63.                   name='".$name."',
  64.                   code='".$code."',
  65.                   packing='".$packing."',
  66.                   showhide='".$showhide."'
  67.                   ".$img."
  68.                   WHERE id_product=".$_POST['id_product'];
  69.                  
  70. if( mysql_query($query) )
  71. {
  72.         echo "<HTML><HEAD>
  73.         <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?id_parent=".$_POST['id_catalog']."'>
  74.         </HEAD></HTML>";
  75. }
  76. else
  77. {
  78.         links($_POST['id_catalog'], "Ошибка при обновлении продукции");
  79. }
  80.  
  81. function links( $id_catalog, $msg )
  82. {
  83.         echo "<p >".$msg."</p>";
  84.         echo "<p ><a href=# onClick='history.back()'>Вернуться к правке продукта</a></p>";
  85.         echo "<p ><a href=index.php?id_parent=".$id_catalog."'>Администрирование каталога продукции</a></p>";
  86.         exit();
  87. }
  88.  
  89. ?>
  90.  
evgenijj Отправлено: 29 Ноября, 2006 - 16:26:24 • Тема: Вопрос простейший, но че-то не догнал... • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1615
С путями ты там напутал - файл прикрепил
evgenijj Отправлено: 29 Ноября, 2006 - 13:53:49 • Тема: Вопрос простейший, но че-то не догнал... • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1615
vitroot пишет:
&#28947;

Шутить изволите? Улыбка
evgenijj Отправлено: 29 Ноября, 2006 - 13:35:41 • Тема: Вопрос простейший, но че-то не догнал... • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1615
Не знаю, в чем проблема. Если хочешь - прикрепи к сообщению файлы index.php и module.php (ну и другие, какие нужны для работы скрипта). Попробую запустить на своем хостинге.
evgenijj Отправлено: 29 Ноября, 2006 - 12:43:12 • Тема: Вопрос простейший, но че-то не догнал... • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1615
Цитата:
Это прописывать в начале которого скрипта? В index.php?

Да. Посмотришь, на что ругается PHP. Хотя у меня все прекрасно показывает. И стили подключены.
evgenijj Отправлено: 29 Ноября, 2006 - 12:09:16 • Тема: Вопрос простейший, но че-то не догнал... • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1615
Я так понимаю, сообщения об ошибках ты не получаешь? Как тогда его можно отлаживать? Пропиши в начале скрипта
CODE (text):
скопировать код в буфер обмена
  1.  
  2. error_reporting( E_ALL );
  3.  

evgenijj Отправлено: 29 Ноября, 2006 - 11:49:51 • Тема: Вопрос простейший, но че-то не догнал... • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1615
Цитата:
Эта функция вообще никак не действует.

А что значит "не действует"?. Она не выводит в браузер строку <link rel="stylesheet" type="text/css" href="..."> или выводит, но таблица стилей не подгружается? Во втором случае стоит проверить путь к файлу стилей. Я обычно пишу путь относительно корня сервера - так он будет виден любой странице href="/style/style.css"

Страниц (81): В начало « ... 73 74 75 76 77 [78] 79 80 81 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB