PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (2): [1] 2 »
Найдено сообщений: 24
v.kam
Отправлено: 13 Августа, 2013 - 21:55:17 • Тема: Свой просто хост • Форум: Наработки по собственным проектам
Ответов: 3 Просмотров: 1575
Хочу сказать всем большое спасибо за поддержку с этого форума и других...
Теперь после того как мы обзавелись своими DNS серверами работа пойдет быстрее.
Скоро будет доступна и почта на домене )).
Пока работа остановлена собираются средства на покупку блока /24 ip адресов.
Прорвемся. Всем спасибо.
v.kam
Отправлено: 09 Августа, 2013 - 21:31:58 • Тема: Свой просто хост • Форум: Наработки по собственным проектам
Ответов: 3 Просмотров: 1575
начал проект под названием "просто хост"
пока очень сырой но уже работает )))
Цель создать полноценный хостинг сайтов стоимостью 60 руб в месяц.
Все вырученные средства пойдут на развитие проекта.
В будущем планирую поднять DNS для управлением зоной домена.
Пока даю только ip адреса.
И сам на ip сижу)))
http://phosts[dot]ru/
v.kam
Отправлено: 09 Февраля, 2013 - 12:18:02 • Тема: помогите намисать класс • Форум: Работа с СУБД
Ответов: 8 Просмотров: 1709
Всётаки написал класс под свои нужды.
PHP:
скопировать код в буфер обмена
<?
class ClassMysql
{
var $config = "" ;
var $request = "" ;
var $result = "" ;
var $link = "" ;
var $fetch_array = array ( ) ; var $prefix = "" ;
public function MysqlLogError( $log )
{
$file = fopen ( 'MysqlLogError.txt' , 'a' ) ; fwrite ( $file , '------------------------------ ' . date ( "Y-m-d H:i:s" ) . ' ------------------------------' . "\n " . $log . "\n " ) ; }
function ConfigWrite
( $conf_value = array ( ) ) {
if ( count ( $conf_value ) < 6
) {
$this -> MysqlLogError ( "invalid number of array elements" ) ;
return false ;
}
else
{
$conf_write = "" ;
$conf_var = array ( "host" , "username" , "password" , "dbname" , "charset" , "prefix" ) ; foreach ( $conf_array as $key => $value )
{
$conf_write .= "\$ conf['$key '] = '$value ';\n " ;
}
$config = fopen ( 'config.php' , 'w' ) ; if ( fwrite ( $config , "<?\n $conf_write ?>" ) ) {
return true ;
}
else
{
$this -> MysqlLogError ( "error writing configuration file" ) ;
return false ;
}
}
}
function SetConfig( $config = "" )
{
if ( $config != "" )
{
$this -> config = $config ;
}
{
include ( $this -> config ) ;
$this -> prefix = $conf [ 'prefix' ] ;
if ( $link = mysql_connect ( $conf [ 'host' ] , $conf [ 'username' ] , $conf [ 'password' ] ) ) {
{
{
}
$this -> link = $link ;
}
else
{
return false ;
}
}
else
{
return false ;
}
}
else
{
$this -> MysqlLogError ( "Can't to open file " . $this -> config . " in directory" ) ;
return false ;
}
}
function MysqlPars
( $str = array ( ) ) {
foreach ( $str as $value )
{
{
}
else
{
}
}
return $format_str ;
}
function MysqlQuery( $request = "" )
{
if ( $request != "" )
{
"#\F ROM (.+?)#is" ,
"#\T ABLE (.+?)#is"
) ;
"FROM " . $this -> MysqlPrefix ( "\\ 1" ) ,
"TABLE " . $this -> MysqlPrefix ( "\\ 1" )
) ;
$request = preg_replace ( $str_search , $str_replace , $request ) ; $this -> request = $request ;
}
if ( $this -> result = mysql_query ( $this -> request , $this -> link ) ) {
return $this -> result ;
}
else
{
echo '<p>invalid query</p><textarea style="width: 300px; height: 200px;">' . $this -> request . '</textarea>' ;
return false ;
}
}
function MysqlPrefix( $table )
{
return $this -> prefix . $table ;
}
function MysqlFetchArray( )
{
return $this -> fetch_array ;
}
function MysqlNumRows( )
{
}
function MysqlInsertInto
( $table , $insert = array ( ) ) {
$table = $this -> MysqlPrefix ( $table ) ;
$fvalues = implode ( ", " , $this -> MysqlPars ( $insert ) ) ; $this -> request = sprintf ( "INSERT INTO `$table ` (`$fnames `) VALUES($fvalues )" ) ; $this -> MysqlQuery ( ) ;
}
function MysqlDelete
( $table , $where = array ( ) ) {
$table = $this -> MysqlPrefix ( $table ) ;
$value = $this -> MysqlPars ( $where ) ;
foreach ( $where_array as $key => $value )
{
$str_format [ ] = "`$key ` = $value " ;
}
$str_format = implode ( " AND " , $str_format ) ; $this -> request = sprintf ( "DELETE FROM `$table ` WHERE $str_format " ) ; $this -> MysqlQuery ( ) ;
}
function MysqlUpdate
( $table , $update = array ( ) , $where = array ( ) ) {
$table = $this -> MysqlPrefix ( $table ) ;
$update_value = $this -> MysqlPars ( $update ) ;
foreach ( $update_array as $key => $value )
{
$update_format [ ] = "`$key ` = $value " ;
}
$update_format = $update_format = implode ( ", " , $update_format ) ; if ( $where == null )
{
$where_format = "" ;
}
else
{
$where_value = $this -> MysqlPars ( $where ) ;
foreach ( $where_array as $key => $value )
{
$where_format [ ] = "`$key ` = $value " ;
}
$where_format = ' WHERE ' . implode ( " AND " , $where_format ) ; }
$this -> request = sprintf ( "UPDATE `$table ` SET $update_format $where_format " ) ; $this -> MysqlQuery ( ) ;
}
function MysqlClose( )
{
}
}
$ClassMysql = new ClassMysql( ) ;
?>
использование:
PHP:
скопировать код в буфер обмена
//запись файла конфигурации
$ClassMysql -> ConfigWrite ( array ( 'localhost' , //адрес сервера
'user' , //пользователь
'password' , //пароль
'dbname' , //имя базы
'utf8' , //кодировка
'prefix_' //префикс таблиц
) ) ;
//подключение файла конфигурации и установка соединение
$ClassMysql -> SetConfig ( $root_path . 'config.php' ) ;
//добавление записи
$ClassMysql -> MysqlInsertInto ( 'table_name' , array ( 'field_name1' => 'value1' ,
'field_neme2' => 'value2'
) ) ;
//обновление записи
//второй параметр можно убрать (ну мало ли) ошибок не будет
$ClassMysql -> MysqlUpdate ( 'table_name' ,
'field_name1' => 'value1' ,
'field_neme2' => 'value2'
) ,
'where1' => 'criterion1'
'where2' => 'criterion2'
)
) ;
//удаление записи
$ClassMysql -> MysqlDelete ( 'table_name' , array ( 'where1' => 'criterion1'
'where2' => 'criterion2'
) ) ;
//вывод из базы
$ClassMysql -> MysqlQuery ( "SELECT * FROM table_name" ) ;
while ( $row = $ClassMysql -> MysqlFetchArray ( ) )
{
echo $row [ 'field_name1' ] ;
}
//закрываем сосединение
$ClassMysql -> MysqlClose ( ) ;
v.kam
Отправлено: 13 Января, 2013 - 11:20:40 • Тема: помогите намисать класс • Форум: Работа с СУБД
Ответов: 8 Просмотров: 1709
написал метод удаления записи(ей).
PHP:
скопировать код в буфер обмена
public function MysqlDelete
( $table , $where = array ( ) ) {
foreach ( $where as $key => $value )
{
$ar [ ] = "`$key ` = '$value '" ;
}
$this -> request = sprintf ( "DELETE FROM `$table ` WHERE $a " ) ; $this -> MysqlQuery ( ) ;
}
использование
v.kam
Отправлено: 11 Января, 2013 - 21:55:42 • Тема: помогите намисать класс • Форум: Работа с СУБД
Ответов: 8 Просмотров: 1709
вот начал писать класс для работы с mysql в небольших проектах.
листинг файла class_mysql.php
PHP:
скопировать код в буфер обмена
<?
class db
{
var $request ;
var $result ;
var $link ;
private function MysqlLogError( $log ) //ведение лога ошибок
{
$file = fopen ( 'MysqlLogError.txt' , 'a' ) ; fwrite ( $file , '------------------------------ ' . date ( "Y-m-d H:i:s" ) . ' ------------------------------' . "\n " . $log . "\n " ) ; }
private function SetConfig( )
{
{
return $this -> config [ 'file' ] ;
}
else
{
$this -> MysqlLogError ( "Can't to open file " . $this -> config [ 'file' ] . " in directory" ) ;
}
}
private function MysqlQuery( )
{
include ( $this -> SetConfig ( ) ) ;
if ( $this -> link = @ mysql_connect ( @ $sql_host , @ $sql_user , @ $sql_pass ) ) {
{
{
}
if ( $this -> result = mysql_query ( $this -> request , $this -> link ) ) {
return ;
}
else
{
}
}
else
{
}
}
else
{
}
}
function MysqlFetchArray( )
{
$this -> MysqlQuery ( ) ;
{
$data [ ] = $row ;
}
return $data ;
}
function MysqlNumRows( )
{
$this -> MysqlQuery ( ) ;
}
function MysqlInsertInto
( $table , $field = array ( ) ) {
$sql = array ( 'field' => null , 'value' => null ) ; foreach ( $field as $key => $value )
{
$sql [ 'field' ] .= $key . ', ' ;
$sql [ 'value' ] .= "'" . $value . "', " ;
}
$this -> request = 'INSERT INTO ' . $table . ' (' . substr ( $sql [ 'field' ] , 0 , - 2 ) . ') VALUE(' . substr ( $sql [ 'value' ] , 0 , - 2 ) . ')' ; $this -> MysqlQuery ( ) ;
}
}
$db = new db;
?>
листинг файла config.php
использование
PHP:
скопировать код в буфер обмена
<?
//подключаем файл
include ( 'class_mysql.php' ) ;
//устанавливаем файл конфигурации, и кодировку
$db -> config = array ( 'file' => 'config.php' , 'charset' => 'utf8' ) ;
//вывод из базы циклом
$db -> request = "SELECT * FROM table_name" ;
foreach ( $db -> MysqlFetchArray ( ) as $key => $value )
{
echo $value [ 'field_name' ] . '<br>' ;
}
//вывод кокичества записей
$db -> request = "SELECT * FROM table_name" ;
echo $db -> MysqlNumRows ( ) ;
//добовление записи
$db -> MysqlInsertInto ( 'table_name' , array ( 'field_name1' => 'value1' ,
'field_name2' => 'value2' ,
'field_name3' => 'value3' ,
) ) ;
?>
как видите пока только четыре основных метода.
нужно добавить обновление записей.
какие будут идеи?
v.kam
Отправлено: 20 Июля, 2012 - 22:49:24 • Тема: Работа с Mysql • Форум: Вопросы новичков
Ответов: 28 Просмотров: 905
а тебе приятно каждый раз добавлять в ручную???
вот у тебя 20 полей которые тебе надо записать в таблицу, вот и делай запись для всех полей. потом напиши скрипт для редактирования, и остальное заполнишь при редактировании, через те-же поля, а не ковырянием в phpmyadmin
v.kam
Отправлено: 20 Июля, 2012 - 22:39:24 • Тема: Работа с Mysql • Форум: Вопросы новичков
Ответов: 28 Просмотров: 905
PATCH пишет: при создании сайта вообще нельзя никакие ошибки отрубать, обычно создают конфиг файл в котором есть error_repoting(E_ALL) - для отладки или
error_repoting(0); что бы никакие ошибки не выдавало.
отладкой я занимаюсь на стадии разработки...
что ты выведешь в случае ошибки???
PATCH пишет: данное условие может разделено быть на 2 таблицы или же в 1 таблицы и не факт что id,user,pass,email будут идти первыми.
там так то скрин прилагался ))).
v.kam
Отправлено: 20 Июля, 2012 - 22:24:52 • Тема: Работа с Mysql • Форум: Вопросы новичков
Ответов: 28 Просмотров: 905
PATCH это черная магия пхп
PATCH пишет: отрубать вывод ошибки при sql запросе?
чтоб при ошибке клиенту не выводились пугающие, непонятные ему слова )))
это мы поймём что такое Цитата: Warning: mysql_query() [function.mysql-query]: Can't connect to MySQL server on 'localhost' (10061) in W:\html\mysql\www\index.php on line 2
а клиенту будет приятней вот так:
Страниц (2): [1] 2 »
Powered by ExBB FM 1.0 RC1. InvisionExBB