![]() |
Pages (33): « First ... « 22 23 24 25 [26] 27 28 29 30 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ informatica triennale (http://www.dsy.it/forum/forumdisplay.php?forumid=211)
-- [Progetto] "Blog" (http://www.dsy.it/forum/showthread.php?threadid=28359)
devi usare la fopen...
$fp = fopen("f:".$percorso,rb);
fseek($fp,2); //Mi posiziono al 2° carattere
$prova = fread($fp,50); //Leggo 50 caratteri partendo dalla posizione corrente
echo ("$prova");
fclose($fp);
echo ($percorso);
readfile("F:/Blog/file/".$name);
devi fare una cosa simile...
qui spiega bene: http://us3.php.net/manual/it/function.fopen.php
non ho capito perche si deve usare fopen
se il file e sul server , basta avere il percorso e lo visualizzi direttamente nel browser che sense ha fare foopen etc?
io ho caricato i file nel db , prima di visualizzare i file li "scarico" dal db mi prendo il percorso e utilizzo un iframe per metter dentro il file se e un file di testo e una tag img se e un immagine
perche fare fopen etcetc?
per qunato riguardo la modifica , carico semplicemente un altro file nel db e sostisuisco l'id del file che ho caricat con quello del file che devo modificare
io li salvo nella cartella htdocs/upload_cont di apache.giusto?
quindi una volta salvati nel mio server i file ...mi salvo il percorso nel db e poi li apro con iframe o tag ...perfetto fila tutto adesso provo!grazie
si dovrebbe funzionare cosi
inizialmente avevo fatto così e dai miei ricordi li visualizzava, adesso non uso + quel codice ma salvo il file nel db...
gli iframe vedo che sono comodi, peccato non averli conosciuti prima
Originally posted by ponte
quindi una volta salvati nel mio server i file ...mi salvo il percorso nel db e poi li apro con iframe o tag ...perfetto fila tutto adesso provo!grazie
io l'ho fatto cosi
CREATE OR REPLACE FUNCTION elements_per_type()
RETURNS "trigger" AS
$BODY$
DECLARE
total integer;
BEGIN
SELECT count(id) into total from content where category=NEW.category;
UPDATE statistics SET n_elements = total WHERE name =NEW.category;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
questa e la funzione
e il trigger
CREATE TRIGGER elements_per_type
AFTER INSERT
ON content
FOR EACH ROW
EXECUTE PROCEDURE elements_per_type();
questo se inserisci contenuti
quando calcelli contenuti
CREATE OR REPLACE FUNCTION elements_per_type_ondelete()
RETURNS "trigger" AS
$BODY$
DECLARE
total integer;
BEGIN
SELECT count(id) into total from content where category=OLD.category;
UPDATE statistics SET n_elements = total WHERE name =OLD.category;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
e il trigger
CREATE TRIGGER elements_per_type_ondelete
AFTER DELETE
ON content
FOR EACH ROW
EXECUTE PROCEDURE elements_per_type_ondelete();
io ho fato cosi e funziona , non so se e il miglior modo ma funziona e questo per il momento momento mi basta
Originally posted by bledar
SELECT count(id) into total from content where category=NEW.category;
UPDATE statistics SET n_elements = total WHERE name =NEW.category;
SELECT count(id) into total from content where category=NEW.category;
count(id) --conta tutti i contenuti
into total ---metti queto valore in total
where category=NEW.category;
---dove il tipo di contenuto ovver news imagine o articolo(che io ho chiamato category) e uguale al tipo di contenuto del contenuto apena inserito
UPDATE statistics SET n_elements = total WHERE name =NEW.category;
statistics e la tabella dove tengo le statistice ovver il numero dei elementi pert tipo di contenuto e la media accessi
ed e piu o meno cosi
nome...........n_elementi......media accessi
imagine...........x........................x
articolo............x........................x
news...............x........................x
UPDATE statistics --update della tabella
SET n_elements = total --metti il numero di elementi uguale e total dove total e stato calcolato nella riga sopra cioe SELECT count(id) into total
WHERE name =NEW.category;
dove il tipo di contenuto e uguale a tipo di contenuto apena inserito
Sei stato chiarissimo, grazie infinite
ecco mi e venuto in mente che puoi sostituire le due righe con la seguente
nel caso di insert
UPDATE statistics SET n_elements = n_elements +1 WHERE name =NEW.category;
nel caso di delete
UPDATE statistics SET n_elements = n_elements -1 WHERE name =OLD.category;
questo modo e piu efficente
qualcuno ha fatto l'import/export del profilo in xml??
è difficile?
Devo specificare il where nel trigger che mi aggiorna in numero di modifiche. Io faccio n_mod=n_mod+1 where ? cosa sono old e new, in caso io modifico per esempio il nome del contenuto e scrivo
n_mod=n_mod+1 wherew nome=NEW.nome mi aggiorni le modifiche proprio di quel contenuto?
perchè si scrive return null?
grazie
beh leggiti un attimo qualcosa su i trigger.
new si riferisce alla tuupla appena insertia o modificata
old alla tupla appena cancellate o modificata
return null perche questa funzione non ritorna nessuna valore fa semplicemente il cambiamento del numero totale di elementi
| All times are GMT. The time now is 17:55. | Pages (33): « First ... « 22 23 24 25 [26] 27 28 29 30 » ... Last » Show all 481 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.