Stampare div uno sotto l'altro come nei forum

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio
ciao
ho dato un occhio, ma mi risulta un po' ostico sistemare.
proprio non riesci a passare a mysql? ti toglieresti un sacco di grane e acquisteresti facilità per leggere/inserire/eliminare/uppare/cercare.
ti faccio un esempio guarda quello che ti avevo postato al #15 e vedi sotto con con che facilità si risolve (non ho usato i tuoi dati, ma è lo stesso)
PHP:
<?php
require_once "connessione.php"; //un file con i dati di connessione al db
$query="SELECT * FROM tabella_messaggi ORDER BY data LIMIT 20";
$risultato=mysql_query($query);
if(mysql_num_rows($risultato == 0){
	echo echo "<div class=\"me\">non ci sono messaggi</div>";
}else{
	while($riga=mysql_fetch_array($risultato)){
		echo "<div class=\"me\">";
		echo $riga['nome']. " - citt&agrave ".$riga['citta']. " - ".$riga['email']."<br />";
		echo nl2br($riga['citta']);//senza preuccuparsi del /n di fine record
		echo "</div>";
	}
}
//...
?>
ancora più semplice l'inserimento
PHP:
<?php
//......
	$nome=$_POST['nome'];
    $citta=$_POST['citta'];
    $email=$_POST['email'];
    $mess=$_POST['messaggio'];
	$query="(INSERT INTO tabella_messaggi(data, nome, citta, email, messaggio) VALUES('$data',$none','$citta','$email','$mess')";
	mysql_query($query);
	//.....
?>
senza contare che la tabella stessa diventa archivio di tutti i messaggi che ti inviano e/o inserire una paginazione dei messaggi
(io ho messo LIMIT 20) ma si può fare in modo che si possano vedere 20 messaggi alla volta (dall'ultimo al primo).

p.s.
non so che server locale tu utilizzi per vedere le pag php, ma molto probabilmente ha il db mysql abbinato.
comunque sono qui per darti una mano
Io avendo Altervista come sever, ho anche mysql, il punto è col mio file.html che uso come db, posso vedere tutti i dati modificarli lo stesso, forse mysql può andare per chi ha moltissimi dati da cercare, date, ecc.
 
ciao
non solo per moltissimi dati, ma soprattutto per rendersi la vita più facile, del resto avevi messo 1000 messaggi, se tu non avessi mysql capirei.
 
ciao
mysql te ne archivia anche 10000, poi puoi mostrarne quanti vuoi, anche tutti come detto facedo una paginazione (pag 1 da 1 a 20, pag 2 da 21 a a 30...- se vuoi vedere un esempio di paginazione vai sul mio sito e guarda foto d'autore è tutto basato su mysql)
oppure mostrarne 20 e con un pulsante andare all'archivio e vederli o tutti o solo quelli di un utente o solo di un certo periodo.
se es hai dei messaggi molto vecchi puoi fare in automatico che si elimino (elimina messagi con data minore del 2012) o eliminare quelli di un utente che si diverte a fare spam...
con mysql puoi fare (quasi) tutto quello che vuoi o che in futuro ti piacerebbe fare (l'appetito vien mangiando), cosa che col tuo sistema diventa estremamente difficile.
il tutto senza contare che il db è un po' più protetto dei file txt o html
 
ciao
mysql te ne archivia anche 10000, poi puoi mostrarne quanti vuoi, anche tutti come detto facedo una paginazione (pag 1 da 1 a 20, pag 2 da 21 a a 30...- se vuoi vedere un esempio di paginazione vai sul mio sito e guarda foto d'autore è tutto basato su mysql)
oppure mostrarne 20 e con un pulsante andare all'archivio e vederli o tutti o solo quelli di un utente o solo di un certo periodo.
se es hai dei messaggi molto vecchi puoi fare in automatico che si elimino (elimina messagi con data minore del 2012) o eliminare quelli di un utente che si diverte a fare spam...
con mysql puoi fare (quasi) tutto quello che vuoi o che in futuro ti piacerebbe fare (l'appetito vien mangiando), cosa che col tuo sistema diventa estremamente difficile.
il tutto senza contare che il db è un po' più protetto dei file txt o html
Ma quelle news delle città che hai nella colonna dx, sono nel db? Perciò non hai dovuto creare una pagina per ogni città
 
ciao
i vari menu si creano tramite db anche se non tutte le pagine sono uguali perche molte news le costruisco dalle email che mi inviano facendo salva con nome in html (quando ho fatto il sito la prima volta non conoscevo ancora mysql, ora lo farei in modo diverso). pero quando accedo, in automatico, php mi legge i file presenti, verifica che non esistano nel db e inserisce il nome del file per creare il/i vari link.
nel caso dei link creati nella pagina specifica della provincia si creano solo i link non più vecchi di 60 giorni.
comunque riassumendo puoi fare per molte cose una pagina unica che si prende i dati dal db
 
ciao
i vari menu si creano tramite db anche se non tutte le pagine sono uguali perche molte news le costruisco dalle email che mi inviano facendo salva con nome in html (quando ho fatto il sito la prima volta non conoscevo ancora mysql, ora lo farei in modo diverso). pero quando accedo, in automatico, php mi legge i file presenti, verifica che non esistano nel db e inserisce il nome del file per creare il/i vari link.
nel caso dei link creati nella pagina specifica della provincia si creano solo i link non più vecchi di 60 giorni.
comunque riassumendo puoi fare per molte cose una pagina unica che si prende i dati dal db
Ho visto che Altervista ha phpMyAdmin - 2.11.11.3, io es ho una ventina di pagine con le 2 colonne (dx e sx , l'header e il footer) uguali, cambia solo il contenuto del div centrale, col db potrei creare una sola pagina? http://www.gruppoalveo.altervista.org/successi.php
 
ciao
volendo si, ma es io preferisco avere una pag per argomento e includere solo quelle parti in comune.
mettiamo di tu abbia un menù che si ripete in ciascuna pagina
fai il file menu.php
poi nelle varie pagine
PHP:
<div id="destra">
<?php
include_once "menu.php";// o require_once "menu.php";
?>
</div>
poi è evidente che volendo puoi variare il contenuto in funzione di quanto hai nel db
es se tu hai i messaggi in italiano e in inglese puoi ipotizzando che tu abbia una tabella
id
testo_it
testo_en
puoi fare in funzione di un get o di una sessione, es
PHP:
<?php
if($_GET['lingua']=="it"){
	$campo="testo_it";
}else{
	$campo="testo_en";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>
<body>
<div id="destra">
<?php
include_once "menu.php";// o require_once "menu.php";
?>
</div>
<?php
//da cui la query con cui estrai o il testo in italiano o in inglese
$query=mysql_query("SELECT $campo FROM messaggi");
while($riga=mysql_fetch_array($query)){
	echo "div class=\"messaggi\">".$riga['messaggio']."</div>";
}
//...
?>
l'unica cosa è ricordarsi che le pagine devono essere salvate con l'estenzione .php
io non faccio più pagine .html ma .php anche se non contengono alcun script, non si sa mai in futuro...
 
Ieri ho dato ancora un'occhiata a mysql, ma è troppo difficile per me, termini, codici, eppoi per il mio contesto va bene un file.html, non devo gestire un forum
 
Saltano fuori le virgole fuori posto, ho notato che quando apro la home, ll link Successi() appare senza numero dei messaggi, se poi vado nella pagina Successi, si carica il numero.

In tutte le pagine del sito ho questo

PHP:
<?php 
session_start(); 
?>
<!DOCTYPE html> 
<html> 
...

<a href="http://sito.it/successi.php">Successi&nbsp;<?php echo "(".$_SESSION['successi'].")"; ?></a>

mentre nella pagina Successi, in aggiunta ho anche questo sopra il !doctype

PHP:
<?php // ...1/6
session_start();
if(file_exists('messaggi.html')){ 
    $righe_mess = file('messaggi.html');//ritorna un array con le righe del file
    $_SESSION['successi']=count($righe_mess);//aggiungi questa riga 
         if(is_array($righe_mess)){
    ?>
<!DOCTYPE html> 
<html> 
...
 
ciao
sfrutta le potenzialità di php
ti fai un file php con il codice sotto e chiamalo es. menu_oriz.php e lo salvi in una cartella es. file_da_incl
PHP:
<?php
if(file_exists('messaggi.html')){ 
    $righe_mess = file('messaggi.html');//ritorna un array con le righe del file
    $num_successi=count($righe_mess);//aggiungi questa riga 
}else{
	$num_successi=0;
}  
?>      
<div class="bottoni">
<a class="bottone1" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49588&amp;urlr=&amp;gruppoalveo.altervista.org/index.php">Home</a>
<a class="bottone3" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49589&amp;urlr=&amp;gruppoalveo.altervista.org/cos_alveo.php">Cos'è ALVEO?</a>
<a class="bottone4" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49590&amp;urlr=&amp;gruppoalveo.altervista.org/certificazioni.php">Certificazioni</a>
<a class="bottone5" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49591&amp;urlr=&amp;gruppoalveo.altervista.org/sconti.php">Programma Cliente</a>
<a class="bottone7a">Successi&nbsp;(<?php echo $num_successi;?>)</a>
<a class="bottone8" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49593&amp;urlr=&amp;gruppoalveo.altervista.org/faq.php">F.A.Q.</a>
<a class="opacity" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49594&amp;urlr=&amp;www.akuna.net/index.php?typ=AUU&amp;showid=796" target="_blank"><img src="immagini/akuna-shop.png" alt="Akuna Shop" title="Akuna Shop" height="100%" width="100%"></a>
<a class="sconti"><img src="immagini/ban-sconti.png" alt="Sconti" title="Sconti" height="100%" width="100%"></a>
</div><!--bottoni-->

poi in tutte le pagine sostituisci il menù che hai con
PHP:
<!-- ........ -->
<?php include_once "file_da_incl/menu_oriz.php"; ?>
<!-- ........ -->
se fai lo stesso lavoro in tutte le pagine dove hai tale menù vedrai che sempre ti apparirà il numero dei successi
tra l'altro in questo modo diminuisci il peso del sito.
l'unica cosa a cui devi stare attento sono i percorsi (es quello delle immagini) i percorsi devono essere sempre riferiti al file che include, non al file che viene incluso.
se poi fai una correzione sul file menu_oriz.php la correzione si riflette in tutte le pagine

p.s.
puoi fare lo stesso lavoro (come ti avevo gia detto) con tutte le parti che sono comuni e, come detto, comunque le pagine devono essere php
 
ciao
sfrutta le potenzialità di php
ti fai un file php con il codice sotto e chiamalo es. menu_oriz.php e lo salvi in una cartella es. file_da_incl
PHP:
<?php
if(file_exists('messaggi.html')){ 
    $righe_mess = file('messaggi.html');//ritorna un array con le righe del file
    $num_successi=count($righe_mess);//aggiungi questa riga 
}else{
	$num_successi=0;
}  
?>      
<div class="bottoni">
<a class="bottone1" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49588&amp;urlr=&amp;gruppoalveo.altervista.org/index.php">Home</a>
<a class="bottone3" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49589&amp;urlr=&amp;gruppoalveo.altervista.org/cos_alveo.php">Cos'è ALVEO?</a>
<a class="bottone4" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49590&amp;urlr=&amp;gruppoalveo.altervista.org/certificazioni.php">Certificazioni</a>
<a class="bottone5" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49591&amp;urlr=&amp;gruppoalveo.altervista.org/sconti.php">Programma Cliente</a>
<a class="bottone7a">Successi&nbsp;(<?php echo $num_successi;?>)</a>
<a class="bottone8" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49593&amp;urlr=&amp;gruppoalveo.altervista.org/faq.php">F.A.Q.</a>
<a class="opacity" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49594&amp;urlr=&amp;www.akuna.net/index.php?typ=AUU&amp;showid=796" target="_blank"><img src="immagini/akuna-shop.png" alt="Akuna Shop" title="Akuna Shop" height="100%" width="100%"></a>
<a class="sconti"><img src="immagini/ban-sconti.png" alt="Sconti" title="Sconti" height="100%" width="100%"></a>
</div><!--bottoni-->

poi in tutte le pagine sostituisci il menù che hai con
PHP:
<!-- ........ -->
<?php include_once "file_da_incl/menu_oriz.php"; ?>
<!-- ........ -->
se fai lo stesso lavoro in tutte le pagine dove hai tale menù vedrai che sempre ti apparirà il numero dei successi
tra l'altro in questo modo diminuisci il peso del sito.
l'unica cosa a cui devi stare attento sono i percorsi (es quello delle immagini) i percorsi devono essere sempre riferiti al file che include, non al file che viene incluso.
se poi fai una correzione sul file menu_oriz.php la correzione si riflette in tutte le pagine

p.s.
puoi fare lo stesso lavoro (come ti avevo gia detto) con tutte le parti che sono comuni e, come detto, comunque le pagine devono essere php
Adesso provo, le mie pagine sono tutte in php, tranne 3: script.js, css e il db.html
 
ciao
sfrutta le potenzialità di php
ti fai un file php con il codice sotto e chiamalo es. menu_oriz.php e lo salvi in una cartella es. file_da_incl
PHP:
<?php
if(file_exists('messaggi.html')){ 
    $righe_mess = file('messaggi.html');//ritorna un array con le righe del file
    $num_successi=count($righe_mess);//aggiungi questa riga 
}else{
	$num_successi=0;
}  
?>      
<div class="bottoni">
<a class="bottone1" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49588&amp;urlr=&amp;gruppoalveo.altervista.org/index.php">Home</a>
<a class="bottone3" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49589&amp;urlr=&amp;gruppoalveo.altervista.org/cos_alveo.php">Cos'è ALVEO?</a>
<a class="bottone4" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49590&amp;urlr=&amp;gruppoalveo.altervista.org/certificazioni.php">Certificazioni</a>
<a class="bottone5" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49591&amp;urlr=&amp;gruppoalveo.altervista.org/sconti.php">Programma Cliente</a>
<a class="bottone7a">Successi&nbsp;(<?php echo $num_successi;?>)</a>
<a class="bottone8" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49593&amp;urlr=&amp;gruppoalveo.altervista.org/faq.php">F.A.Q.</a>
<a class="opacity" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49594&amp;urlr=&amp;www.akuna.net/index.php?typ=AUU&amp;showid=796" target="_blank"><img src="immagini/akuna-shop.png" alt="Akuna Shop" title="Akuna Shop" height="100%" width="100%"></a>
<a class="sconti"><img src="immagini/ban-sconti.png" alt="Sconti" title="Sconti" height="100%" width="100%"></a>
</div><!--bottoni-->

poi in tutte le pagine sostituisci il menù che hai con
PHP:
<!-- ........ -->
<?php include_once "file_da_incl/menu_oriz.php"; ?>
<!-- ........ -->
se fai lo stesso lavoro in tutte le pagine dove hai tale menù vedrai che sempre ti apparirà il numero dei successi
tra l'altro in questo modo diminuisci il peso del sito.
l'unica cosa a cui devi stare attento sono i percorsi (es quello delle immagini) i percorsi devono essere sempre riferiti al file che include, non al file che viene incluso.
se poi fai una correzione sul file menu_oriz.php la correzione si riflette in tutte le pagine

p.s.
puoi fare lo stesso lavoro (come ti avevo gia detto) con tutte le parti che sono comuni e, come detto, comunque le pagine devono essere php
Qualcosa non mi quadra: devo proprio creare una cartella, non posso mettere il file.php nella cartella del sito?

Poi, se richiamo il file.php con include, poi i bottoni risultano uguali in tutte le pagine,, io devo tenne lo sfondo giallo al link della pagina selezionata, come faccio se i bottoni sono tutti uguali?
 
ciao
ho detto di fare una cartella perchè io uso tenere le cose separate (file js nella cartella js, file css nella cart. css...) se lo tieni nella root puoi farne a meno

si può dire che l'include può essere considerato un copy/paste nella pagina quindi assume i valori della pagina in cui vine incluso, css compresi
 
ciao
ho detto di fare una cartella perchè io uso tenere le cose separate (file js nella cartella js, file css nella cart. css...) se lo tieni nella root puoi farne a meno

si può dire che l'include può essere considerato un copy/paste nella pagina quindi assume i valori della pagina in cui vine incluso, css compresi

Allora non va bene, devo tenerlo com'è
 
Mi è venuta un idea, richiamo solo quello della home, dopotutto uno di solito entra da lì, perciò ho messo questo nel file esterno e lo richiamo nella home così

PHP:
//File bottoniOrizzontali.php

<?php 
if(file_exists('messaggi.html')){  
    $righe_mess = file('messaggi.html');//ritorna un array con le righe del file 
    $num_successi=count($righe_mess);//aggiungi questa riga  
}else{ 
    $num_successi=0; 
}   
?>           
<div class="bottoni">
<span class="bottone1a">Home</span>
<a class="bottone3" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49589&amp;urlr=&amp;gruppoalveo.altervista.org/cos_alveo.php">Cos'è ALVEO?</a>
<a class="bottone4" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49590&amp;urlr=&amp;gruppoalveo.altervista.org/certificazioni.php">Certificazioni</a>
<a class="bottone5" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49591&amp;urlr=&amp;gruppoalveo.altervista.org/sconti.php">Programma Cliente</a>
<a class="bottone7" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49592&amp;urlr=&amp;gruppoalveo.altervista.org/successi.php">Successi&nbsp;<?php echo "(".$_SESSION['successi'].")"; ?></a>
<a class="bottone8" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49593&amp;urlr=&amp;gruppoalveo.altervista.org/faq.php">F.A.Q.</a>
<a class="opacity" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49594&amp;urlr=&amp;www.akuna.net/index.php?typ=AUU&amp;showid=796" target="_blank"><img src="immagini/akuna-shop.png" width="100%" height="100%" alt="Akuna Shop" title="Akuna Shop"></a>
<a class="sconti"><img src="immagini/ban-sconti.png" width="100%" height="100%" alt="Sconti" title="Sconti"></a>
</div>

...

<?php include_once "bottoniOrizzontali.php"; ?>

ma come apro la home mi da questo errore che non trovo

Parse error: syntax error, unexpected '<' in /membri/gruppoalveo/bottoniOrizzontali.php on line 3
 
Ultima modifica:
ciao
penso che nella home ti convenga mettere una sessione cosi metti il conteggio solo nella home e nelle altre pagine usi la sessione senza ripetere la parte di conteggio
PHP:
<?php
session_start();
<?php 
if(file_exists('messaggi.html')){  
    $righe_mess = file('messaggi.html');//ritorna un array con le righe del file 
    $_SESSION['num_successi']=count($righe_mess);//aggiungi questa riga  
}else{ 
    $_SESSION['num_successi']=0; 
}   
?> 
<!-- .....quello che viene prima -->
<a class="bottone7" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49592&amp;urlr=&amp;gruppoalveo.altervista.org/successi.php">Successi&nbsp;<?php echo "(".$_SESSION['num_successi'].")"; ?></a>
<!-- quello che viene dopo..... -->

poi se ti da quell'errore devi verificare il file bottoniOrizzontali.php può essere che tu (o io) mi sia dimenticato di chiudere qualcosa (es un apice) eventualmente posta il codice
 
ciao
penso che nella home ti convenga mettere una sessione cosi metti il conteggio solo nella home e nelle altre pagine usi la sessione senza ripetere la parte di conteggio
PHP:
<?php
session_start();
<?php 
if(file_exists('messaggi.html')){  
    $righe_mess = file('messaggi.html');//ritorna un array con le righe del file 
    $_SESSION['num_successi']=count($righe_mess);//aggiungi questa riga  
}else{ 
    $_SESSION['num_successi']=0; 
}   
?> 
<!-- .....quello che viene prima -->
<a class="bottone7" href="http://s5.histats.com/stats/r.php?2113102&amp;100&amp;49592&amp;urlr=&amp;gruppoalveo.altervista.org/successi.php">Successi&nbsp;<?php echo "(".$_SESSION['num_successi'].")"; ?></a>
<!-- quello che viene dopo..... -->

poi se ti da quell'errore devi verificare il file bottoniOrizzontali.php può essere che tu (o io) mi sia dimenticato di chiudere qualcosa (es un apice) eventualmente posta il codice

Ho risolto in questo modo:

in tutte le pagine (tranne quella dei successi) ho messo questi 2 codici

PHP:
if(file_exists('messaggi.html')){  
    $righe_mess = file('messaggi.html');//ritorna un array con le righe del file 
    $successi=count($righe_mess);//aggiungi questa riga  
}else{ 
    $successi=0; 
}    
?> 

....

<a class="bottone7" href="http://miosito.it/successi.php">Successi&nbsp;(<?php echo $successi;?>)</a>
 

Discussioni simili