Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Hsc
    Registrato dal
    Nov 2012
    Messaggi
    4

    Problema su div in un inserimento post php

    Salve,

    Premetto che sto muovendo i primi passi in PHP, html e css invece li mastico meglio, nonostante questo ho un problema con l'impaginazione del blog esempio preso da html.it.
    Se provo ad impaginare l'anteprima dei messaggi con un div mi crea un anteprima dentro l'altra, vi copio un codice semplice per darvi un idea del problema.

    codice:
    #anteprima { width:960px; border:1px dotted; }
    Parte della pagina dedicata all'anteprima:


    codice:
    <div id="anteprima">
    <? 
        // visualizzazione dei dati
        echo "<h2>".$titolo_post."</h2>\n";
        echo  "Autore ". $autore_post . "\n";
    	echo  "
    \n";
        echo  "Pubblicato il " . $data->format_data($data_post) . "\n";
    	echo  "
    \n";
    	// link al testo completo del post
        echo $leggi_tutto = "
    <a href=\"post.php?id_post=$id_post\">Articolo completo</a>\n";
    	// anteprima del testo
    	echo "
    
    ".$data->preview($testo_post, 50, $leggi_tutto)."</p>\n";
    	// parte relativa al conteggio dei commenti
    	echo "Commenti: " . $data->conta_commenti("id_commento", "commenti", "id_post", $id_post, "approvato",'1');
    	echo " : <a href=\"commenti.php?id_post=$id_post\">Inserisci un commento</a>\n";
      } 
    }else{
      // notifica in assenza di record
      echo "Per il momento non sono disponibili post.";
    }
    
    // chiusura della connessione a MySQL
    $data->disconnetti();
    ?>
    </div>
    Sto usando l'hosting di aruba per fare i test, la pagina dove sto provando è la seguente: http://iosnap.altervista.org/

    Vi ringrazio anticipatamente per le rispose

  2. #2

    Re: Problema su div in un inserimento post php

    Originariamente inviato da Hsc
    Se provo ad impaginare l'anteprima dei messaggi con un div mi crea un anteprima dentro l'altra
    Significa che hai nidificato male i DIV ed è un probelma di HTML, non certo di PHP.

    Ricontrolla il codice a partire dal sorgente della pagina HTML finale e vedrai che devi avere aperto un div senza avere chiuso il precedente.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Peraltro, nella pagina di esempio che hai linkato, non mi sembra di vedere problemi di layout.
    Cosa ci sarebbe di strano?

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    Utente di HTML.it L'avatar di Hsc
    Registrato dal
    Nov 2012
    Messaggi
    4
    Originariamente inviato da alcio74
    Peraltro, nella pagina di esempio che hai linkato, non mi sembra di vedere problemi di layout.
    Cosa ci sarebbe di strano?

    Ho aumentato il padding di 20px cosi si evidenzia di più il problema

    Ho controllato se avevo aperto qualche div per sbaglio come mi hai consigliato ma non ne vedo, anche perchè non ce ne sono, o meglio, apro il div "anteprima" e lo chiudo alla fine dello script PHP

  5. #5
    Ti ripeto, siamo off-topic perché il tuo non è un problema PHP.
    Ad ogni modo non hai neanche seguito il mio consiglio di controllare l'html della pagina che hai linkato.

    codice:
    <div id="anteprima"> 
    <h2>Esempio 3</h2>
    Autore Nome
    
    
    Pubblicato il 09-11-2012
    
    
    
    Articolo completo
    
    
    Post di sempio numero 3.
    
    bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla
    Articolo completo
    </p>
    Commenti: 0 : Inserisci un commento
    <div id="anteprima"> 
    <h2>Esempio 2</h2>
    Autore Nome
    
    
    Pubblicato il 09-11-2012
    
    
    
    Articolo completo
    
    
    Secondo post esempio</p>
    Commenti: 1 : Inserisci un commento
    <div id="anteprima"> 
    <h2>Esempio 1</h2>
    Autore Nome
    
    
    Pubblicato il 08-11-2012
    
    
    
    Articolo completo
    
    
    Primo post esempio blog</p>
    Commenti: 0 : Inserisci un commento
    </div>
    Apri il DIV "anteprima", non lo chiudi e ne apri un altro.
    Non lo chiudi e ne apri un altro ancora!
    Alla fine, ne hai aperti tre ma ne chiudi uno solo.
    Come può funzionare bene???
    Hai detto che stai muovendo i primi passi con PHP, ma che mastichi meglio HTML e CSS.
    Non ti offendere, ma lo dico per te: forse è il caso che riguardi le basi anche di quelli.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Utente di HTML.it L'avatar di Hsc
    Registrato dal
    Nov 2012
    Messaggi
    4
    Originariamente inviato da alcio74
    Ti ripeto, siamo off-topic perché il tuo non è un problema PHP.
    Ad ogni modo non hai neanche seguito il mio consiglio di controllare l'html della pagina che hai linkato.

    codice:
    <div id="anteprima"> 
    <h2>Esempio 3</h2>
    Autore Nome
    
    
    Pubblicato il 09-11-2012
    
    
    
    Articolo completo
    
    
    Post di sempio numero 3.
    
    bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla
    Articolo completo
    </p>
    Commenti: 0 : Inserisci un commento
    <div id="anteprima"> 
    <h2>Esempio 2</h2>
    Autore Nome
    
    
    Pubblicato il 09-11-2012
    
    
    
    Articolo completo
    
    
    Secondo post esempio</p>
    Commenti: 1 : Inserisci un commento
    <div id="anteprima"> 
    <h2>Esempio 1</h2>
    Autore Nome
    
    
    Pubblicato il 08-11-2012
    
    
    
    Articolo completo
    
    
    Primo post esempio blog</p>
    Commenti: 0 : Inserisci un commento
    </div>
    Apri il DIV "anteprima", non lo chiudi e ne apri un altro.
    Non lo chiudi e ne apri un altro ancora!
    Alla fine, ne hai aperti tre ma ne chiudi uno solo.
    Come può funzionare bene???
    Hai detto che stai muovendo i primi passi con PHP, ma che mastichi meglio HTML e CSS.
    Non ti offendere, ma lo dico per te: forse è il caso che riguardi le basi anche di quelli.

    Ma no scusa, nel file sorgente PHP io ho aperto solo un DIV "Anteprima" e lo ho chiuso alla fine dello script, ne apre 3 in automatico quando genera l'html.. Il problema quindi è quello, come faccio a chiuderlo ogni volta che genera un post?

  7. #7
    Torno a ripetere: il problema di layout è HTML.
    Sarà generato da un errore di compilazione del PHP.
    Siccome lo script è visibilmente incompleto, non posso darti una mano per come lo hai postato, ma di sicuro il codice che hai messo te è dentro un ciclo, non so se di while o cosa.
    Devi semplicemente aprire il DIV anteprima fuori dal ciclo, oppure aprilo e chiuderlo dentro ogni ciclo.... in base a quello che pensi debba essere il layout!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    Per capirci.
    O fai qualcosa tipo.
    Codice PHP:
    // qui fai la query al DB

    echo "<div id=\\"anteprima\\">";
    while (
    $fetch mysql_fetch_array($query)) {
     
    // qui il codice di ogni box
    }
    echo 
    "</div>"
    Oppure:
    Codice PHP:
    // qui fai la query al DB

    while ($fetch mysql_fetch_array($query)) {
    echo 
    "<div id=\\"anteprima\\">";
     
    // qui il codice di ogni box
    echo "</div>";

    Il primo genera un solo div con tanti contenuti quanti record del DB sono stati trovati.
    Il secondo tanti DIV quanti contenuti esistono.
    In base a quello che pensi debba essere il tuo layout, dovrai decidere te.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Utente di HTML.it L'avatar di Hsc
    Registrato dal
    Nov 2012
    Messaggi
    4
    Originariamente inviato da alcio74
    Per capirci.
    O fai qualcosa tipo.
    Codice PHP:
    // qui fai la query al DB

    echo "<div id=\\"anteprima\\">";
    while (
    $fetch mysql_fetch_array($query)) {
     
    // qui il codice di ogni box
    }
    echo 
    "</div>"
    Oppure:
    Codice PHP:
    // qui fai la query al DB

    while ($fetch mysql_fetch_array($query)) {
    echo 
    "<div id=\\"anteprima\\">";
     
    // qui il codice di ogni box
    echo "</div>";

    Il primo genera un solo div con tanti contenuti quanti record del DB sono stati trovati.
    Il secondo tanti DIV quanti contenuti esistono.
    In base a quello che pensi debba essere il tuo layout, dovrai decidere te.
    Ti ringrazio! Sei stato molto gentile e paziente!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.