Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » как написать универсальные Sql запросы?
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
zyablik
Участник
Средний рейтинг: 2.58 | Оценок: 12
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Москва
Публикаций: 98
Статус: zyablik в оф-лайне
как написать универсальные Sql запросы? [сообщение #69781]

есть скрипт который работает с данными из базы..
выводит, добавляет, удаляет, редактирует.. все банально..

но, допустим в базе добавилось пару полей... приходится переписывать в скрипте INSERTы и UPDATEы ....

а вот как бы так сделать чтобы минимизировать время на переписсывание скрипта при изменении в структуре БД. ??

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 11-08-2004 09:26
Нажмите сюда для просмотра профайла zyablik Отправить Персональное сообщение zyablik Посетить домашнию страничку zyablik! Найти сообщения от zyablik Добавить zyablik в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #69801]

один из вариантов передавать массив где ключ имя поля а значение данные, потом создать функцию:

PHP:


function db_query ($table, $array, $where = '') {
    
    if (!empty(
$where))
    {
        
$query = "UPDATE $table SET ";
    } 
    else 
    {
        
$query = "INSERT INTO $table SET ";
    }
    foreach (
$array AS $key => $value)
    {
        if (
is_numeric($value)) 
        {
            
$query .= "$key = $value, ";
        }
        else
        {
            
$query .= "$key = '".addslashes($value)."', ";
        }
    }
    
    
$query = substr($query, 0, -2);

    if (!empty(
$where)) {
        
$query .= " WHERE $where";
    }
    
    return 
mysql_query($query);
}

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 11-08-2004 20:52
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
zerkms
Участник
Средний рейтинг: 5 | Оценок: 1

Зарегистрирован: Feb 2004
Место проживания: Комсомольск-на-Амуре, Россия
Публикаций: 6
Статус: zerkms в оф-лайне
[сообщение #69879]

имхо не нужно изобретать велосипед - всё уже написали умные и талантливые люди:

PEAR :: DB - вот тебе идеальное решение

__________________
There are 10 types of people: those who understand binary, and those who don't.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 14-08-2004 10:02
Нажмите сюда для просмотра профайла zerkms Отправить Персональное сообщение zerkms Посетить домашнию страничку zerkms! Найти сообщения от zerkms Добавить zerkms в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 10:15.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.26551795 seconds (97.12% PHP - 2.88% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.