PhpAdmin-MySQL com MAMP

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio
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;
//.....
?>
 
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  
    } 
 }
?>
 
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
 
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
 
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  
    } 
 }
?>
 
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...,....
 
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:
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
 
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
 
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:
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:
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
 
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 
    }
//......
?>
 
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?
 
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