當前位置: 首頁>>代碼示例>>PHP>>正文


PHP sql_alter函數代碼示例

本文整理匯總了PHP中sql_alter函數的典型用法代碼示例。如果您正苦於以下問題:PHP sql_alter函數的具體用法?PHP sql_alter怎麽用?PHP sql_alter使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了sql_alter函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: upgrade_produits

function upgrade_produits()
{
    $all = sql_allfetsel("*", "spip_produits");
    include_once _DIR_PLUGIN_SALE . "sale_fonctions.php";
    foreach ($all as $produit) {
        #var_dump($produit);
        $set = array();
        if (function_exists('sale')) {
            $set['texte'] = sale($produit['texte']);
            $set['texte'] = preg_replace(",</?p>\\s*,ims", "\n\n", $set['texte']);
            $set['texte'] = preg_replace(",<br>(\n+),ims", "\\1", $set['texte']);
            $set['texte'] = trim($set['texte']) . "\n";
        }
        $set['reference'] = trim($produit['reference']);
        if (!$set['reference']) {
            $set['reference'] = 'P' . trim($produit['old_id']);
            #var_dump($set);
            #die();
        }
        if (strpos($produit['poids'], ".") !== false) {
            $set['poids'] = intval(round(floatval($produit['poids']) * 1000));
        }
        #var_dump($set);
        sql_updateq("spip_produits", $set, 'id_produit=' . intval($produit['id_produit']));
    }
    sql_alter("table spip_produits CHANGE poids poids bigint(21) NOT NULL DEFAULT 0");
    die('ok?');
}
開發者ID:nursit,項目名稱:shop-draft,代碼行數:28,代碼來源:mes_options.php

示例2: agenda_vider_tables

function agenda_vider_tables($nom_meta_base_version)
{
    sql_drop_table("spip_evenements");
    #sql_drop_table("spip_mots_evenements"); // au cas ou ?
    sql_alter("TABLE spip_rubriques DROP COLUMN agenda");
    effacer_meta($nom_meta_base_version);
}
開發者ID:jazzman346,項目名稱:CAC_Site,代碼行數:7,代碼來源:agenda_administrations.php

示例3: creer_ou_upgrader_table

/**
 * Creer une table,
 * ou ajouter les champs manquants si elle existe deja
 *
 * http://doc.spip.org/@creer_ou_upgrader_table
 *
 * @param string $table
 * @param array $desc
 * @param bool|string $autoinc
 *   'auto' pour detecter automatiquement si le champ doit etre autoinc ou non
 *   en fonction de la table
 * @param bool $upgrade
 * @param string $serveur
 * @return void
 */
function creer_ou_upgrader_table($table, $desc, $autoinc, $upgrade = false, $serveur = '')
{
    $sql_desc = $upgrade ? sql_showtable($table, true, $serveur) : false;
    if (!$sql_desc) {
        if ($autoinc === 'auto') {
            $autoinc = base_determine_autoinc($table, $desc);
        }
        sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
    } else {
        // ajouter les champs manquants
        // on ne supprime jamais les champs, car c'est dangereux
        // c'est toujours a faire manuellement
        $last = '';
        foreach ($desc['field'] as $field => $type) {
            if (!isset($sql_desc['field'][$field])) {
                sql_alter("TABLE {$table} ADD {$field} {$type}" . ($last ? " AFTER {$last}" : ""), $serveur);
            }
            $last = $field;
        }
        foreach ($desc['key'] as $key => $type) {
            // Ne pas oublier les cas des cles non nommees dans la declaration et qui sont retournees
            // par le showtable sous la forme d'un index de tableau "KEY $type" et non "KEY"
            if (!isset($sql_desc['key'][$key]) and !isset($sql_desc['key']["{$key} {$type}"])) {
                sql_alter("TABLE {$table} ADD {$key} ({$type})", $serveur);
            }
            $last = $field;
        }
    }
}
開發者ID:nursit,項目名稱:SPIP,代碼行數:44,代碼來源:create.php

示例4: roles_auteurs_vider_tables

/**
 * Fonction de désinstallation du plugin.
**/
function roles_auteurs_vider_tables($nom_meta_base_version) {

	// tant qu'il existe des doublons, on supprime une ligne doublonnée
	// sinon on ne pourra pas modifier la cle primaire ensuite
	// cet algo est certainement a optimiser
	while ($doublons = sql_allfetsel(
				array('id_auteur', 'id_objet', 'objet', 'role'),
				array('spip_auteurs_liens'),
				'', 'id_auteur,id_objet,objet', '', '', 'COUNT(*) > 1'))
	{
		foreach ($doublons as $d) {
			$where = array();
			foreach ($d as $cle=>$valeur) {
				$where[] = "$cle=".sql_quote($valeur);
			}
			sql_delete('spip_auteurs_liens', $where);
		}
	}

	// supprimer la clé primaire, la colonne rôle, et remettre l'ancienne clé primaire
	sql_alter("TABLE spip_auteurs_liens DROP PRIMARY KEY");
	sql_alter("TABLE spip_auteurs_liens DROP COLUMN role");
	sql_alter("TABLE spip_auteurs_liens ADD PRIMARY KEY (id_auteur,id_objet,objet)");

	effacer_meta($nom_meta_base_version);
}
開發者ID:samszo,項目名稱:open-edition,代碼行數:29,代碼來源:roles_auteurs_administrations.php

示例5: fraap_candidatures_vider_tables

function fraap_candidatures_vider_tables($nom_meta_base_version)
{
    include_spip('base/abstract_sql');
    sql_drop_table("spip_candidatures");
    sql_alter("TABLE spip_auteurs DROP COLUMN prenom");
    sql_alter("TABLE spip_auteurs DROP COLUMN activite");
    effacer_meta($nom_meta_base_version);
}
開發者ID:rougerose,項目名稱:fraap_candidatures,代碼行數:8,代碼來源:fraap_candidatures_upgrade.php

示例6: organiseur_vider_tables

/**
 * Desinstallation/suppression des tables mots et groupes de mots
 *
 * @param string $nom_meta_base_version
 */
function organiseur_vider_tables($nom_meta_base_version)
{
    sql_drop_table("spip_messages");
    sql_alter("TABLE spip_auteurs DROP imessage");
    sql_alter("TABLE spip_auteurs DROP messagerie");
    effacer_meta('messagerie_agenda');
    effacer_meta($nom_meta_base_version);
}
開發者ID:genma,項目名稱:spip_ynh,代碼行數:13,代碼來源:organiseur_administrations.php

示例7: tradrub_vider_tables

/**
 * Desinstallation du plugin
 *
 * Suppression de la colonne id_trad uniquement s'il ne reste
 * pas de traduction.
 * 
 * @param string $nom_meta_base_version
 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
 * @return void
 */
function tradrub_vider_tables($nom_meta_base_version) {
	// supprimer la colonne seulement s'il ne reste pas de traductions
	$il_en_reste = sql_countsel('spip_rubriques', array(
		'id_trad <> ' . sql_quote(0),
		'id_trad <> id_rubrique')
	);
	if (!$il_en_reste) {
		sql_alter("TABLE spip_rubriques DROP id_trad");
	}
	effacer_meta($nom_meta_base_version);
}
開發者ID:samszo,項目名稱:open-edition,代碼行數:21,代碼來源:tradrub_administrations.php

示例8: action_supprimer_champ_sql

function action_supprimer_champ_sql($table, $champ)
{
    // recuperer les descriptions
    // pour verifier que le champ n'est pas declare par quelqu'un
    include_spip('inc/cextras');
    $champs = extras_champs_anormaux();
    if (isset($champs[$table][$champ])) {
        // suppression
        extras_log("Suppression du champ {$table}/{$champ} par auteur " . $GLOBALS['auteur_session']['id_auteur'], true);
        sql_alter("TABLE {$table} DROP COLUMN " . $champ);
    }
}
開發者ID:RadioCanut,項目名稱:site-radiocanut,代碼行數:12,代碼來源:iextras.php

示例9: accesrestreint_upgrade

/**
 * Fonction d'installation, mise a jour de la base
 *
 * @param unknown_type $nom_meta_base_version
 * @param unknown_type $version_cible
 */
function accesrestreint_upgrade($nom_meta_base_version,$version_cible){
	$current_version = 0.0;
	if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
			|| (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
		include_spip('base/acces_restreint');
		if (version_compare($current_version,'0.0','<=')){
			include_spip('base/create');
			include_spip('base/abstract_sql');
			creer_base();
			// ajout des champs publique/privee si pas existants
			$desc = sql_showtable("spip_zones", true);
			if (!isset($desc['field']['publique']))
				sql_alter("TABLE spip_zones ADD publique ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER descriptif");
			if (!isset($desc['field']['privee']))
				sql_alter("TABLE spip_zones ADD privee ENUM('non', 'oui') DEFAULT 'non' NOT NULL AFTER publique");
			echo "AccesRestreint Install<br/>";
			effacer_meta($nom_meta_base_version); // salade de majuscules
			ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
		}
		if (version_compare($current_version,'0.2','<')){
			include_spip('base/create');
			include_spip('base/abstract_sql');
			// ajout des champs publique/privee si pas existants
			$desc = sql_showtable("spip_zones", true);
			if (!isset($desc['field']['publique']))
				sql_alter("TABLE spip_zones ADD publique ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER descriptif");
			if (!isset($desc['field']['privee']))
				sql_alter("TABLE spip_zones ADD privee ENUM('non', 'oui') DEFAULT 'non' NOT NULL AFTER publique");
			echo "AccesRestreint@0.2<br />";
			ecrire_meta($nom_meta_base_version,$current_version='0.2','non');
		}
		if (version_compare($current_version,'0.3','<')){
			sql_alter("TABLE `zones_auteurs` DROP INDEX `id_zone`");
			sql_alter("TABLE `zones_auteurs` ADD PRIMARY KEY ( `id_zone` , `id_auteur` )");
			sql_alter("TABLE `zones_rubriques` DROP INDEX `id_zone`");
			sql_alter("TABLE `zones_rubriques` ADD PRIMARY KEY ( `id_zone` , `id_rubrique` )");
			echo "AccesRestreint@0.3<br />";
			ecrire_meta($nom_meta_base_version,$current_version='0.3','non');
		}
		if (version_compare($current_version,'0.3.0.1','<')){
			#ecrire_meta('creer_htaccess','oui');
			echo "AccesRestreint@0.3.0.1<br />";
			ecrire_meta($nom_meta_base_version,$current_version='0.3.0.1','non');
		}
		if (version_compare($current_version,'0.3.0.2','<')){
			#ecrire_meta('creer_htaccess','oui');
			sql_alter("TABLE spip_zone ALTER titre SET DEFAULT ''");
			sql_alter("TABLE spip_zone ALTER descriptif SET DEFAULT ''");
			echo "AccesRestreint@0.3.0.2<br />";
			ecrire_meta($nom_meta_base_version,$current_version='0.3.0.2','non');
		}
	}
}
開發者ID:rhertzog,項目名稱:lcs,代碼行數:59,代碼來源:acces_restreint_install.php

示例10: compositions_vider_tables

/**
 * Desinstallation
 *
 * @param string $nom_meta_base_version
 */
function compositions_vider_tables($nom_meta_base_version) {
	include_spip('inc/meta');
	include_spip('base/abstract_sql');

	include_spip('base/objets');
	$tables_objets = array_keys(lister_tables_objets_sql());
	foreach($tables_objets as $table){
		sql_alter("TABLE $table DROP composition");
		sql_alter("TABLE $table DROP composition_lock");
	}
	sql_alter("TABLE spip_rubriques DROP composition_branche_lock");

	effacer_meta('compositions');
	effacer_meta($nom_meta_base_version);
}
開發者ID:samszo,項目名稱:open-edition,代碼行數:20,代碼來源:compositions_administrations.php

示例11: vacarme_commande_vider_tables

function vacarme_commande_vider_tables($nom_meta_base_version)
{
    sql_alter("TABLE spip_contacts DROP organisation");
    sql_alter("TABLE spip_contacts DROP service");
    sql_alter("TABLE spip_contacts DROP type_client");
    sql_alter("TABLE spip_contacts_abonnements DROP numero_debut");
    sql_alter("TABLE spip_contacts_abonnements DROP numero_fin");
    sql_alter("TABLE spip_abonnements DROP reference");
    sql_alter("TABLE spip_abonnements DROP cadeau");
    sql_alter("TABLE spip_paniers_liens DROP numero");
    sql_alter("TABLE spip_commandes DROP paiement");
    sql_alter("TABLE spip_commandes_details DROP numero");
    sql_drop_table('spip_commandes_transactions');
    effacer_meta($nom_meta_base_version);
}
開發者ID:rougerose,項目名稱:vacarme_commande,代碼行數:15,代碼來源:vacarme_commande_install.php

示例12: mots_techniques_upgrade

function mots_techniques_upgrade($nom_meta_base_version,$version_cible){
	$current_version = 0.0;
	if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
			|| (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
		if (version_compare($current_version,'0.0','<=')){
			$champs = mots_techniques_declarer_champs_extras();
			creer_champs_extras($champs);
			ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
		}
		if ($current_version<0.2){
			sql_alter("TABLE spip_groupes_mots DROP affiche_formulaire");
			ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');				
		}
	}
}
開發者ID:rhertzog,項目名稱:lcs,代碼行數:15,代碼來源:mots_techniques_install.php

示例13: genie_popularites_dist

function genie_popularites_dist($t) {

	// Si c'est le premier appel, ne pas calculer
	$t = $GLOBALS['meta']['date_popularites'];
	ecrire_meta('date_popularites', time());

	if (!$t)
		return 1;

	$duree = time() - $t;
	list($a,$b) = genie_popularite_constantes($duree);

	// du passe, faisons table (SQL) rase
	sql_update('spip_articles', array('maj'=>'maj', 'popularite' => "popularite * $a"), 'popularite>1');

	// enregistrer les metas...
	$row = sql_fetsel('MAX(popularite) AS max, SUM(popularite) AS tot', "spip_articles");
	ecrire_meta("popularite_max", $row['max']);
	ecrire_meta("popularite_total", $row['tot']);


	// Une fois par jour purger les referers du jour ; qui deviennent
	// donc ceux de la veille ; au passage on stocke une date_statistiques
	// dans spip_meta - cela permet au code d'etre "reentrant", ie ce cron
	// peut etre appele par deux bases SPIP ne partageant pas le meme
	// _DIR_TMP, sans tout casser...

	$aujourdhui = date("Y-m-d");
	if (($d = $GLOBALS['meta']['date_statistiques']) != $aujourdhui) {
		spip_log("Popularite: purger referer depuis $d");
		ecrire_meta('date_statistiques', $aujourdhui);
		if (strncmp($GLOBALS['connexions'][0]['type'],'sqlite',6)==0)
			spip_query("UPDATE spip_referers SET visites_veille=visites_jour, visites_jour=0");
	  	else
			// version 3 fois plus rapide, mais en 2 requetes
			#spip_query("ALTER TABLE spip_referers CHANGE visites_jour visites_veille INT( 10 ) UNSIGNED NOT NULL DEFAULT '0',CHANGE visites_veille visites_jour INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'");
			#spip_query("UPDATE spip_referers SET visites_jour=0");
			// version 4 fois plus rapide que la premiere, en une seule requete
			sql_alter("TABLE spip_referers DROP visites_veille,
			CHANGE visites_jour visites_veille INT(10) UNSIGNED NOT NULL DEFAULT '0',
			ADD visites_jour INT(10) UNSIGNED NOT NULL DEFAULT '0'");
	}
 
	// et c'est fini pour cette fois-ci
	return 1;

}
開發者ID:rhertzog,項目名稱:lcs,代碼行數:47,代碼來源:popularites.php

示例14: creer_ou_upgrader_table

function creer_ou_upgrader_table($table,$desc,$autoinc,$upgrade=false,$serveur='') {
	$sql_desc = $upgrade ? sql_showtable($table,true,$serveur) : false;
	if (!$sql_desc)
		sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
	else {
		// ajouter les champs manquants
		$last = '';
		foreach($desc['field'] as $field=>$type){
			if (!isset($sql_desc['field'][$field]))
				sql_alter("TABLE $table ADD $field $type".($last?" AFTER $last":""),$serveur);
			$last = $field;
		}
		foreach($desc['key'] as $key=>$type){
			if (!isset($sql_desc['key'][$key]))
				sql_alter("TABLE $table ADD $key ($type)",$serveur);
			$last = $field;
		}

	}
}
開發者ID:rhertzog,項目名稱:lcs,代碼行數:20,代碼來源:create.php

示例15: maj_1_952

function maj_1_952()
{
    $ok = sql_alter("TABLE spip_documents CHANGE `mode` `mode` enum('vignette','image','document') DEFAULT NULL");
    if ($ok) {
        $s = sql_select("v.id_document as id_document", "spip_documents as d join spip_documents as v ON d.id_vignette=v.id_document");
        $vignettes = array();
        while ($t = sql_fetch($s)) {
            $vignettes[] = intval($t['id_document']);
        }
        $ok &= spip_query("UPDATE spip_documents SET `mode`='image' WHERE `mode`='vignette'");
        $ok &= spip_query("UPDATE spip_documents SET `mode`='vignette' WHERE `mode`='image' AND " . sql_in('id_document', $vignettes));
    }
    if (!$ok) {
        die('echec sur maj_1_952()');
    }
}
開發者ID:nursit,項目名稱:SPIP,代碼行數:16,代碼來源:v019.php


注:本文中的sql_alter函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。