![]() |
Pages (4): « 1 2 [3] 4 » 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 presentare sia lo schema concettuale che lo schema concettuale ristrutturato, non solo il secondo
Originally posted by zonker
Devi presentare sia lo schema concettuale che lo schema concettuale ristrutturato, non solo il secondo
qualcuno che ha usato le sesioni in php mi puo dire come ha effettuato il logout?
Ciao a tutti ho bisogno del vostro aiuto, devo visualizzare solo gli articoli fatti da un certo user, non riesco a scivere una select adatta. Premesso ho una tabella articoli e una tabella user collegate tra loro da una tabella chiamata autore_articolo che contiene la chiave primaria di utente e la chiave primaria di articolo.
grazie mille a tutti
Per il manuale installazione io alle voci IIS e Postgres ho messo un generico "riferirsi alla knowledge Microsoft www.microsoft.com e Postgres www.postgres.org) ovviamente poi ho scritto come configurare il server web (percorsi e autorizzazioni) e il database del blog.
per la select ammesso che tu abbia tabelle
contenuti(idcontenuto, ...,....,...)
utenti(idutente,...,...,...)
autore_articolo(idcontenuto, idutente)
per estrarre i contenuti di un solo utente non devi fare altro che
SELECT a.* FROM CONTENUTI a INNER JOIN AUTORE_ARTICOLO b ON a.idcontenuto = b.idcontenuto WHERE b.idutente = 15;
ammesso che tu voglia estrarre i contenuti di cui l'utente con idutente 15 sia l'autore.
Grazie ancora per l'aiuto zonker.
Tiro fuori spero l'ultimo dubbio (stavolta davvero), e spero di farmi capire perche non so come scriverlo.
Nel passaggio dallo schema ER generico a quello ristrutturato c'e' qualcosa che non mi torna.
Io accorpo le due sottoentità "UTENTE GENERICO" e "UTENTE AMMINISTRATORE" in un'unica entita' "UTENTE", introducendo un campo per distinguerli. Fin qui tutto ok.
Non mi e' chiaro pero' come gestire la traduzione delle sottoentita' "ARTICOLO", "NEWS" e "FOTO" nell'entita' generica "CONTENUTO". Il mio cruccio sta nel fatto che accorpando le tre sottoentita' in un'entita' generica io NON abbia bisogno di mettere un campo per distinguerli, perche' l'entita' generica CONTENUTO e' in relazione con l'entita' TIPOLOGIA.
Ma se l'entità CONTENUTO e' in relazione con l'entita' TIPOLOGIA, nello schema non ristrutturato dovrei fare tre relazioni separate ARTICOLO-TIPOLOGIA, FOTO-TIPOLOGIA e NEWS-TIPOLOGIA. Mi sembra una cosa ridondante... cioe', non sarebbe sbagliata, perche' l'entita' tipologia serve per memorizzare le statistiche relative ad essa, pero' non mi torna.
Avere tutti gli articoli con il campo "tiplogia" uguale ad "articolo" ad esempio... boh e' strano. Insomma, non so come rappresentare sta cosa nello schema non ristrutturato (in quello ristrutturato e' tutto ok, contenuto in relazione con tipologia e bon).
"Ma se l'entità CONTENUTO e' in relazione con l'entita' TIPOLOGIA, nello schema non ristrutturato dovrei fare tre relazioni separate ARTICOLO-TIPOLOGIA, FOTO-TIPOLOGIA e NEWS-TIPOLOGIA."
Perchè? Se tutte le specializzazioni hanno questa relazione e tutte con la stessa cardinalità minima e massima allora la relazione la fai con l'entità contenuto di cui articolo, foto e news sono le specializzazioni ed in quanto tale la ereditano.
Post inutile ed ingombrante.
Tu intendi mettere l'entita' generica CONTENUTO in relazione con TIPOLOGIA... direttamente nello schema non ristrutturato? In effetti mi ero dimenticato, per qualche ragione pensavo che nelle gerarchie potessero avere relazioni solo le sottoentita'.
Conferma se ho capito giusto, per favore 
Se tutte le specializzazioni hanno questa relazione e tutte con la stessa cardinalità minima e massima allora la relazione la fai con l'entità contenuto di cui articolo, foto e news sono le specializzazioni ed in quanto tale la ereditano.
si si si hapi capito giusto secondo me
Confermo Simeon.
A quale post ti riferisci come inutile e ingombrante???
Originally posted by zonker
Confermo Simeon.
A quale post ti riferisci come inutile e ingombrante???
chiedo a voi che avete inserito i contenuti direttamente nel db , cosa usate per la visualizazzione dei contenuti nel browser , io uttilizzo una funzione php che si chiama pg_lo_readall , se la uso per visualizzare un contenuto alla volta funzione corretamente ma se la uso dentro un for o un foreach non funzione mi manda nel browser una serie di caratteri incmprensibili
Io, che però non uso PHP, eseguo una SELECT lo_export(campo,percorso) per mettere sul filesystem del server l'oggetto da visualizzare e poi ovviamente a livello html lo inserisco come se fosse sempre stato lì.
In questo modo devi fare attenzione al nome dei file che crei (puoi usare il valore dell'oid che è sempre diverso per definizione) e a cancellare il file "temporaneo" dal filesystem del server quando non ti serve più o a intervalli regolari (garbage collection).
Originally posted by zonker
Io, che però non uso PHP, eseguo una SELECT lo_export(campo,percorso) per mettere sul filesystem del server l'oggetto da visualizzare e poi ovviamente a livello html lo inserisco come se fosse sempre stato lì.
In questo modo devi fare attenzione al nome dei file che crei (puoi usare il valore dell'oid che è sempre diverso per definizione) e a cancellare il file "temporaneo" dal filesystem del server quando non ti serve più o a intervalli regolari (garbage collection).
, ci vorrebbe uno script che cancelli il contenuto ogni tot ore.
ho usato anche io questa soluzione uttilizando l'oid come nome del file preprio perche e unico per definizione , ma pensavo ci fosse un modo per avere il contenuto dal db direttamente
grazie ragazzi
ma per la storia delle news correlate ad altre news voi come avete fatto? in teoria se ho la news 10 assiociata alla news 15, automaticamente anche la news 15 è assiociata alla news 10, vale il viceversa insomma, io ho fatto una tabella news con 2 campi, news e news correlata, ma se associo la news 10 alla 15, nella mia implementazione il viceversa non è automatico
Originally posted by Gehur
ma per la storia delle news correlate ad altre news voi come avete fatto? in teoria se ho la news 10 assiociata alla news 15, automaticamente anche la news 15 è assiociata alla news 10, vale il viceversa insomma, io ho fatto una tabella news con 2 campi, news e news correlata, ma se associo la news 10 alla 15, nella mia implementazione il viceversa non è automatico
be ma come fai a non implementarlo, scusa se quando guardi la news 10, vedi che è correlata alla news 15, quando guardi la news 15 devi vedere che è correlata alla news 10, si be comuqne io avevo pensato di fare in questo modo, quando associ la news 1 alla 3, associ anche la 3 alla 1, il tutto secondo me
o cosi o se hai una tabela
newtonews(id from , id to)
ti cerchi l'id della news nell campo id to e da quella tupla prendi l'd from cioe non metti il viceversa nella tabella ma semplicemente lo prendi dalla tabella
Originally posted by Gehur
be ma come fai a non implementarlo, scusa se quando guardi la news 10, vedi che è correlata alla news 15, quando guardi la news 15 devi vedere che è correlata alla news 10, si be comuqne io avevo pensato di fare in questo modo, quando associ la news 1 alla 3, associ anche la 3 alla 1, il tutto secondo me
per prima cosa grazie ZONKER SEI UN GRANDE.
Poi ho un altro problema, io i file li carico direttamente sul server e salvo il percorso nella base di dati ma una volta li non so più come aprirli, fopen non funziona, fread non funziona ecccccc
C'è qualcuno che lo ha già fatto e può darmi una mano.
(per la discussione su come non duplicare i file io non uso l'oid ma il percorso del file e quindi quando lo inserisco nella base di dati in un attributo univoco trovo l'errore)
Grazie a tutti
visto che hai caricato il percorso non c'e piu bisigno di aprire il file tramite fopen etc basta prendere dal db quell percorso e inserirlo dentro una tag html chiamat img se e une imagine o dente una tag html iframe che puoi uttilizzare sia per imaggini sia per file di testo etc , une esmpio con iframe
<iframe
src ="/images/file.jpeg"
width="100%">
</iframe>
<iframe
src ="/images/file.txt"
width="100%">
</iframe>
http://www.w3schools.com/tags/tag_iframe.asp
come avete gestito le viste , visto che nel progetto dice
In particolare, per ogni utente generico viene definita una vista che, sulla base del profilo
attivo e degli argomenti di interesse, definisce i contenuti che vengono visualizzati dall’utente.
e dice anche
Inoltre, l’applicazione gestisce la visualizzazione dei
contenuti, sulla base delle viste associate all’utente in relazione al suo profilo.
cioe per ogni profilo che l'utente crea devo creare une vista e in base al profilo attivo scelgo la vista da usare?io l'ho interpretata cosi la cosa , voi?
A leggere il testo per quello che c'è scritto andrebbe intrepretato così.
Ma è ovviamente una cagata in quanto viola il principio per cui una base di dati debba evolvere nel tempo modificando la propria istanza (ossia i dati) e non la propria struttura (ossia lo schema).
Una interpretazione sensata è che ai contenuti si acceda tramite una o più viste mettendo poi su queste viste delle condizioni di where in base all'utente e al suo profilo.
io ho fatto come ha detto zonker se ho capito bene quello che ha detto
piuttosto io ho un problema con il profilo da assiociare all'utente
ho la tabella profilo che è collegata alla tabella utente tramite una tabella utente_profilo, il problema è che non so come prendere il profilo dalla tabella profilo e inserirlo nella tabella utente_profilo
come posso dire prendi l'ultimo profilo inserito..
Questo problema potrebbe essere risolto con le transazioni che non abbiamo visto a lezione oppure utilizzando oggetti propri di ogni singolo DBMS.
Quello che faccio io (che è una porcata di cui mi vergogno ma non ho ne voglia ne tempo per fare di meglio) è inserire il profilo e poi cercare tra i profili un profilo con le stesse caratteristiche ma che non compaia nella tabella utente_profilo. Tendenzialmente se non ci sono creazioni di profilo contemporanee e non ci sono record orfani dovrebbe trovarti quello che hai appena inserito che puoi quindi a questo punto inserire nella tabelle utente_profilo.
Un metodo più pulito sarebbe quello di andare a leggere su una sequence un valore per il nuovo profilo e inserirlo con quel idprofilo sia nella tabella dei profili che in quella utente_profilo.
hmm interesante la cosa , perche io non ho una tabella profilo_utente ma solo una tabella profilo con foreign key su id utente e con chiave primaria un id_profilo , questo mi permette di avvere piu profili per ogni utente (l'ho interpretata cosi la cosa visto che ogni profilo appartiene a un solo utente percio (1:1) ergo foreign key)
spero non sia una cagata
![]()
Originally posted by bledar
hmm interesante la cosa , perche io non ho una tabella profilo_utente ma solo una tabella profilo con foreign key su id utente e con chiave primaria un id_profilo , questo mi permette di avvere piu profili per ogni utente (l'ho interpretata cosi la cosa visto che ogni profilo appartiene a un solo utente percio (1:1) ergo foreign key)
spero non sia una cagata![]()
![]()
Originally posted by bledar
visto che hai caricato il percorso non c'e piu bisigno di aprire il file tramite fopen etc basta prendere dal db quell percorso e inserirlo dentro una tag html
beh basta che metti il tuo path che hai caricato nel db come link e ti apre quel file
<a href="../images/forest.gif">testo del link.</a>
<a href="../images/nome.txt">testo del link.</a>
se non lo fai cosi , devi genereare del codice html tramite php
Originally posted by bledar
beh basta che metti il tuo path che hai caricato nel db come link e ti apre quel file
<a href="../images/forest.gif">testo del link.</a>
<a href="../images/nome.txt">testo del link.</a>
se non lo fai cosi , devi genereare del codice html tramite php
Per fare così nel DB devi salvare o il link in formato "html" oppure il link relativo.
Ti faccio un esempio: metti che la home del server http sia sul percorso fisico del server c:\inetpub\wwwroot\ e che il file dell'articolo sia pippo.html in c:\inetpub\wwwroot\articoli.
se nel DB salvi c:\inetpub\wwwroot\articoli\pippo.html sei un po' inguaiato ;P
Devi salvare o http://nomeserver/articoli/pippo.html e poi proporre direttamente il link oppure il percorso relativo a partire dalla home quindi articoli/pippo.html (meglio) in questo caso non fai altro che passare al browser il percorso relativo e lui come per magia te lo visualizzarà.
Originally posted by zonker
in questo caso non fai altro che passare al browser il percorso relativo e lui come per magia te lo visualizzarà.
tramite php devi scrive cosi
echo "<iframe src='$link'>";
echo "</iframe>";
chiaramente $link lo recuperi dal db
Originally posted by bledar
tramite php devi scrive cosi
echo "<iframe src='$link'>";
echo "</iframe>";
chiaramente $link lo recuperi dal db
ciao ragazzi , io sono un po perplesso sulla facenda delle viste
anche se qualcosa con zoncer ho chiarito ma
lui dice
A leggere il testo per quello che c'è scritto andrebbe intrepretato così.Ma è ovviamente una cagata in quanto viola il principio per cui una base di dati debba evolvere nel tempo modificando la propria istanza (ossia i dati) e non la propria struttura (ossia lo schema).
Una interpretazione sensata è che ai contenuti si acceda tramite una o più viste mettendo poi su queste viste delle condizioni di where in base all'utente e al suo profilo.
In effetti la vista non è di nessuna utilità...viene messa nelle specifiche secondo me solo per obbligarci ad usare almeno una vista nel DBMS, cosa che potrebbe tranquillamente essere evitata visto che di fatto le "viste" le si crea dinamicamente nell'applicazione via PHP o ASP accedendo alle tabelle.
L'unica vista che ho usato si occupa solo di estrarre gli argomenti di un profilo attivo, e viene usata all'interno di una ENORME query...
Come l'avete gestita voi la storia dei profili e degli argomenti? Io ho fatto che se per esempio il profilo attivo ha come argomenti "informatica, sport", allora verranno estratti TUTTI i contenuti che hanno almeno uno dei due argomenti. Un contenuto "hobby,informatica" verra' estratto ad esempio.
qualcuno mi sa dire che errore faccio nel seguente trigger
CREATE OR REPLACE FUNCTION modnum()
RETURNS "trigger" AS
$BODY$
DECLARE
BEGIN
UPDATE content SET mod_n = mod_n+1 WHERE id =
NEW.id;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
CREATE TRIGGER modnum
AFTER UPDATE
ON content
FOR EACH ROW
EXECUTE PROCEDURE modnum();
voi come avete gestito l'ordine di importanza degli argomenti scelti?
lo fate scegliere all'utente oppure lo inserite in automatico
io faccio scegliere al utente
okei, per il trigger provato con after?, prima si fa l'update e poi si legge il valore new, o no??
ma poi a cosa servirà mai l' importanza
anche nel esempi sopra c'e scritto AFTER UPDATE 
a si scusa, ma sono davvero stanco, devo riuscire a finire questo progetto..
forza allora che lo finiamo
il numero di modifiche e il numero di accessi li inserite nella tabella contenuto o avete una tabella a parte per segnalare modifiche e accessi per ogni contenuto?
ma come fai a vedere se l'utente inserisce numeri o altro, hai fatto un controllo o esiste una qualche opzione/comando
io nella tabella contenuto ho numero modifiche/accessi e data registrazione
non ho capito bene la tua domanda ...
se l'utente sceglie 3 argomenti li e li deve ordinare, dovrà inserire 3 numeri, 1-2-3, dove 1 è l'argomento + importante, se io faccio un input type text, posso mettere qualsiasi cosa, e non va bene
tu hai fatto in maniera diversa poercaso?
si ho fatto in maniera diversa , ho fatto una drop down list con i valori da 1 a 5 da far scegliere al utente come valutazione per ognuno dei contenuti
ecco
echo "<select name='$data[0]'>";
echo "<option value=1>1</option>";
echo "<option value=2>2</option>";
echo "<option value=3>3</option>";
echo "<option value=4>4</option>";
echo "<option value=5>5</option>";
echo "</select> ";
chiaramente $data[0] proviene da un query che recuper il nome dell'argomento
ho chiesto al prof a proposito delle viste e ho ricevuto la seguente risposta
La vista è una sola, ma è parametrica rispetto al profilo attivo
qualcuno mi sa spiegare meglio??
pure io ci avevo provato a fare una cosa simile ma senza riuscirci, l'unico neo nel tuo consiglio è che i numeri sono fissi e non dinamici(come avevo provato a fare) in base al nuero di argomenti scelti, grazie per la risposta, mi soddisfa ugualmente 
mi sembra di dire una cosa ovvia, ma per me intende dire che in base al profilo attivo i paramentri, cioè gli argomenti, cambiano
mi sembra di dire una cosa ovvia, ma per me intende dire che in base al profilo attivo i paramentri, cioè gli argomenti, cambiano
Originally posted by bledar
ho chiesto al prof a proposito delle viste e ho ricevuto la seguente risposta

la mia vista tira fuori tutti gli argomenti, si be per gli argomenti sicuramente 5 basteranno, altrimenti che argomenti preferiti sono, se si scelgono tutti ![]()
scusa che domanda hai fatto simeon?
ma tira fuori solo i argomenti??
ti spiego una cosa
i ho una tabella contenuti , una argomenti e una contenutoTOargomento (visto che un contenuto puo appartenere a piu argomenti)
praticamente tu tiri fuori solo i argomenti e i contenuti assocciati a tali argomenti dalla vista
sono molto confuso su questa vista
io tiro fuori il profilo, l'argomento,il titolo arg e l'importanza
e poi ti prendi i contenuti relativi a questi argomenti preferiti ???
non e che potresti fare un esempio 
SELECT utente,arg_preferiti.profilo,arg_preferiti.argomento,arg_preferiti.titolo,importan FROM utente,arg_preferiti WHERE utente = 13 AND arg_preferiti.profilo = 8 ORDER BY importanza
ti ho copiato la query, arg_preferiti è la mia vista
ti ringrazio della risposta , faccio una piccola domanda per vedere se ho capito bene, praticamente nella vista tu metti il profilo, l'argomento,il titolo arg e l'importanza per tutti gli utenti e tutti i profili e poi selezioni i dati di un certo utente e del supo profilo attivo?
grazie di nuovo
Ma per consegnare il 16 bisogna iscriversi da qualche parte avento fatto i compitini?
no basta consegnare come descritto nelle modalita di consegna senza iscrizione
la vista mi tira fuori per ogni profilo gli argomenti preferiti
la vista mi tira fuori per ogni profilo gli argomenti preferiti e anche l'id di ogni contenuto assocciato a tale argomento
non e che sto faccendo una cagata??
mi rispondo da solo e proprio una cagata , meglio tirare fuori solo gli argomenti preferiti 
mi spiegate come faccio ad aprire un file .txt o un immagine una volta caricati .
ma voi come avete fatto a far inserire un nuovo profilo ad un utente generico?
Originally posted by ponte
mi spiegate come faccio ad aprire un file .txt o un immagine una volta caricati .
ma voi come avete fatto a far inserire un nuovo profilo ad un utente generico?
come uso la pg_lo_export?mi potresti fare un esempio
.. e la utilizzo se salvo i file nel mio db giusto !?
sto facendo la versione da 5 punti(ci provo)
ponte ma tu fai un upload sul serve oppure salvi il file dentro al DB
ho provato a farlo sul server ma nn riesco a visualizzare i miei file ..
quindi se e piu semplice salvarli nel db proverei con questa seconda opzione ma nn so come fare .
on camiba nulla, qundi tu hai i file salvati sul server, quindi dovresti avere salvato in un campo del database il percorso dove salvi il file
ok il problema e che nn so come aprirli.
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
Ciao ragazzi. Siamo veramente in mezzo al mare a causa dei trigger.
Noi stiamo utilizzando Mysql 5.0.27
Il dilemma è questo:
- dobbiamo anche noi inserire una funzione che richiami il trigger stesso?
abbiamo provato ad inserire direttamente il trigger da linea di comando (per prova) ma all'istruzione New.data = '2007-02-02' ci resituisce un errore.
Qual'è la sintassi che dobbiamo utilizzare?
Qualcuno potrebbe fornirci un esempio funzionante per mysql?
Come richiamiamo il trigger stesso?
Aiutateci!!!!!!!!!!
sicuramente ci sarà una funzione di mysql che restituisce la data..
New.data = data(); dovrai scrivere una cosa simile
nessuno che ha fatto xml??? io lo devo ancora vedere ma volevo sentire qualche parere
perche se faccio
pg_exec($db_handle,"INSERT INTO contein(percorso) VALUES ('upload_cont/$file_name')");
CON UN SOLO CAMPO DA INSERIRE FUNZINA E SE NE METTO PIU DI UNO NN FUNZIONA ........CAVOLO!!!!!
ESISTE UN MODO ALTERNATIVO PER FARE INSERT DA PHP?
$query = "INSERT INTO argomento (profilo,argomento) VALUES (";
$query .= " ' ";
$query .= $profilo;
$query .= "',";
$query .= " ' ";
$query .= $value;
$query .= "')";
pg_query($conn,$query);
dive in $profilo ce il valore, se invece vuoi scrivere tu il valore devi fare
$query = "INSERT INTO argomento (profilo,argomento) VALUES (";
$query .= " 213,231)";
chi è in grado di risolvere questo errore sql??????
more than one row returned by a subquery used as an expression
in pratica devo fare l'aggiunta di nuovi argomenti in un profilo e volevo visualizzare solo gli argomenti che non sono gia presenti nel profilo
per fare questo faccio una except che mi restituisce gli id degli argomenti, poi volevo usare questi id per tirare fuori il titolo
risolto usando na vista ![]()
ma la questione nn è riuscire a trovare una funzione x la data, ma riuscire a trovare il modo x implementare i trigger stessi. nn sappiamo proprio dove sbattere la testa!! S.O.S.
io uso solo due trigger, uno per le modifiche ed uno per il numero di elementi per ogni tipo di contenuto;a quanto sembra funzionano!.........ma nn mi fido molto !mi rompendo le palle....
ma qualcuno li ha fatti o no con MySql? Sapreste darmi qualche dritta?
io li ho fatti con postgres quindi nn saprei.se vuoi te ne passo uno dei miei nn so se cambia qualcosA.
oh mi sono rotto le palle !!!!ah ah ah basta odio i BLOG !!!
ma come avete usato le sessioni????????
io nn ho usato le sessioni ..era necessario per il prog da 3 punti?
Originally posted by primu2002
ma qualcuno li ha fatti o no con MySql? Sapreste darmi qualche dritta?
mi sembrano identici a quelli di postgres!
Originally posted by ponte
io nn ho usato le sessioni ..era necessario per il prog da 3 punti?
CREATE OR REPLACE FUNCTION modifica ()
RETURNS "trigger" AS
$BODY$
DECLARE
BEGIN
UPDATE insert_articolo SET n_modifiche = n_modifiche + 1 WHERE dimensione_articolo = NEW.dimensione_articolo;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
CREATE TRIGGER modifica
AFTER UPDATE
ON insert_articolo
FOR EACH ROW
EXECUTE PROCEDURE modifica();
non capisco perchè non va, io avendo i file caricati sul server quando faccio una modifica nella mia tabella cambio solo la dimendione del file
il resto non lo cambio
però facendo cosi non mi fa fare l'udate nel php
beh quella che ho fato io non so se si puo chiamare grafica , ma basta che funzioni corretamente non e che siamo grafici(alemeno io no di certo
)
il trigger non funziona perche entra in un loop infinito , visto che secondo il tuo trigger ogni volta che si fa un update tu cambi il numero di modifiche .Anche il tuo trigger fa un update percio riattiva sestesso.
dentro il trigger devve mettere un if
mettiamo che l'id del tuo contenuto si chiama proprio id devi fare una cosa del genere
if(new.id!=old.id)
update modifiche
endi if;
cosi va perche e lo stesso problema che avevo anche io
per anto_anto....credo che ci voglia old. davanti al primo dimensione_articolo, poi magari l'errore nn è quello, ma quando si mette un new di solito ci vuole pure un old
Originally posted by bledar
beh quella che ho fato io non so se si puo chiamare grafica , ma basta che funzioni corretamente non e che siamo grafici(alemeno io no di certo)
da quello che ho capito i voti nn saranno tanto bassi... nn disperiamo; fatto sta cmq, che il progetto è molto lungo e diciamo nn molto commisurato al numero dei crediti... ihihih
Intanto io continuo ad essere in mezzo al mare x i trigger mySql...
Originally posted by bledar
il trigger non funziona perche entra in un loop infinito
Originally posted by Simeon
Una cosa piu' elegante ad esempi sarebbe di far si che quando si visualizzano i contenuti i nomi degli autori siano linkati ai loro profili. Mi chiedevo proprio se roba del genere influisse nella valutazione...
Ah, i dubbi delle 4 del mattino.
__________________
Khelidan
Intervento del moderatore:
Non ho seguito bene il progetto, lo ammetto, ma ho editato il codice sopra in quanto meglio che non sia mostrato.
Se non aveva a vedere col progetto me ne scuso.
__________________
"Voi che tingete i mari del colore dello zinco, che tramutate i boschi in gialli deserti, i venti in fumi di polveri da sparo e che bruciate i cieli. Voi che volete ripetere i malvagi atti della sconsiderata Lilith, che fu la prima moglie di Adamo e poi la sposa del Diavolo. Voi che volete ripetere la ribellione scatenata da Lucifero, del mondo celeste il più splendente. Voi! Ascoltate l'afflizione della sottospecie alata che vola alta nel cielo." [Angel Sanctuary]
::: mail: yoruno@dsy.it ::: ::: My Site ::: ::: Dsy Photo Gallery ::: ::: DeviantART Gallery :::
Originally posted by khelidan
Lo hai ancora il progetto?Io lo fatto così se vuoi ti posso dare una mano,sta cosa è piu semplice di quanto credi,se hai fatto bene il db!![]()
Originally posted by Simeon
Ma lo so fare eh, e' solo che ho fatto un progetto che rispetta le specifiche ma non ho badato agli "extra", e mi era venuto il dubbio che servissero ad avere punteggio pieno![]()
__________________
Khelidan
qualcumo mi può spiegare come fare la parte in xml, non so da dove partire...mi sembra complessa
per quanto riguarda il manuale utente, bisogna farlo solo per la parte web?? sul database non si sono funzionalità fatte per il "cliente" o sbaglio??
AIUTO!!!! qualcuno può darmi una mano per la vista..... nn ce la faccio +!!!!!
anche io ho problemi per la vista che aggiorna gli accessi ? mentre quella per modifiche e num elementi funzionano
Originally posted by Gehur
qualcumo mi può spiegare come fare la parte in xml, non so da dove partire...mi sembra complessa
per quanto riguarda il manuale utente, bisogna farlo solo per la parte web?? sul database non si sono funzionalità fatte per il "cliente" o sbaglio??

mi potete consigliare un programma per fare il disegno dello schema er?
Gehur eccoti due dei post in cui ne abbiamo parlato:
XML: http://www.dsy.it/forum/showthread....3564#post423564
Profilo attivo: http://www.dsy.it/forum/showthread....8606#post418606
Per importare l'XML (ma anche per l'export se non ti piace il modo descritto nel post) usa XMLDOM http://www.topxml.com/php_xml_dom/
Per ponte: Visio è un ottimo prodotto (però e' microsoft quindi NON freeware)
mi sa che lo schema lo faccio a mano!!!!!!GREZZO
non è una cattiva idea, poi fai la scansione...
Originally posted by ponte
mi potete consigliare un programma per fare il disegno dello schema er?
ma per visualizzare il file xml da salvare come faccio??, non lo devo ceare prima??, per come ho fatto io stamattina, mi visualizza solo il risultato della query(incomprensibile), non riesco a visualizzare il documento xml.. è da considerasi errore
CHI MI SA DIRE COME SI FA IL DUMP CON PGADMIN.?
per visualizzare il file xml devi creare una pagina xml esattamente come fai per le normali pagine web ma con la sintassi xml, per cui anzichè essere <html><head>contenuto intestazione</head><body>contenuto del corpo</body></html>
sarà qualcosa tipo
<?xml version="1.0">
<profili>
<profilo>
contenuto del priofilo
</profilo>
</profili>
per Ponte, il dump è quello che in pgadmin è chiamato backup.
IN CHE FORMATO LO FACCIO :COMPRESS - TAR -PLAIN ?
Quando chiedono il dump direi che chiedono quanto necessario a creare lo schema quindi direi plain e senza dati se non hai gia messo lo script di creazione del DB nella documentazione
OK PERFETTO GRAZIEEEEEEEEEEEEEEEEEEEEEEEE
mi sa che non ci riuscirò....
la pagina esporta profilo.php mi esegue una query dove mi tira fuori tutti i dati che mi servono....in teoria con questi dati creo(dove??) un documento xml, che poi visualizzo e poi se l'utente se lo vuole salvare provede..è un procedimento sensato??
tutto sta nel formattare il risultato della query in xml
io nella pgina php ho questo codice
$t = '<'.'?';
$t .= "xml version='1.0' encoding='UTF-8'";
$t .= '?'.'>';
$t .= "<dataroot>";
while($row = pg_fetch_array($select_query)){
$t .= "<stampa_profilo>";
$t .= "<id_utente>";
$t .= (rtrim($row["utente"]));
$t .= "</id_utente>";
$t .= "<nome>";
$t .= (rtrim($row[1]));
$t .= "</nome>";
}
in partica salvo dento una variabile il codice xml compreso di intestazione e valoi nome e cognome
se stampo il contenuto dellla variabile, mi stampa il risulato della query incomprensibile, ma se guardo il codice html della pagina mi visualizza i tag xml...forse non stampa perche la pagina è salvata come php?
purtroppo sul php non ti so aiutare...
lo so, ma spero che ci sia anche qualcun altro che legga, cavoli non credo di eesere l'unico a fare il progetto da 5 punti...
al posto di fare un script per cancellare i file che si creano quando si naviga sul sito(non sono in grado), è possibile creare questi file nella directory temp del browser??
bene ragazzi, non sono riuscito a fare l'import xml e non mi vanno i trigger e la funzione, evviva
ma ci proverò lo stesso..
Non puoi creare file nella temp del browser: è una macchina diversa dal server...ad ogni modo fregatene, scrivi nella documentazione che esiste uno script di sistema operativo che a scadenze fissate va a cancellarle e poi non farlo. Ricorda che è un esame di basi di dati non di sitemi operativi ;-)
a chi avete consegnato il rìprogetto?
Io sto andando a consegnarlo a Messa.
Ragazzi questo : "Per coloro che hanno consegnato il progetto e che devono registrare il voto, si ricorda che è necessario eseguire l'iscrizione via SIFA all'appello di verbalizzazione di basi di dati entro il 20/04/07"
Si riferisce a noi che abbiamo fatto le prove in itinere vero?
ma lo lasci nella casella di postale?.perche montanelli nn ha nessuna casella postale quindi presumo che ci sia solo quella di messa.
Originally posted by ponte
ma lo lasci nella casella di postale?.perche montanelli nn ha nessuna casella postale quindi presumo che ci sia solo quella di messa.
Originally posted by Simeon
Io sto andando a consegnarlo a Messa.
Ragazzi questo : "Per coloro che hanno consegnato il progetto e che devono registrare il voto, si ricorda che è necessario eseguire l'iscrizione via SIFA all'appello di verbalizzazione di basi di dati entro il 20/04/07"
Si riferisce a noi che abbiamo fatto le prove in itinere vero?
consegnato progetto...semifunzionante purtroppo e con un relazione/manuale scarsa....non ne potevo + comunqe
Originally posted by mostrielo
Chiedo anch'io se si riferisci a chi ha sostenuto le prove in itinere.
infatti è un pò ambiguo come avviso..qualcuno sa qualche info in più?..cioè se è per quelli che hanno consegnato il progetto il 16?..thanks
io mi sono registrato poi .....boh ...nn e chiaro !!!!!!!!e un oracolo!
| All times are GMT. The time now is 16:58. | Pages (4): « 1 2 [3] 4 » Show all 481 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.