Discussioni utente:Frieda/OldTalk10: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 870:
Per il Cercatitoli e Wikisign.. tu avresti tempo e voglia di scrivere adattare le query per Wikisign e la nuova versione del db? Ciao,
:[[Utente:Frieda|Frieda]] ([[Discussioni utente:Frieda|dillo a Ubi]]) 10:56, 28 feb 2006 (CET)
 
Sembra che Wikisign in questo momento sia fuori uso, quindi non posso provare. Comunque, per conoscere tutte le voci (namespace principale), esistenti e non, linkate da qualche parte (qualsiasi namespace), e il cui titolo contenga "bla", dovrebbe funzionare una cosa tipo
<pre>
select pl_title from pagelinks
where pl_title like "%bla%"
and pl_namespace=0;
</pre>
Se vogliamo anche sapere da dove sono linkate (facciamo solo dal namespace principale), bisogna fare riferimento anche alla tabella "page":
<pre>
select page.page_title, pagelinks.pl_title from page, pagelinks
where page.page_id=pagelinks.pl_from
and pagelinks.pl_title like "%bla%"
and page.page_namespace=0
and pagelinks.pl_namespace=0;
</pre>
Se infine abbiamo bisogno anche di sapere se le pagine linkate esistono o meno, dobbiamo fare un doppio "join", il che potrebbe rendere la ''query'' molto lenta. Per esempio, potremmo farci dare la colonna "page_is_redirect", così
# se questa è 0, si tratta di una voce
# se è 1, si tratta di un redirect
# se è vuota (NULL), la pagina non esiste
<pre>
select page_from.page_title, pagelinks.pl_title, page_to.page_is_redirect
from page as page_from inner join pagelinks on page_from.page_id=pagelinks.pl_from
left join page as page_to on page_to.page_title=pagelinks.pl_title
where pagelinks.pl_title like "%bla%"
and page_from.page_namespace=0
and pagelinks.pl_namespace=0
and page_to.page_namespace=0;
</pre>
Il tutto, come detto, non è stato provato, quindi potrebbe essere completamente errato. Quando Wikisign sarà nuovamente disponibile, posso controllare. Inoltre, con queste ''query'' non si trovano le pagine orfane, per queste ci vorrebbe una ''query'' a parte. --[[Utente:Leonard Vertighel|“Ricordati…”]] 17:12, 28 feb 2006 (CET)
Ritorna alla pagina utente di "Frieda/OldTalk10".