Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 17-08-10, 10:36   #1 (permalink)
User Newbie
 
Data di registrazione: Feb 2009
Messaggi: 3
Errore cannot redeclare function su script per copiare i post da wordpress

Ciao a tutti, scartabellando qua e la in rete ho realizzato questo script per visualizzare su homepages esterne a wordpress una preview degli ultimi articoli.
In realtà però funziona solo se effettui una query per un solo articolo altrimenti la parte di codice che tronca il testo (subito sotto il commento si chiama troncaTesto) crea un errore: Cannot redeclare function.
Qualcuno sa come risolvere questo problema?
Di seguito il codice:

Codice PHP:
<div class="news"  >  
<?php          
// query al database          
$db= @mysql_connect('xxxxxxxx','xxxxxx','xxxxxx');          
mysql_select_db('xxxxxxx' $db);          
$con mysql_connect("xxxxxxxxxxx","xxxxxxx","xxxxxxxxx");          
$sel_db mysql_select_db("xxxxxxxxx"$con);          
$result mysql_query("select * FROM wp_posts WHERE post_type ='post' and post_status ='publish' ORDER BY id desc limit 1 " ,$db);          
while (
$records mysql_fetch_assoc($result)) {                   

// sostituzone caratteri speciali          
$titolone $records['post_title'];                           
$titolone str_replace("è""&egrave;"$titolone);                  
$titolone str_replace("à""&agrave;"$titolone);                  
$titolone str_replace("à""&ograve;"$titolone);                  
$titolone str_replace("ì""&igrave;"$titolone);                  
$titolone str_replace("ù""&ugrave;"$titolone);          

//stampa titolo          
echo "<h4><a href='xxxxxxxxxx.com./index.php?p="$records['ID'] ."' target='_blank'> "$titolone ."</a></h4>";          
$calend $records['post_date'];                   

//taglia corregge e stampa data          
$calend str_replace("-""."$calend);         echo substr("<span class='data-post'>".$calend,0,34);         echo "</span>";           

// funzione che divide la stringa a tot caratteri senza tagliare le parole  
//e aggiungendo in fondo (se continua) ...            

function troncaTesto($testo$caratteri=500)           
{ if (
strlen($testo) <= $caratteri) return $testo;  
$nuovo wordwrap($testo$caratteri"|");           
$nuovotesto=explode("|",$nuovo); return $nuovotesto[0]."...";          }                                                        

// stampa testo e img post          
$testo $records['post_content'];           
$nuovoTesto troncaTesto($testo500);                   

// sostituzone caratteri speciali post                           
$nuovoTesto str_replace("è""&egrave;"$nuovoTesto);                  
$nuovoTesto str_replace("à""&agrave;"$nuovoTesto);                  
$nuovoTesto str_replace("à""&ograve;"$nuovoTesto);                  
$nuovoTesto str_replace("ì""&igrave;"$nuovoTesto);                  
$nuovoTesto str_replace("ù""&ugrave;"$nuovoTesto);                  
$nuovoTesto str_replace('target="_blank"''onclick="window.open(this.href);return false;" onkeypress="window.open(this.href);return false;"'$nuovoTesto);  

echo 
"<div class='post'>".$nuovoTesto;         }         ?>               
</div>
gozilla non in linea   Rispondi citando
Vecchio 17-08-10, 10:38   #2 (permalink)
Esperto
 
L'avatar di Gorka
 
Data di registrazione: Apr 2006
Ubicazione: Ragusa
Messaggi: 1,676
Invia un messaggio tramite MSN a Gorka Invia un messaggio tramite Skype a Gorka
Prova a spostare il codice
Quote:
function troncaTesto($testo, $caratteri=500)
{ if (
strlen($testo) <= $caratteri) return $testo;
$nuovo = wordwrap($testo, $caratteri, "|");
$nuovotesto=explode("|",$nuovo); return $nuovotesto[0]."..."; }
al di fuori del ciclo while (prima del ciclo)
Gorka non in linea   Rispondi citando
Vecchio 17-08-10, 11:00   #3 (permalink)
User Newbie
 
Data di registrazione: Feb 2009
Messaggi: 3
Si grazie, ce l'ho fatta, fuori dal while funziona, sia prima che dopo il ciclo.

Grz.
gozilla non in linea   Rispondi citando
Rispondi
Tags: , , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:28.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.