PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (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?
Почему нет? Только все одинарные кавычки надо экранировать:
evgenijj
Отправлено: 05 Декабря, 2006 - 22:25:43 • Тема: Случайное число, выводимое по условию.. • Форум: Программирование на PHP
Ответов: 3 Просмотров: 619
Цитата: Мне помогли разобраться, я в действительности пытался вернуть не $a1,$a2 итд а $res=$a1 итд, что в свою очередь есть true..
Кто тебе сказал эту глупость?
Результат работы
Цитата:
А еще был косяк с форматом даты...
А вот с датой действительно проблема - я уже писал, что ты пытался сравнивать строку и число.
Цитата:
Но у меня еще вопрос, а можно сделать так чтобы рандом показывал какое-то одно определеное число ... пока 6 раз не обновишь страницу?
PHP:
скопировать код в буфер обмена
<?PHP
// Инициализация счетчика
if ( ! isset ( $_SESSION [ "count" ] ) ) {
$_SESSION [ "count" ] = 1 ;
$_SESSION [ "random" ] = rand ( ) ; }
if ( $_SESSION [ "count" ] <= 6 )
{
echo "Случайное число " . $_SESSION [ "random" ] ;
$_SESSION [ "count" ] = $_SESSION [ "count" ] + 1 ;
}
else
{
// "Обнуляем" счетчик
$_SESSION [ "count" ] = 1 ;
// Получаем новое случайное число
$_SESSION [ "random" ] = rand ( ) ; echo "Случайное число " . $_SESSION [ "random" ] ;
}
?>
evgenijj
Отправлено: 05 Декабря, 2006 - 21:19:09 • Тема: Случайное число, выводимое по условию.. • Форум: Программирование на PHP
Ответов: 3 Просмотров: 619
PHP:
скопировать код в буфер обмена
<?PHP
echo "mktime(0,0)=" . mktime ( 0 , 0 ) . "<br/>" ; echo "date(\" H.i\" )=" . $time . "<br/>" ;
function arraynah( )
{
global $a0 , $a1 , $a2 , $a3 , $a4 , $a5 , $a6 , $a7 , $a8 , $a9 , $a10 , $a11 , $a12 ,
$a13 , $a14 , $a15 , $a16 , $a17 , $a18 , $a19 , $a20 , $a21 , $a22 , $a23 , $time ;
{ echo "Выполнено условие 1<br/>" ; return $res = $a0 ; }
{ echo "Выполнено условие 2<br/>" ; return $res = $a1 ; }
{ echo "Выполнено условие 3<br/>" ; return $res = $a2 ; }
{ echo "Выполнено условие 4<br/>" ; return $res = $a3 ; }
{ echo "Выполнено условие 5<br/>" ; return $res = $a4 ; }
{ echo "Выполнено условие 6<br/>" ; return $res = $a5 ; }
elseif ( mktime ( 6
, 08
) <= $time && mktime
( 7
, 07
) > $time ) { echo "Выполнено условие 7<br/>" ; return $res = $a6 ; }
elseif ( mktime ( 7
, 07
) <= $time && 8mktime
( 8
, 13
) > $time ) { echo "Выполнено условие 9<br/>" ; return $res = $a7 ; }
{ echo "Выполнено условие 10<br/>" ; return $res = $a8 ; }
{ echo "Выполнено условие 11<br/>" ; return $res = $a9 ; }
{ echo "Выполнено условие 12<br/>" ; return $res = $a10 ; }
{ echo "Выполнено условие 13<br/>" ; return $res = $a11 ; }
{ echo "Выполнено условие 14<br/>" ; return $res = $a12 ; }
{ echo "Выполнено условие 15<br/>" ; return $res = $a13 ; }
{ echo "Выполнено условие 16<br/>" ; return $res = $a14 ; }
{ echo "Выполнено условие 17<br/>" ; return $res = $a15 ; }
{ echo "Выполнено условие 18<br/>" ; return $res = $a16 ; }
{ echo "Выполнено условие 19<br/>" ; return $res = $a17 ; }
{ echo "Выполнено условие 20<br/>" ; return $res = $a18 ; }
{ echo "Выполнено условие 21<br/>" ; return $res = $a19 ; }
{ echo "Выполнено условие 22<br/>" ; return $res = $a20 ; }
{ echo "Выполнено условие 23<br/>" ; return $res = $a21 ; }
{ echo "Выполнено условие 24<br/>" ; return $res = $a22 ; }
{ echo "Выполнено условие 25<br/>" ; return $res = $a23 ; }
echo "Ни одно из условий не выполнено<br/>" ;
}
$result = arraynah( ) ;
echo "result $result <br/>" ;
echo "Time $time " ;
?>
Результат работы:
Ты пытаешься сравнивать строку и целое число
CODE (
text ):
скопировать код в буфер обмена
string date ( string format [, int timestamp] )
int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )
evgenijj
Отправлено: 02 Декабря, 2006 - 21:12:23 • Тема: Помогите составить запрос • Форум: SQL и Архитектура БД
Ответов: 3 Просмотров: 76
GolDenOne пишет: ...один пользователь может проголосовать несколько раз за одну и туже песню.
Я так понимаю, что тебе надо правильно учесть голоса тех недобросовестных пользователей, которые проголосовали за одну песню несколько раз. А не проще было проверять, не голосовал ли этот пользователь за эту песню, и если голосовал - не добавлять эту запись в БД?
PHP:
скопировать код в буфер обмена
Таблица voting
id_song | id_user | voting | puttime
1 | 1 | 1 | 2006- 12- 01 11: 34: 15
1 | 2 | 1 | 2006- 12- 01 16: 55: 11
2 | 3 | 1 | 2006- 11- 29 22: 17: 53
2 | 4 | 0 | 2006- 11- 29 12: 22: 11
3 | 5 | - 1 | 2006- 11- 29 11: 52: 27
4 | 6 | 2 | 2006- 12- 02 17: 18: 22
2 | 3 | 2 | 2006- 11- 22 16: 54: 12
4 | 8 | 1 | 2006- 11- 20 17: 55: 11
1 | 2 | 2 | 2006- 12- 02 17: 17: 11
1 | 2 | 2 | 2006 - 12 - 02 17 : 17 : 38
Запрос:
PHP:
скопировать код в буфер обмена
SELECT temp. id_song, songs. title, AVG( temp. vote ) AS voting
FROM (
SELECT id_song, id_user, AVG( voting ) AS vote
FROM voting
WHERE puttime >= SUBDATE( NOW( ) , INTERVAL 7 DAY )
GROUP BY id_song, id_user
) AS temp, songs
WHERE songs. id_song = temp. id_song
GROUP BY temp. id_song
ORDER BY voting DESC;
Результат
PHP:
скопировать код в буфер обмена
id_song | title | voting
4 | Синяя птица | 2. 00000000
1 | Мать пишет | 1. 33335000
2 | Разговор в поезде | 0. 50000000
3 | Так вот какая ты | - 1.00000000
Подзапрос
PHP:
скопировать код в буфер обмена
SELECT id_song, id_user, AVG( voting ) AS vote
FROM voting
WHERE puttime >= SUBDATE( NOW( ) , INTERVAL 7 DAY )
GROUP BY id_song, id_user;
позволяет правильно учесть голоса тех пользователей, которые проголосовали за одну песню несколько раз. Пользователь id_user=2 проголосовал за песню id_song=1 три раза. Результат этого подзапроса
PHP:
скопировать код в буфер обмена
id_song | id_user | vote
1 | 1 | 1. 0000
1 | 2 | 1. 6667
2 | 3 | 1. 0000
2 | 4 | 0. 0000
3 | 5 | - 1. 0000
4 | 6 | 2.0000
evgenijj
Отправлено: 01 Декабря, 2006 - 08:30:18 • Тема: Вопрос простейший, но че-то не догнал... • Форум: Программирование на PHP
Ответов: 17 Просмотров: 1615
Цитата: Спасибо, конечно, но странно, почему ж тогда путь "./kernel.inc" ему не нравился...
Вот так тоже работает.
Файл index.php
Файл module.inc
Путь к файлу kernel.php указан относительно index.php. Почему работает без указания пути ( include ("kernel.inc"); ) - не знаю. Мне не приходилось сталкиваться с необходимостью использовать многократно вложенные include.
evgenijj
Отправлено: 30 Ноября, 2006 - 10:21:33 • Тема: Помогите найти ошибку • Форум: SQL и Архитектура БД
Ответов: 21 Просмотров: 301
Antikiller пишет:
я понимаю что тут есть глюк...вот как с ним побороться?
Глюк - это мягко сказано.
PHP:
скопировать код в буфер обмена
<?PHP
// Форма для редактирования товара
require_once ( "config.php" ) ;
$title = "Редактирование данных о товаре" ;
$button = "Исправить" ;
$action = "updateprod.php" ;
$query = "SELECT * FROM product WHERE id_product=" . $_GET [ 'id_product' ] ;
if ( ! $pro ) puterror( "Ошибка при обращении к БД" ) ;
// Наименование товарной позиции
$name = $product [ 'name' ] ;
// Код (артикул) товара
$code = $product [ 'code' ] ;
// Упаковка
$packing = $product [ 'packing' ] ;
// Изображение товара -
if ( ! empty ( $product [ 'image' ] ) and
is_file ( "../files/images/catalog/products/" . $product [ 'image' ] ) ) $image = "<a href='/files/images/catalog/products/" . $product [ 'image' ] . "' target='_blank'>" . $product [ 'image' ] . "</a>" ;
else
$image = "Изображение не загружено" ;
// Доступна или нет товарная позиция для просмотра посетителями сайта
if ( $product [ 'showhide' ] == 'show' )
$showhide = "checked" ;
else
$showhide = "" ;
?>
<form enctype="multipart/form-data" action="<? echo $action ; ?> " method="POST">
<table>
<tr>
<td align="right">Наименование:</td>
<td><input type="text" name="name" value="<? echo $name ; ?> " maxlength="250"></td>
</tr>
<tr>
<td align="right">Код (артикул):</td>
<td><input type="text" name="code" value="<? echo $code ; ?> " maxlength="30"></td>
</tr>
<tr>
<td align="right">Упаковка:</td>
<td><input type="text" name="packing" value="<? echo $packing ; ?> " maxlength="250"></td>
</tr>
<tr>
<td align="right">Публиковать:</td>
<td><input type="checkbox" name="showhide" <? echo $showhide ; ?> /></td>
</tr>
<tr>
<td align="right">Изображение:</td>
<td><input type="file" name="image"/><br/><? echo $image ; ?> </td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" value="<? echo $button ?> "/> <input type="button" value="Отмена" onClick="history.back();"/>
</td>
</tr>
</table>
<input type="hidden" name="id_product" value=<?PHP echo $_GET [ 'id_product' ] ; ?> >
<input type="hidden" name="id_catalog" value=<?PHP echo $_GET [ 'id_catalog' ] ; ?> >
</form>
(Добавление)
PHP:
скопировать код в буфер обмена
<?
// Обновление данных о товаре
require_once ( "config.php" ) ;
// Если поле "Наименование товара" пустое
if ( empty ( $_POST [ "name" ] ) ) links
( $_POST [ 'id_catalog' ] , "Не заполнено поле 'Наименование товара'" ) ;
// Обрезаем лишние пробелы
$name = trim ( $_POST [ "name" ] ) ; $code = trim ( $_POST [ "code" ] ) ; $packing = trim ( $_POST [ "price" ] ) ;
// Обрезаем переменные до длины, указанной в параметре maxlength тега input
$name = substr ( $name , 0
, 250
) ; $code = substr ( $code , 0
, 30
) ; $packing = substr ( $price , 0
, 250
) ;
// Доступен или нет товар для просмотра посетителям сайта
if ( isset ( $_POST [ "showhide" ] ) ) $showhide = "show" ;
else
$showhide = "hide" ;
// Файл изображения - удаляем старое изображение и загружаем новое
// Получаем имя файла изображения
$query = "SELECT image FROM product WHERE id_product=" . $_POST [ 'id_product' ] ;
// Директория для хранения файлов изображений для товарных позиций
$uploaddir = "../files/images/catalog/products/" ;
// Если пользователь загружает файл изображения
if ( ! empty ( $_FILES [ 'image' ] [ 'name' ] ) and
preg_match ( '/.(jpg|jpeg|jpe|gif|pcx|png|bmp)$/i' , $_FILES [ "image" ] [ "name" ] ) ) {
// Удаляем старое изображение, если оно есть
// Загружаем новое изображение
if ( @ move_uploaded_file ( $_FILES [ "image" ] [ "tmp_name" ] , $uploaddir . $_FILES [ "image" ] [ "name" ] ) ) {
// Загрузка прошла успешно - обновляем в БД имя файла изображения
$img = ", image='" . $_FILES [ "image" ] [ "name" ] . "'" ;
}
else
{
// Ошибка при загрузке - записываем в БД пустую строку
$img = ", image=''" ;
}
}
else
{
// Если пользователь не выбрал файл для загрузки
$img = "" ;
}
$query = "UPDATE product SET
name='" . $name . "',
code='" . $code . "',
packing='" . $packing . "',
showhide='" . $showhide . "'
" . $img . "
WHERE id_product=" . $_POST [ 'id_product' ] ;
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?id_parent=" . $_POST [ 'id_catalog' ] . "'>
</HEAD></HTML>" ;
}
else
{
links( $_POST [ 'id_catalog' ] , "Ошибка при обновлении продукции" ) ;
}
function links( $id_catalog , $msg )
{
echo "<p >" . $msg . "</p>" ;
echo "<p ><a href=# onClick='history.back()'>Вернуться к правке продукта</a></p>" ;
echo "<p ><a href=index.php?id_parent=" . $id_catalog . "'>Администрирование каталога продукции</a></p>" ;
}
?>
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 ExBB FM 1.0 RC1. InvisionExBB