• User Attivo

    Miei dubbi sul Php

    2 domande da un neofita del php:

    • E' possibile indicare al dabatase un link dal quale prendere dei dati/testo?
      Mi servirebbe per aggiornare i risultati delle partite NBA che giocano tutti i giorni, altrimenti dovrei farlo io a mano ed è troppo dispendioso...
    • Quando visualizzo un testo in una pagina php facendo una query al db posso scegliere come formattare questo testo? Mi spiego: io ho un <p> e all'interno ci faccio una query. Questo <p> lo formatto con il foglio di stile, però il testo che è nel database è scritto senza spazi nè ritorni a capo... come faccio se voglio ordinarlo a mio piacimento?

  • Super User

    @Furious said:

    • E' possibile indicare al dabatase un link dal quale prendere dei dati/testo?
      Mi servirebbe per aggiornare i risultati delle partite NBA che giocano tutti i giorni, altrimenti dovrei farlo io a mano ed è troppo dispendioso...

    Non è chiarissimo.. ma in linea di massima si.
    Hai un database, lo interroghi e stampi il risultato (in questo caso dati/testo)

    • Quando visualizzo un testo in una pagina php facendo una query al db posso scegliere come formattare questo testo? Mi spiego: io ho un <p> e all'interno ci faccio una query. Questo <p> lo formatto con il foglio di stile, però il testo che è nel database è scritto senza spazi nè ritorni a capo... come faccio se voglio ordinarlo a mio piacimento?

    <p>query</p>

    beh, non so di preciso, ma per fare quello che dici, almeno gli spazi e gli a capo devi metterceli (gli a capo nel database però devi metterli come br)


  • User Attivo

    [QUOTE=Il_Rappo]Non è chiarissimo.. ma in linea di massima si.
    Hai un database, lo interroghi e stampi il risultato (in questo caso dati/testo)

    Concentriamoci un attimo su questo punto perchè è essenziale per me.
    Allora: io vorrei prendere del testo che sta in una pagina. Ora se io indico al database il link della pagina sulla quale prenderlo (non saprei come farlo per ora, ma poi vedrò) lui prenderebbe tutto il testo credo html della pagina, coi relativi menù... è possibile scegliere una porzione di testo soltanto?


  • User Attivo

    Per il secondo punto se è solo il discorso degli a-capo basta che usi la funzione nl2br()


  • Super User

    @Furious said:

    Concentriamoci un attimo su questo punto perchè è essenziale per me.
    Allora: io vorrei prendere del testo che sta in una pagina. Ora se io indico al database il link della pagina sulla quale prenderlo (non saprei come farlo per ora, ma poi vedrò) lui prenderebbe tutto il testo credo html della pagina, coi relativi menù... è possibile scegliere una porzione di testo soltanto?

    :?Non ho capito nulla....


  • User Attivo

    @Il_Rappo said:

    :?Non ho capito nulla....

    Mi spiego meglio....
    mettiamo il caso che questa pagina del forum gt aggiorni i suoi contenuti ogni giorno e io voglio visualizzare in una pagina del mio sito quello che c'è scritto in questa pagina.
    Posso farlo con php?


  • Super User

    @Furious said:

    Mi spiego meglio....
    mettiamo il caso che questa pagina del forum gt aggiorni i suoi contenuti ogni giorno e io voglio visualizzare in una pagina del mio sito quello che c'è scritto in questa pagina.
    Posso farlo con php?

    Haaaaaa si si si!

    Con un dominio esterno non so se puoi farlo (in linea di massima credo di si, ma prendi tutto, da <html> fino a </html>)

    Sennò lo fai con un file del tuo stesso spazio web, però sta attento che il sistema è simile ai frame, solo che nel crearlo ricordati sempre che non devi scrivere <html> ecc... a meno che ovviamente il file non è all'inizio del tutto, perchè poi a video, crei solo una pagina html 🙂

    cmq il comando è

    [php]include "nomefile.ext";[/php]

    Scusa se sono stato poco chiaro:bho:


  • User Attivo

    @Il_Rappo said:

    Haaaaaa si si si!

    Sennò lo fai con un file del tuo stesso spazio web:

    Come sarebbe? Con un file che già ho ? Ti ricordo che devo visualizzare dei contenuti che io non ho e che cambiano ogni giorno...

    @Il_Rappo said:

    , però sta attento che il sistema è simile ai frame,

    Non è un problema se come risultato ho un frame: quella sarà la pagina dei risultati non è necessario che sia indicizzata o posizionata.

    @Il_Rappo said:

    , solo che nel crearlo ricordati sempre che non devi scrivere <html> ecc... :

    Ehmm.... ma non devo usare il comando "include" di php?

    @Il_Rappo said:

    , a meno che ovviamente il file non è all'inizio del tutto, perchè poi a video, crei solo una pagina html :):

    Boh.... nn avendoti capito prima.... 😞

    @Il_Rappo said:

    , cmq il comando è

    [php]include "nomefile.ext";[/php]

    E che nome di file ci metto? Non dovrei metterci l'url della pagina da dove prendo il testo??? :bho:

    @Il_Rappo said:

    Scusa se sono stato poco chiaro:bho:

    Beh in effetti nn ci ho capito una mazza... 😄


  • User

    Ciao Furious,

    se vuoi includere una pagina esterna puoi farlo ma ti includerà l'intera pagina richiesta.

    Es.

    se la pagina di tuo interesse è:

    puoi richiamarla all'interno del tuo sito con il comando include di php:

    
    - <? include "http://www.nomedeldominio/pagina_interessata.html"; ?>
    
    

    il problema, però sorge dal fatto che includerai tutta la pagina, compreso le intestazioni <html>, <head>, etc...

    per ovviare potresti fare così:

    • crea un file nel tuo sito (es. frame.php) che contenga soltanto il comando include
    • nel punto dove vuoi richiamare la pagina crea un frame (o un iframe) che richiami la tua pagina (frame.php)

    e il gioco è fatto.


  • User Attivo

    @scapritta said:

    Ciao Furious,

    se vuoi includere una pagina esterna puoi farlo ma ti includerà l'intera pagina richiesta.

    Es.

    se la pagina di tuo interesse è:

    puoi richiamarla all'interno del tuo sito con il comando include di php:

    
    - <? include "http://www.nomedeldominio/pagina_interessata.html"; ?>
    
    

    il problema, però sorge dal fatto che includerai tutta la pagina, compreso le intestazioni <html>, <head>, etc...

    per ovviare potresti fare così:

    • crea un file nel tuo sito (es. frame.php) che contenga soltanto il comando include
    • nel punto dove vuoi richiamare la pagina crea un frame (o un iframe) che richiami la tua pagina (frame.php)

    e il gioco è fatto.

    E' perfetto e fa proprio al mio caso! Il problema è che in tutti gli esempi che ho visto la funzione include richiama sempre e solo file e non pagine html...
    Io l'ho provata ma con una pagina html non funziona in effetti...

    Ecco il codice che ho utilizzato:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    <link href="posiz-assoluto.css" rel="stylesheet" type="text/css">
    </head>

    <body><div align="center">
    <div id="container">
    ..................
    <p>
    <?php include "http:www...."; ?>
    </p> </div>


  • Super User
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    <link href="posiz-assoluto.css" rel="stylesheet" type="text/css">
    </head>
    
    <body><div align="center">
    <div id="container">
    ..................
    <p>
    **<?php include "http:www...."; ?>**
    </p>  </div>
    

    Così facendo, l'html tuo nelle ultime righe diventa:

    <body><div align="center">
    <div id="container">
    ..................
    <p>
    <html>
    <head>
    ......
    </html>

    </p> </div>

    Perchè l'include non serve per includere pagine intere.. ma solo pezzi di pagine che poi possono essere richiamati più volte (tipo un footer o un menu in un sito)

    Certo la pagina deve avere come estensione .php sennò non funziona


  • User

    @Furious said:

    E' perfetto e fa proprio al mio caso! Il problema è che in tutti gli esempi che ho visto la funzione include richiama sempre e solo file e non pagine html...
    Io l'ho provata ma con una pagina html non funziona in effetti...

    Ecco il codice che ho utilizzato:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    <link href="posiz-assoluto.css" rel="stylesheet" type="text/css">
    </head>

    <body><div align="center">
    <div id="container">
    ..................
    <p>
    <?php include "http:www...."; ?>
    </p> </div>

    scusami, ci sto pensando soltanto adesso ma alla fine è più semplice richiamare la pagina all'interno di un iframe senza bisogno di include in php...

    
     <iframe src="http://eccetera" scrolling="yes" height="300" width="100%" frameborder="0"> 
          Se non visualizzi il frame clicca qui <a href="http://eccetera" >pagina linkata</a></iframe>
    
    

  • User Attivo

    Giusto scapritta, l'idea dell'iframe è ottima per me in questo momento! :brindisi:
    E' una soluzione rapida, semplice ed efficace. Certo per avere il top dovrei riuscire a prendere solo una porzione di quella pagina esterna, ma non ci riesco per il momento 😞


  • User Attivo

    @Il_Rappo said:

    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    <link href="posiz-assoluto.css" rel="stylesheet" type="text/css">
    </head>
    
    <body><div align="center">
    <div id="container">
    ..................
    <p>
    **<?php include "http:www...."; ?>**
    </p>  </div>
    

    Così facendo, l'html tuo nelle ultime righe diventa:

    <body><div align="center">
    <div id="container">
    ..................
    <p>
    <html>
    <head>
    ......
    </html>

    </p> </div>

    Perchè l'include non serve per includere pagine intere.. ma solo pezzi di pagine che poi possono essere richiamati più volte (tipo un footer o un menu in un sito)

    Certo la pagina deve avere come estensione .php sennò non funziona

    La mia pagina ha estensione .php ovviamente.
    Il pezzo che vorrei includere diciamo che è un div di una pagina esterna. Ho letto in giro sul comando include e da quello che ho letto lo posso utilizzare solo per includere "files" e non "porzioni di pagine html o php", per questo motivo mi sono inceppato.
    Ora se tu mi dici che <?include "http://www.sito-esterno.htm o .php" ?> funziona, allora io potrei fare come già detto da scapritta...
    Ma il problema è che questo include non mi funziona con una pagina: siamo sicuri che si possa usare con una pagina di un sito, o si può usare solo e soltanto con i file, come ho già letto??? :mmm:


  • User Attivo

    Per fare quello che interessa a te non si usa l'include, bensì devi scrivere alcune righe di codice in cui fai la fopen dell'url che ti interessa, a questo punto puoi scorrere la pagina, trovare ciò che ti interessa e riformattarlo, leggerlo, etc.etc.
    Praticamente usi la fopen per leggere l'html della pagina che ti interessa come fosse un file locale.