PhpAdmin-MySQL com MAMP

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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;
//.....
?>
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
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;
//.....
?>

Ho messo così ma non stampa niente nella pagina archivio_successi

PHP:
<?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'].",&nbsp;&nbsp;</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  
    } 
 }
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
no non devi metterlo li nella pagina successi.php (anzi rimettila come prima)
devi metterlo nella pagina in cui visualizzi l'archivio
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
allora stai sbagliando , dove è la query di select alla tabella archivio-successi?
Intedi questa?

PHP:
//*********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
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
cerchiamo di capirci
da quello che mi ricordo nel menù orizzontale (a parte altre cose) hai
successi (12) | archivio (237)
dove tra parentesi è il numero di successi (nella tabella successi) e quello dei successi archiviati nella tabella archivio_successi
giusto?
se è così quelle due diciture devono (dovrebbero) corrispondere ad un lik simile ai seguenti
PHP:
<a href="successi.php">successi (<?php echo $numero_successi;?>)</a>
e
PHP:
<a href="archivio_successi.php">archivio (<?php echo $numero_successi_in_archivio;?>)</a>
quindi dovresti avere due pagine
1) successi.php dove mostri gli ultimi successi postati (quanti al massimo dipende dal limit che hai messo) + il form per postare i successi + lo script che quando i successi raggiungono il limti archivia il più vecchio
2) archivio_successi.php (o come l'hai chiamata) in cui visualizzi tutti i successi vecchi cioè archiviati

la pagina 1 è stata fatta (tutti gli script fatti sin'ora)
hai fatto la pag 2?

se l'hai fatta (a parte tutto il suo layout e altri particolari) dovrebbe essere così
PHP:
<?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'].",&nbsp;&nbsp;</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  
    } 
 }
?>
ipotiziamo che tu abbia 3 successi (nuovi) e 4 in archivio la pag successi.php visualizzera
#1 12/12/2012 ......
#2 10/11/2012 ......
#3 9/11/2012 .......
la pagina archivio_successi.php visualizzerà (con il conteggio ultimo che ti ho postato)
#4 31/08/2012
#5 12/06/2012
#6 01/06/2012
#7 22/05/2012
se non è così comincio a non capirci più niente
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho messo come dici ma non va, forse non riusciamo a capirci, comunque ti posto i codici che sto usando
Tutto questo si trova in successi.php
PHP:
<?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'].",&nbsp;&nbsp;</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>"; 
}

Questo si trova in archivio_successi
PHP:
<?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'].",&nbsp;&nbsp;</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  
    } 
 }
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ecco come devi modificare la pagina archivio_successi.php, l'altra (successi.php) devi lasciarla come è
PHP:
<?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'].",&nbsp;&nbsp;</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  
    } 
 }
?>
quindi avrai il #numero che prosegue dalla pag successi es
a)
in successi #1..., #2....
in archivio #3..., #4..., #5...,....
b)
in successi #1..., #2...., #3...
in archivio #4..., #5..., #6...,....
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ora va meglio, ci sono alcune cose da sistemare:

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

2. nella pagina archivio_successi stampa es. #4, #5, #6, mentre invece bisogna invertire la sequenza del contatore partendo dall'alto (non dei post, questa va bene) in #6, #5, #4, ecc.
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
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
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
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao

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
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 #3
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
sostituendo
PHP:
// Lancio la query
$ris=mysql_query($q); 
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
con
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....
?>
per cui ti si presenta es.
#1 di 57 (o quello che è)
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
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
sostituendo
PHP:
// Lancio la query
$ris=mysql_query($q); 
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi nella tabella del db)
con
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....
?>
per cui ti si presenta es.
#1 di 57 (o quello che è)
Aspetta, forse non mi sono spiegato: semplicemente bisogna invertire il conteggio, tutto qui.

Qui puoi vedere cosa intendo (qui sto usando ancora gli id come conteggio)

http://gruppoalveo.altervista.org/successi.php
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Una parte l'ho risolta, ora ce solo l'ultima che non riesco, come vedi il numero massimo che stampa è #3 anche se ci sono più post, dovrebbe invece stampare il numero più alto

PHP:
<?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'].",&nbsp;&nbsp;</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 
    }

img01na.jpg
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova così

PHP:
<?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 
    }
//......
?>
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Sai che ho trovato questo dato sulle tabelle che mi h fatto riflettere:

quando si lavora con database è assurdo spostare dati da una tabella ad un'altra per creare un archivio, piuttosto si inserisce un campo flag che se valorizzato indica che quel record è archiviato. Questo è il modo con cui lavorano tutti i sistemisti!

Tu che dici? cos'è il campo flag?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
è un campo che potrebbe essere di tipo set che può assumere solo alcuni valori definiti in partenza.
es di default 0 (record non archiviato)
se invece messo a 1 vuol dire che il record è archiviato, e può essere un modo, però per me ha un difetto se es (anche se forse non è il tuo caso) hai 1000 record non archiviati e 1000 archiviati usando due tabelle e cerchi qualcosa i scorri una tabella di 1000 record, col metodo del "flag" devi scorrere una tabella con 2000 record
come ho fatto io hai una tabella "leggera" e una "pesante" (man mano che aumentano gli archiviati) col metodo del flag ha sempre una tabella "pesante".

p.s.
comunque aprirò un 3d apposito vedendo cosa ne pensano anche altri
 
Discussioni simili
Autore Titolo Forum Risposte Data
N problemi con phpadmin PHP 1
K form Inserimento record mysql PHP 2
P Mysql lento a cancellare MySQL 1
P Codifica caratteri speciali mysql php PHP 0
N MAX() + ADD_DATE - per update su Mysql MySQL 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
W MySQL ciclo in SELECT MySQL 0
L Mysql gestionale multipiattaforma MySQL 0
W MySQL SELECT list dinamica MySQL 0
M utilizzo mysql in nodejs - crea createdAt e updateAt MySQL 1
T colonne di tabelle mysql ordinate MySQL 0
M Sintassi "personalizzata" per mysql workbench? MySQL 0
A Mysql MySQL 0
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
Z Controllo giorni MYSQL PHP 0
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
Z MySql injection PHP PHP 1
D controllare valore in tabella mysql PHP 0
A pulsante di update campo mysql con javascript Javascript 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
T differenza fra mysql xampp e un mysql server Database 0
R Importazione csv su mysql tramite array PHP 2
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
D problema php mysql PHP 1
D problema php mysql PHP 1
N Server mysql non raggiungibile da connessione esterna MySQL 1
B Crea pdf da tabella mysql "ultima riga modificata" MySQL 4
D evitare di inserirre duplicati in mysql PHP 4
L salvare codice html in mysql PHP 3
L Google chart php mysql PHP 2
S Gestire scelta dropdown con dati da Mysql PHP 2
K cron job mysql PHP 3
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
R Errore UPDATE tabella mysql PHP 1
R Caricamento immagine su cartella remota + mysql PHP 3
D Emoji in mysql Database 0
L Aiuto per programma web php/mySQL PHP 2
S Problema esportazione tabelle Mysql in Excel PHP 0
S Cancellare una riga MYSQL PHP 1
L Ricerca valore mysql e incremento PHP 73
G database mysql contengono informazioni ? MySQL 0

Discussioni simili