Hai qualche idea per il contatore?ciao
non avevo capito.
ci penso un momento
Hai qualche idea per il contatore?ciao
non avevo capito.
ci penso un momento
<?php
//.......
$num_successi=mysql_num_rows(mysql_query("SELECT id FROM successi"));
//.........
//se es risulta 10 il contatore degli archiviati deve partire da 11 per cui
$contatore = $num_successi+1;
//.....
?>
ciao
è più semplice di quello che pensavo
nella pagina archivio_successi.php leggi quanti record hai nella tabella successi (non dell'archivio)
PHP:<?php //....... $num_successi=mysql_num_rows(mysql_query("SELECT id FROM successi")); //......... //se es risulta 10 il contatore degli archiviati deve partire da 11 per cui $contatore = $num_successi+1; //..... ?>
<?php
$numero=20; // Limite max successi da visualizzare
$num_successi=mysql_num_rows(mysql_query("SELECT id FROM successi"));
// Lancio la query
$ris=mysql_query($q);
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
// Leggo un record alla volta e lo stampo
$contatore = $num_successi+1;
while($riga=mysql_fetch_array($ris)) {
//verifico se conteggio è pari o dispari e in alternato cambio il colore
if($contatore%2==0) {
$sfondo="#f7f7f7";
}
else {
$sfondo="#e9eff1";
}
echo "<div class=\"stampaS\" style=\"background-color: $sfondo \">";
echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."<div class=\"idSuccessiSX\"></div><div class=\"idSuccessiDX\">#$contatore</div></div>";
echo "<div class=\"campiAltiS\">";
echo "<div class=\"oggettoBox\">".$riga['oggettoS']."</div>";
echo "</div>"; // campiAltiS
echo "<div class=\"messaggioBox\">".$riga['messaggioS']."</div>";
echo "<div class=\"bassoS\"></div>"; // bassoS
echo "<div class=\"nomeBox\">".$riga['nomeS'].",</div>";
if(!empty($riga['cittaS'])) { // Se il campo è vuoto non stampa neanche la virgola
echo "<div class=\"cittaBox\">".$riga['cittaS'].", </div>";
}
echo "<div class=\"ipBox\">Ip: $ip</div>";
echo "<div class=\"bandierinaBox\">$bandierina<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";
echo "</div>";//stampaS
$contatore ++; // a ogni giro incremento di uno
}
}
?>
Appunto, quello è il codice che c'è in archivio_successiciao
no non devi metterlo li nella pagina successi.php (anzi rimettila come prima)
devi metterlo nella pagina in cui visualizzi l'archivio
Intedi questa?ciao
allora stai sbagliando , dove è la query di select alla tabella archivio-successi?
//*********Inizio trasferimento nella tabella archivio
//Leggiamo tra i post estratti il valore max dell'id
$ris=mysql_query("SELECT MAX(id) as massimo FROM successi ORDER BY id DESC");
// Lancio la query
$riga=mysql_fetch_array($ris);
$vecchi_id=$riga['massimo']-$numero;
if($vecchi_id >= 0) { //cioè maggiore o uguale a 0
//verifico che ci siano record precedenti
$ris=mysql_query("SELECT * FROM successi WHERE id <= $vecchi_id");
if(mysql_num_rows($ris)>0) { //se maggiore di 0 ci sono records
while($riga=mysql_fetch_array($ris)) {
//estraggo tutti i dati del successo col valore minimo id dalla tabella successi...
$id=$riga['id'];
$data_localeS=$riga['data_localeS'];
$oggettoS=$riga['oggettoS'];
$messaggioS=$riga['messaggioS'];
$nomeS=$riga['nomeS'];
$cittaS=$riga['cittaS'];
$ip;
$bandierina;
//...e salvo il successo nella tabella archivio, l'insert è uguale a quello che c'è nella tabella successi
$ris_a=mysql_query("INSERT INTO archivio(data_localeS,oggettoS,messaggioS,nomeS,cittaS,ip,bandierina)
VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$ip','$bandierina')");
//avendo salvato in tabella archivio posso eliminarlo dalla tabella successi
$ris_d=mysql_query("DELETE FROM successi WHERE id=$id");
//Questa riga ricarica la pagina e quindi aggiorna i contatori
echo "<meta http-equiv='refresh' content='0; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
}
}
}
//********fine del trasferimento
<a href="successi.php">successi (<?php echo $numero_successi;?>)</a>
<a href="archivio_successi.php">archivio (<?php echo $numero_successi_in_archivio;?>)</a>
<?php
//dati connessione
//$numero=20; // Limite max successi da visualizzare QUESTO NON TI SERVE visto ch vuoi (mi sembra) visualizzare tutti i successi archiviati
$num_successi=mysql_num_rows(mysql_query("SELECT id FROM successi"));
//manca la riga seguente in cui seleziono i successi IN ARCHIVIO
$q= "SELECT * FROM archivio_successi ORDR BY id"; //metti asc o desc come preferisci
// Lancio la query
$ris=mysql_query($q); //qui senza la $q non sa cosa estrarre
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
// Leggo un record alla volta e lo stampo
$contatore = $num_successi+1;
while($riga=mysql_fetch_array($ris)) {
//verifico se conteggio è pari o dispari e in alternato cambio il colore
if($contatore%2==0) {
$sfondo="#f7f7f7";
}
else {
$sfondo="#e9eff1";
}
echo "<div class=\"stampaS\" style=\"background-color: $sfondo \">";
echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."<div class=\"idSuccessiSX\"></div><div class=\"idSuccessiDX\">#$contatore</div></div>";
echo "<div class=\"campiAltiS\">";
echo "<div class=\"oggettoBox\">".$riga['oggettoS']."</div>";
echo "</div>"; // campiAltiS
echo "<div class=\"messaggioBox\">".$riga['messaggioS']."</div>";
echo "<div class=\"bassoS\"></div>"; // bassoS
echo "<div class=\"nomeBox\">".$riga['nomeS'].",</div>";
if(!empty($riga['cittaS'])) { // Se il campo è vuoto non stampa neanche la virgola
echo "<div class=\"cittaBox\">".$riga['cittaS'].", </div>";
}
echo "<div class=\"ipBox\">Ip: $ip</div>";
echo "<div class=\"bandierinaBox\">$bandierina<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";
echo "</div>";//stampaS
$contatore ++; // a ogni giro incremento di uno
}
}
?>
<?php
$numero=3; // Limite max successi da visualizzare
// Legge tutti i records nella tabella successi dall'alto verso il basso e li estrae in ordine crescente
$q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";
// Lancio la query
$ris=mysql_query($q);
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
// Leggo un record alla volta e lo stampo
$contatore=1; //inizializzi il contatore a 1
while($riga=mysql_fetch_array($ris)) {
//verifico se il conteggio è pari o dispari e in alternato cambio il colore
if($contatore%2==0) {
$sfondo="#f7f7f7";
}
else {
$sfondo="#e9eff1";
}
echo "<div class=\"stampaS\" style=\"background-color: $sfondo \">";
echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."<div class=\"idSuccessiSX\"></div><div class=\"idSuccessiDX\">#$contatore</div></div>";
echo "<div class=\"campiAltiS\">";
echo "<div class=\"oggettoBox\">".$riga['oggettoS']."</div>";
echo "</div>"; // campiAltiS
echo "<div class=\"messaggioBox\">".$riga['messaggioS']."</div>";
echo "<div class=\"bassoS\"></div>"; // bassoS
echo "<div class=\"nomeBox\">".$riga['nomeS'].",</div>";
if(!empty($riga['cittaS'])) { // Se il campo è vuoto non stampa neanche la virgola
echo "<div class=\"cittaBox\">".$riga['cittaS'].", </div>";
}
echo "<div class=\"ipBox\">Ip: $ip</div>";
echo "<div class=\"bandierinaBox\">$bandierina<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";
echo "</div>";//stampaS
$contatore ++; // a ogni giro incremento di uno
}
//*********Inizio trasferimento nella tabella archivio
//Leggiamo tra i post estratti il valore max dell'id
$ris=mysql_query("SELECT MAX(id) as massimo FROM successi ORDER BY id DESC");
// Lancio la query
$riga=mysql_fetch_array($ris);
$vecchi_id=$riga['massimo']-$numero;
if($vecchi_id >= 0) { //cioè maggiore o uguale a 0
//verifico che ci siano record precedenti
$ris=mysql_query("SELECT * FROM successi WHERE id <= $vecchi_id");
if(mysql_num_rows($ris)>0) { //se maggiore di 0 ci sono records
while($riga=mysql_fetch_array($ris)) {
//estraggo tutti i dati del successo col valore minimo id dalla tabella successi...
$id=$riga['id'];
$data_localeS=$riga['data_localeS'];
$oggettoS=$riga['oggettoS'];
$messaggioS=$riga['messaggioS'];
$nomeS=$riga['nomeS'];
$cittaS=$riga['cittaS'];
$ip;
$bandierina;
//...e salvo il successo nella tabella archivio, l'insert è uguale a quello che c'è nella tabella successi
$ris_a=mysql_query("INSERT INTO archivio(data_localeS,oggettoS,messaggioS,nomeS,cittaS,ip,bandierina)
VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$ip','$bandierina')");
//avendo salvato in tabella archivio posso eliminarlo dalla tabella successi
$ris_d=mysql_query("DELETE FROM successi WHERE id=$id");
//Questa riga ricarica la pagina e quindi aggiorna i contatori
echo "<meta http-equiv='refresh' content='0; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
}
}
}
//********fine del trasferimento
else {
echo "<p style=\"margin-left:30px;font-size:18px;color:#0000ff;\">Non ci sono ancora Successi, volevi scriverne uno?</p>";
}
<?php
$numero=20; // Limite max successi da visualizzare
// Legge tutti i records nella tabella archivio dall'alto verso il basso e li estrae in ordine decrescente
$q="SELECT * FROM archivio ORDER BY id DESC LIMIT $numero";
// Lancio la query
$ris=mysql_query($q);
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
// Leggo un record alla volta e lo stampo
$contatore=1; //inizializzi il contatore a 1
while($riga=mysql_fetch_array($ris)) {
//verifico se conteggio è pari o dispari e in alternato cambio il colore
if($contatore%2==0) {
$sfondo="#f7f7f7";
}
else {
$sfondo="#e9eff1";
}
echo "<div class=\"stampaS\" style=\"background-color: $sfondo \">";
echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."<div class=\"idSuccessiSX\"></div><div class=\"idSuccessiDX\">#$contatore</div></div>";
echo "<div class=\"campiAltiS\">";
echo "<div class=\"oggettoBox\">".$riga['oggettoS']."</div>";
echo "</div>"; // campiAltiS
echo "<div class=\"messaggioBox\">".$riga['messaggioS']."</div>";
echo "<div class=\"bassoS\"></div>"; // bassoS
echo "<div class=\"nomeBox\">".$riga['nomeS'].",</div>";
if(!empty($riga['cittaS'])) { // Se il campo è vuoto non stampa neanche la virgola
echo "<div class=\"cittaBox\">".$riga['cittaS'].", </div>";
}
echo "<div class=\"ipBox\">Ip: $ip</div>";
echo "<div class=\"bandierinaBox\">$bandierina<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";
echo "</div>";//stampaS
$contatore ++; // a ogni giro incremento di uno
}
}
?>
<?php
$numero=20; // Limite max successi da visualizzare
$num_successi=mysql_num_rows(mysql_query("SELECT id FROM successi")); //leggo in successi
//e aumento di 1
$num_successi +=1;
// QUESTA sotto NON legge tutti i records nella tabella archivio ma solo 20 dall'alto verso il basso e li estrae in ordine decrescente
$q="SELECT * FROM archivio ORDER BY id DESC LIMIT $numero";
//mentre se vuoi mostrare tutti gli archiviati correggila in
//$q="SELECT * FROM archivio ORDER BY id DESC";
//se tutti, togli pure la $numero=20; // Limite max successi da visualizzare
// Lancio la query
$ris=mysql_query($q);
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
// Leggo un record alla volta e lo stampo
//faccio partire il contatore dal numero successivo dei successi
$contatore=$num_successi; //inizializzi il contatore a 1
//$contatore=1; //inizializzi il contatore a 1
while($riga=mysql_fetch_array($ris)) {
//verifico se conteggio è pari o dispari e in alternato cambio il colore
if($contatore%2==0) {
$sfondo="#f7f7f7";
}
else {
$sfondo="#e9eff1";
}
echo "<div class=\"stampaS\" style=\"background-color: $sfondo \">";
echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."<div class=\"idSuccessiSX\">
</div><div class=\"idSuccessiDX\">#$contatore</div></div>";
echo "<div class=\"campiAltiS\">";
echo "<div class=\"oggettoBox\">".$riga['oggettoS']."</div>";
echo "</div>"; // campiAltiS
echo "<div class=\"messaggioBox\">".$riga['messaggioS']."</div>";
echo "<div class=\"bassoS\"></div>"; // bassoS
echo "<div class=\"nomeBox\">".$riga['nomeS'].",</div>";
if(!empty($riga['cittaS'])) { // Se il campo è vuoto non stampa neanche la virgola
echo "<div class=\"cittaBox\">".$riga['cittaS'].", </div>";
}
echo "<div class=\"ipBox\">Ip: $ip</div>";
echo "<div class=\"bandierinaBox\">$bandierina<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";
echo "</div>";//stampaS
$contatore ++; // a ogni giro incremento di uno
}
}
?>
se imposti limut 3 nella tabella successi acvrai solo 3 messaggi in quanto se un utente ne invia uno nuivi il più vecchio va in archivio (con lo script che ho fatto)1. nella pagina successi ho impostato 3max, mi stampa #1, #2, #3 fisso, mentre invece dovrebbe mostrare gli ultimi numeri, es se ho 5 messaggi dovrebbe mostrare #3, #4, #5
Lo so, ma il problema è che non aggiorna il contatore, quando come contatore usavo gli id, sull'ultimo post ricevuto era stampato anche l'ultimo numero-contatore, non c'era sempre stampato #3ciao
se imposti limut 3 nella tabella successi acvrai solo 3 messaggi in quanto se un utente ne invia uno nuivi il più vecchio va in archivio (con lo script che ho fatto)
questo perche altrimenti tra successi e archivio non potresti vederli tutti
// Lancio la query
$ris=mysql_query($q);
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
<?php
// Lancio la query
$ris=mysql_query($q);
$qu=mysql_num_rows($ris);
//poi in funzione se sei in successi.php o archivio_successi.php
//se sei in successi.php
$num_altro=mysql_num_rows(mysql_query("SELECT id FROM archivio")); //leggo quanti su archivio
$totali=$qu+$num_altro;
/*mentre se sei in archivio_successi.php devi fare la query sulla tab successi
$num_altro=mysql_num_rows(mysql_query("SELECT id FROM successi")); //leggo quanti su successi
*/
//modificare l'if
if($qu > 0) { // Conto i record (i campi nella tabella del db){
// dentro il while
echo ".......
</div><div class=\"idSuccessiDX\">#$contatore di $totali</div></div>";
//.....
//ecc....
?>
Aspetta, forse non mi sono spiegato: semplicemente bisogna invertire il conteggio, tutto qui.ciao
non è semplice avere la botte piena e la moglie ubriaca, perchè il contatore conta le visualizzazioni mentre l'id può avrere (se cancelli qualche record) dei buchi
forse potresti fare in questo modo
sostituendoconPHP:// Lancio la query $ris=mysql_query($q); if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
per cui ti si presenta es.PHP:<?php // Lancio la query $ris=mysql_query($q); $qu=mysql_num_rows($ris); //poi in funzione se sei in successi.php o archivio_successi.php //se sei in successi.php $num_altro=mysql_num_rows(mysql_query("SELECT id FROM archivio")); //leggo quanti su archivio $totali=$qu+$num_altro; /*mentre se sei in archivio_successi.php devi fare la query sulla tab successi $num_altro=mysql_num_rows(mysql_query("SELECT id FROM successi")); //leggo quanti su successi */ //modificare l'if if($qu > 0) { // Conto i record (i campi nella tabella del db){ // dentro il while echo "....... </div><div class=\"idSuccessiDX\">#$contatore di $totali</div></div>"; //..... //ecc.... ?>
#1 di 57 (o quello che è)
<?php
$numero=3; // Limite max successi da visualizzare
// Legge tutti i records nella tabella successi dall'alto verso il basso e li estrae in ordine crescente
$q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";
// Lancio la query
$ris=mysql_query($q);
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
// Leggo un record alla volta e lo stampo
$contatore=1; //inizializzi il contatore a 1
// Leggo un record alla volta e lo stampo
while($riga=mysql_fetch_array($ris)) {
//verifico se il conteggio è pari o dispari e in alternato cambio il colore
if($contatore%2==0) {
$sfondo="#f7f7f7";
}
else {
$sfondo="#e9eff1";
}
echo "<div class=\"stampaS\" style=\"background-color: $sfondo \">";
echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."<div class=\"idSuccessiSX\"></div><div class=\"idSuccessiDX\">#$contatore</div></div>";
echo "<div class=\"campiAltiS\">";
echo "<div class=\"oggettoBox\">".$riga['oggettoS']."</div>";
echo "</div>"; // campiAltiS
echo "<div class=\"messaggioBox\">".$riga['messaggioS']."</div>";
echo "<div class=\"bassoS\"></div>"; // bassoS
echo "<div class=\"nomeBox\">".$riga['nomeS'].",</div>";
if(!empty($riga['cittaS'])) { // Se il campo è vuoto non stampa neanche la virgola
echo "<div class=\"cittaBox\">".$riga['cittaS'].", </div>";
}
echo "<div class=\"ipBox\">Ip: $ip</div>";
echo "<div class=\"bandierinaBox\">$bandierina<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";
echo "</div>";//stampaS
$contatore ++; // a ogni giro incremento di uno
}
<?php
//.......
$q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";
// Lancio la query
$ris=mysql_query($q);
//ricavi il numero di record e quindi poi modifichi anche l'if
$num_successi=mysql_num_rows($ris);
if($num_successi > 0) { // Conto i record (i campi nella tabella del db)
// Leggo un record alla volta e lo stampo
//fai partire il contatore dal numero di successi
$contatore=$num_successi; //inizializzi il contatore a 1
// Leggo un record alla volta e lo stampo
while($riga=mysql_fetch_array($ris)) {
//verifico se il conteggio è pari o dispari e in alternato cambio il colore
//.........
echo "</div>";//stampaS
//invece di incrementare per uno lo decrementi
$contatore --; // a ogni giro lo decrementi di uno
}
//......
?>