Visualizzazione risultati 1 fino 20 di 20

Discussione: Aiuto codice php per visualizzare file txt

  1. #1
    Guest

    Predefinito Aiuto codice php per visualizzare file txt

    Buongiorno a tutti, ho un problema di questo tipo:
    Ho creato tramite un plugin(http://www.datatables.net/)

    questa pagina: http://raffosforums.altervista.org/musicline/index.html

    Quei titoli che vedete all'interno della tabella li ho inseriti manualmente ed il link "richiedi" fa riferimento ad una pagina php con il codice per richiedere!

    Ora il punto è...posso modificare il codice in qualche modo per far si che all'interno della tabella si inseriscano automaticamente dei brandi da un file txt???

    Il codice della prima pagina "index.html" è questo:

    Codice HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
    <html> 
    	
    
    <head> 
    		<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" /> 
    		
    		<title>jMusic Line</title> 
    		<style type="text/css" title="currentStyle"> 
    			@import "media/css/demo_page.css";
    			@import "media/css/demo_table_jui.css";
    			@import "examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
    		</style> 
    		<script type="text/javascript" language="javascript" src="media/js/jquery.js"></script> 
    		<script type="text/javascript" language="javascript" src="media/js/jquery.dataTables.js"></script> 
    		<script type="text/javascript" charset="utf-8"> 
    			$(document).ready(function() {
    				oTable = $('#example').dataTable({
    					"bJQueryUI": true,
    					"sPaginationType": "full_numbers"
    				});
    			} );
    		</script> 
    	</head> 
    
    <body id="dt_example">
    <div class="demo_jui"> 
    <table cellpadding="0" cellspacing="0" border="0" class="display" id="example"> 
    	<thead> 
    		<tr> 
    			<th>Artista</th> 
    			<th>Brano</th> 
    			<th>Azioni</th> 
    		</tr> 
    	</thead> 
    	<tbody> 
    		<tr class="gradeC"><td>Alessandra Amoroso</td><td>Dove sono i colori
    </td><td><a href="richieste.php?brano=Alessandra Amoroso * Dove sono i colori">Richiedi</a></td>
    </tr><tr class="gradeC"><td>ANDREYA TRIANA</td><td>LOST WHERE I BELONG
    </td><td><a href="richieste2a15.html?brano=ANDREYA TRIANA * LOST WHERE I BELONG">Richiedi</a></td>
    </tr><tr class="gradeC"><td>BAND AID</td><td>DO THEY KNOW IT'S CHRISTMAS (FEED THE WORLD)
    </td><td><a href="richieste6712.html?brano=BAND AID * DO THEY KNOW IT'S CHRISTMAS (FEED THE WORLD)">Richiedi</a></td>
    </tr><tr class="gradeC"><td>BRUNO MARS</td><td>JUST THE WAY YOU ARE
    </td><td><a href="richieste2a43.html?brano=BRUNO MARS * JUST THE WAY YOU ARE">Richiedi</a></td>
    </tr><tr class="gradeC"><td>CANADIANS</td><td>YES MAN
    </td><td><a href="richieste975b.html?brano=CANADIANS * YES MAN">Richiedi</a></td>
    </tr><tr class="gradeC"><td>CARMEN CONSOLI</td><td>GUARDA L'ALBA
    </td><td><a href="richieste0ddc.html?brano=CARMEN CONSOLI * GUARDA L'ALBA">Richiedi</a></td>
    </tr><tr class="gradeC"><td>CARO EMERALD</td><td>A NIGHT LIKE THIS
    </td><td><a href="richiestebcc5.html?brano=CARO EMERALD * A NIGHT LIKE THIS">Richiedi</a></td>
    </tr><tr class="gradeC"><td>CEE LO GREEN</td><td>F**K YOU
    </td><td><a href="richieste6113.html?brano=CEE LO GREEN * F**K YOU">Richiedi</a></td>
    </tr><tr class="gradeC"><td>CESARE CREMONINI FT. MALIKA AYANE</td><td>HELLO
    </td><td><a href="richieste3e34.html?brano=CESARE CREMONINI FT. MALIKA AYANE * HELLO">Richiedi</a></td>
    </tr><tr class="gradeC"><td>COLDPLAY</td><td>CHRISTMAS LIGHTS
    </td><td><a href="richieste5537.html?brano=COLDPLAY * CHRISTMAS LIGHTS">Richiedi</a></td>
    </tr><tr class="gradeC"><td>DANIELE SILVESTRI</td><td>PRECARIO È IL MONDO
    </td><td><a href="richiestead8f.html?brano=DANIELE SILVESTRI * PRECARIO È IL MONDO">Richiedi</a></td>
    </tr><tr class="gradeC"><td>DUE DI PICCHE</td><td>FARE A MENO DI TE
    </td><td><a href="richieste1f0d.html?brano=DUE DI PICCHE * FARE A MENO DI TE">Richiedi</a></td>
    </tr><tr class="gradeC"><td>DUFFY</td><td>WELL, WELL, WELL
    </td><td><a href="richiestebe93.html?brano=DUFFY * WELL, WELL, WELL">Richiedi</a></td>
    </tr><tr class="gradeC"><td>ELISA</td><td>NOSTALGIA
    </td><td><a href="richieste8c87.html?brano=ELISA * NOSTALGIA">Richiedi</a></td>
    </tr><tr class="gradeC"><td>ELIZA DOOLITTLE</td><td>PACK UP
    </td><td><a href="richieste3e84.html?brano=ELIZA DOOLITTLE * PACK UP">Richiedi</a></td>
    </tr><tr class="gradeC"><td>ELIZA DOOLITTLE</td><td>SKINNY GENES
    </td><td><a href="richieste8300.html?brano=ELIZA DOOLITTLE * SKINNY GENES">Richiedi</a></td>
    </tr><tr class="gradeC"><td>ELVIS PRESLEY</td><td>SUSPICIOUS MINDS
    </td><td><a href="richieste3690.html?brano=ELVIS PRESLEY * SUSPICIOUS MINDS">Richiedi</a></td>
    </tr><tr class="gradeC"><td>EMINEM & RIHANNA</td><td>LOVE THE WAY YOU LIE
    </td><td><a href="richiested367.html?brano=EMINEM &amp; RIHANNA * LOVE THE WAY YOU LIE">Richiedi</a></td>
    </tr><tr class="gradeC"><td>FLO RIDA FEAT. DAVID GUETTA |</td><td>CLUB CAN'T HANDLE ME
    </td><td><a href="richiestebf28.html?brano=FLO RIDA FEAT. DAVID GUETTA | * CLUB CAN'T HANDLE ME">Richiedi</a></td>
    </tr><tr class="gradeC"><td>GIANNA NANNINI</td><td>OGNI TANTO
    </td><td><a href="richieste3539.html?brano=GIANNA NANNINI * OGNI TANTO">Richiedi</a></td>
    </tr><tr class="gradeC"><td>JAMES BLUNT</td><td>STAY THE NIGHT
    </td><td><a href="richiestef0e9.html?brano=JAMES BLUNT * STAY THE NIGHT">Richiedi</a></td>
    </tr><tr class="gradeC"><td>JAMIROQUAI</td><td>BLUE SKIES
    </td><td><a href="richieste6d91.html?brano=JAMIROQUAI * BLUE SKIES">Richiedi</a></td>
    </tr><tr class="gradeC"><td>JAMIROQUAI</td><td>WHITE KNUCKLE RIDE
    </td><td><a href="richieste32bf.html?brano=JAMIROQUAI * WHITE KNUCKLE RIDE">Richiedi</a></td>
    </tr><tr class="gradeC"><td>JOHN LENNON</td><td>HAPPY CHRISTMAS (WAR IS OVER)
    </td><td><a href="richiestee61f.php?brano=JOHN LENNON * HAPPY CHRISTMAS (WAR IS OVER)">Richiedi</a></td>
    </tr><tr class="gradeC"><td>JOVANOTTI</td><td>TUTTO L'AMORE CHE HO
    </td><td><a href="richiestecbd6.php?brano=JOVANOTTI * TUTTO L'AMORE CHE HO">Richiedi</a></td>
    </tr><tr class="gradeC"><td>KATY PERRY</td><td>FIREWORK
    </td><td><a href="richieste7873.html?brano=KATY PERRY * FIREWORK">Richiedi</a></td>
    </tr><tr class="gradeC"><td>KINGS OF LEON</td><td>PYRO
    </td><td><a href="richiestedc5e.html?brano=KINGS OF LEON * PYRO">Richiedi</a></td>
    </tr><tr class="gradeC"><td>KYLIE MINOGUE</td><td>ALL THE LOVERS
    </td><td><a href="richiestebce9.html?brano=KYLIE MINOGUE * ALL THE LOVERS">Richiedi</a></td>
    </tr><tr class="gradeC"><td>LIGABUE</td><td>CI SEI SEMPRE STATA
    </td><td><a href="richiestee3be.html?brano=LIGABUE * CI SEI SEMPRE STATA">Richiedi</a></td>
    </tr><tr class="gradeC"><td>MALIKA AYANE</td><td>THOUGHTS AND CLOUDS
    </td><td><a href="richieste4f00.html?brano=MALIKA AYANE * THOUGHTS AND CLOUDS">Richiedi</a></td>
    </tr><tr class="gradeC"><td>MARIAH CAREY</td><td>ALL I WANT FOR CHRISTMAS IS YOU
    </td><td><a href="richiesteb216.html?brano=MARIAH CAREY * ALL I WANT FOR CHRISTMAS IS YOU">Richiedi</a></td>
    </tr><tr class="gradeC"><td>MARIAH CAREY</td><td>HERE COMES SANTA CLAUS
    </td><td><a href="richieste55f3.html?brano=MARIAH CAREY * HERE COMES SANTA CLAUS">Richiedi</a></td>
    </tr><tr class="gradeC"><td>MARLENE KUNTZ</td><td>PAOLO ANIMA SALVA
    </td><td><a href="richiestea1d4.html?brano=MARLENE KUNTZ * PAOLO ANIMA SALVA">Richiedi</a></td>
    </tr><tr class="gradeC"><td>MAROON 5</td><td>GIVE A LITTLE MORE
    </td><td><a href="richiested5c3.html?brano=MAROON 5 * GIVE A LITTLE MORE">Richiedi</a></td>
    </tr><tr class="gradeC"><td>MAXIMUM BALLOON</td><td>GROOVE ME
    </td><td><a href="richiesteade3.html?brano=MAXIMUM BALLOON * GROOVE ME">Richiedi</a></td>
    </tr><tr class="gradeC"><td>MICHAEL JACKSON AND AKON</td><td>HOLD MY HAND
    </td><td><a href="richieste5573.html?brano=MICHAEL JACKSON AND AKON * HOLD MY HAND">Richiedi</a></td>
    </tr><tr class="gradeC"><td>NE-YO</td><td>ONE IN A MILLION
    </td><td><a href="richiestee950.html?brano=NE-YO * ONE IN A MILLION">Richiedi</a></td>
    </tr><tr class="gradeC"><td>NEGRAMARO & ELISA</td><td>BASTA COSÌ
    </td><td><a href="richieste075e.html?brano=NEGRAMARO &amp; ELISA * BASTA COSÌ">Richiedi</a></td>
    </tr><tr class="gradeC"><td>NEGRAMARO</td><td>SING-HIOZZO
    </td><td><a href="richieste9329.html?brano=NEGRAMARO * SING-HIOZZO">Richiedi</a></td>
    </tr><tr class="gradeC"><td>PAOLO CONTE</td><td>L'ORCHESTRINA
    </td><td><a href="richiesteaa0d.html?brano=PAOLO CONTE * L'ORCHESTRINA">Richiedi</a></td>
    </tr><tr class="gradeC"><td>PHIL COLLINS</td><td>GOING BACK
    </td><td><a href="richieste1ff2.html?brano=PHIL COLLINS * GOING BACK">Richiedi</a></td>
    </tr><tr class="gradeC"><td>QUINCY JONES  FT. AMY WINEHOUSE</td><td>IT'S MY PARTY
    </td><td><a href="richiestefef8.html?brano=QUINCY JONES  FT. AMY WINEHOUSE * IT'S MY PARTY">Richiedi</a></td>
    </tr><tr class="gradeC"><td>QUINTORIGO</td><td>TEARDROPS
    </td><td><a href="richieste5ca9.html?brano=QUINTORIGO * TEARDROPS">Richiedi</a></td>
    </tr><tr class="gradeC"><td>RIHANNA  FEAT  DRAKE</td><td>WHAT'S MY NAME
    </td><td><a href="richiesteeb99.html?brano=RIHANNA  FEAT  DRAKE * WHAT'S MY NAME">Richiedi</a></td>
    </tr><tr class="gradeC"><td>SKUNK ANANSIE</td><td>OVER THE LOVE
    </td><td><a href="richiesteae34.html?brano=SKUNK ANANSIE * OVER THE LOVE">Richiedi</a></td>
    </tr><tr class="gradeC"><td>TAKE THAT</td><td>THE FLOOD
    </td><td><a href="richiested718.html?brano=TAKE THAT * THE FLOOD">Richiedi</a></td>
    </tr><tr class="gradeC"><td>THE SCRIPT</td><td>FOR THE FIRST TIME
    </td><td><a href="richieste172a.html?brano=THE SCRIPT * FOR THE FIRST TIME">Richiedi</a></td>
    </tr><tr class="gradeC"><td>TRAIN</td><td>SHAKE UP CHRISTMAS
    </td><td><a href="richieste9ddd.html?brano=TRAIN * SHAKE UP CHRISTMAS">Richiedi</a></td>
    </tr><tr class="gradeC"><td>WHAM</td><td>LAST CHRISTMAS
    </td><td><a href="richieste0725.html?brano=WHAM * LAST CHRISTMAS">Richiedi</a></td>
    </tr>	</tbody> 
    </table> 
    			</div> 
    </body>
    </html>
    Il file txt si trova qui: http://raffosforums.altervista.org/joomla/MusicLine.txt

    Spero in una vostra risposta ed in un vostro aiuto!
    Ultima modifica di alemoppo : 26-08-2011 alle ore 18.49.49 Motivo: [code] -> [html]

  2. #2
    Guest

    Predefinito

    Puoi leggere il file di testo con fget

    Una spiegazione qui (sezione fgets e feof ).

    poi al posto di far stampare solo il testo, puoi crearti la tabella

    al posto di

    Codice PHP:
    echo $riga."<br>";
    fai

    Codice PHP:
    $riga2 = split(" * ", $riga);

    echo
    "<tr class=\"gradeC\"><td>".$riga2[0]."</td><td>".$riga2[1]."</td><td><a href=\"richieste.php?brano=".$riga."\">Richiedi</a></td>
    </tr>"
    ;
    In pratica leggo il file una riga alla volta, spezzo la riga in modo da separare autore e canzone e poi compongo le righe della tabella.

  3. #3
    Guest

    Predefinito

    grazie mille, l'idea è giusta, hai capito quello che mi serve ;) però in questo modo mi inserisce in tabella autori e brani affiancati al richiedi... guarda: http://raffosforums.altervista.org/musicline/prova.php

    e poi... come posso inserirlo nel mio css del primo post?

  4. #4
    Guest

    Predefinito

    ecco poi come verrebbe... http://raffosforums.altervista.org/musicline/pros.php

    in pratica la riga viene spezzata male ed a volte separa il nome dell'autore dal cognome e poi il titolo del brano sparisce!
    Ultima modifica di raffosforums : 28-08-2011 alle ore 16.55.02

  5. #5
    Guest

    Predefinito

    la pagina che hai generato è solo una parte della pagina HTML.

    La parte HTML dei vinserirla ugualmete, e soprattutto devi includere dentro al tag TABLE.

    In pratica il ciclo che hai fatto ti popola solo la parte dentro i tag <table></table>, il resto devi inserirlo lo stesso.

  6. #6
    Guest

    Predefinito

    fatto... http://raffosforums.altervista.org/musicline/index.php

    il problema è come viene spezzata la riga...altrimenti è tutto perfetto! Cioè non deve dividere il nome dal cognome dell'autore... capito?
    Ultima modifica di raffosforums : 28-08-2011 alle ore 17.08.51

  7. #7
    Guest

    Predefinito

    Quello dipende da come imposti lo split.

    Se il file txt è quello che haai linkato nel primo post dovrebbe vessere

    Codice PHP:
    ... split(" * ", $variaabile) ...
    in modo che il/(i) carattere(i) da prendere in considerazione per spezzare il testo sia la sequenza SPAZIO-ASTERISCO-SPAZIO

  8. #8
    Guest

    Predefinito

    dove spazio significa?
    dove asterisco significa?
    io dovrei riuscire a far entrare 2 parole( nome e cognome autore) all'interno della prima colonna e poi il resto(titolo della canzone nella seconda colonna della tabella!
    Ultima modifica di raffosforums : 28-08-2011 alle ore 17.24.50

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da raffosforums Visualizza messaggio
    dove spazio significa?
    dove asterisco significa?
    io dovrei riuscire a far entrare 2 parole( nome e cognome autore) all'interno della prima colonna e poi il resto(titolo della canzone nella seconda colonna della tabella!
    Significano quello che c'è scritto sopra (" * ").
    Basta leggere.

  10. #10
    Guest

    Predefinito

    in questo modo però non funge...
    Codice:
    <html> 
    	
    
    <head> 
    		<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" /> 
    		
    		<title>jMusic Line</title> 
    		<style type="text/css" title="currentStyle"> 
    			@import "media/css/demo_page.css";
    			@import "media/css/demo_table_jui.css";
    			@import "examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
    		</style> 
    		<script type="text/javascript" language="javascript" src="media/js/jquery.js"></script> 
    		<script type="text/javascript" language="javascript" src="media/js/jquery.dataTables.js"></script> 
    		<script type="text/javascript" charset="utf-8"> 
    			$(document).ready(function() {
    				oTable = $('#example').dataTable({
    					"bJQueryUI": true,
    					"sPaginationType": "full_numbers"
    				});
    			} );
    		</script> 
    	</head> 
    
    <body id="dt_example">
    <div class="demo_jui"> 
    <table cellpadding="0" cellspacing="0" border="0" class="display" id="example"> 
    	<thead> 
    		<tr> 
    			<th>Artista</th> 
    			<th>Brano</th> 
    			<th>Azioni</th> 
    		</tr> 
    	</thead> 
    	<tbody> 
    <?
    $var=fopen("http://www.azzurra.fm/joomla/pubblicazioni/MusicLine.txt","r");
    
    while (!feof($var))
    {
    $riga = fgets($var);
    $riga2 = split(" * ", $variaabile);
    
    echo "<tr class=\"gradeC\"><td>".$riga2[0]."</td><td>".$riga2[1]."</td><td><a href=\"richieste.php?brano=".$riga."\">Richiedi</a></td>
    </tr>";  ;
    }
    
    fclose($var);
    ?>
    
    		</tbody> 
    </table> 
    			</div> 
    </body>
    </html>

  11. #11
    Guest

    Predefinito

    Codice PHP:
    $riga2 = split(" * ", $variaabile);
    Ma è davvero così difficile cercare di capire ciò che si staa facendo?

    Non solo $variabile era un modo di indicare che li bisogna inserire il nome della variabile che contiene il testo da splittare, ma fare copia/incolla anche con gli errori ...

    Comunque, giusto per chiudere,

    Codice PHP:
    $riga2 = split(" * ", $riga);
    Puoi fare copia/incolla ...

  12. #12
    Guest

    Predefinito

    ed è lo stesso che mi hai dato all'inizio...

  13. #13
    Guest

    Predefinito

    Perdonami, non avevo considerato che "*" ha anche la valenza di carattere jolly (ovvero qualunque carattere) e quindi spezzava in un modo errato.

    fai questa modifica e funzionerà

    Codice PHP:
    $riga2=split(" \* ", $riga);
    La barra indica che deve considerare l'asterisco come carattere e non come jolly.

    Detto questo, solo come consiglio, ti vorrei far notare le prestazioni che hai con l'uso di file cos' grandi. Perchè non prendi in considerazione l'uso di un db?

    PS:
    Se hai problemi coi caratteri accentati, cambia il charset da utf-8 a iso-8859-1
    Ultima modifica di simpleticket : 28-08-2011 alle ore 18.17.10

  14. #14
    Guest

    Predefinito

    mi dice
    Fatal error: Call to undefined function splut() in /membri/raffosforums/musicline/index.php on line 43

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da raffosforums Visualizza messaggio
    mi dice
    Fatal error: Call to undefined function splut() in /membri/raffosforums/musicline/index.php on line 43
    Scusami ancora, errore di battitura.

    SPLIT non splut

  16. #16
    Guest

    Predefinito

    forse split

  17. #17
    Guest

    Predefinito

    PERFETTOOOOOO...
    funge alla perfezione, sei un genio! Scusa per il disturbo e la mia ignoranza in materia! Ecco a te: http://raffosforums.altervista.org/musicline/index.php

    prova a ricercare un brano!

  18. #18
    Guest

    Predefinito

    Si ora funziona, ma secondo me i tempi di caricamento della pagina sonlo alti, e questo perchè nonostante il fatto che i dati appaiano paginati, in realtà viene, ogni volta, creata l'intera tabella e la base dati è un file di testo.
    La stessa operazione effettuata usando un db sarebbe molto più rapida.

  19. #19
    Guest

    Predefinito

    illustrami... :D

  20. #20
    Guest

    Predefinito

    Io avrei salvato i dati dei brani in un db per recuperarli da li invece che da un file di testo, gestendo paginazione e ricerche lato server.
    Ma la cosa non è proprio cos' immedita.
    Prova a cercare un po' qualche guida che parla di PHP+MYSQL in modo da capire un po' meglio le potenzialità di questa accoppiata e prova a ripensare la tua applicazione alla luce di quello che leggi.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •