• Home
  • Forum
  • Fare Web
  • PHP

PhpAdmin-MySQL com MAMP

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio 22 Nov 2012
Prec.
  • 1
  • …
  • 7
  • 8
  • 9
  • 10
  • 11
Succ.
Primo Prec. 9 di 11 Succ. Ultimo

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
  • 10 Dic 2012
  • #161
borgo italia ha scritto:
ciao
non avevo capito.
ci penso un momento
Clicca per allargare...
Hai qualche idea per il contatore?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 10 Dic 2012
  • #162
ciao
penso di si in giornata te la posto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 10 Dic 2012
  • #163
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
  • 10 Dic 2012
  • #164
borgo italia ha scritto:
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;
//.....
?>
Clicca per allargare...

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.044
150
63
PR
www.borgo-italia.it
  • 10 Dic 2012
  • #165
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
  • 10 Dic 2012
  • #166
borgo italia ha scritto:
ciao
no non devi metterlo li nella pagina successi.php (anzi rimettila come prima)
devi metterlo nella pagina in cui visualizzi l'archivio
Clicca per allargare...
Appunto, quello è il codice che c'è in archivio_successi
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 10 Dic 2012
  • #167
ciao
allora stai sbagliando , dove è la query di select alla tabella archivio-successi?
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
  • 10 Dic 2012
  • #168
borgo italia ha scritto:
ciao
allora stai sbagliando , dove è la query di select alla tabella archivio-successi?
Clicca per allargare...
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.044
150
63
PR
www.borgo-italia.it
  • 10 Dic 2012
  • #169
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
  • 10 Dic 2012
  • #170
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.044
150
63
PR
www.borgo-italia.it
  • 10 Dic 2012
  • #171
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
  • 10 Dic 2012
  • #172
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: 10 Dic 2012

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Dic 2012
  • #173
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
Clicca per allargare...
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
  • 11 Dic 2012
  • #174
borgo italia ha scritto:
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
Clicca per allargare...
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.044
150
63
PR
www.borgo-italia.it
  • 11 Dic 2012
  • #175
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: 11 Dic 2012

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
  • 11 Dic 2012
  • #176
borgo italia ha scritto:
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 è)
Clicca per allargare...
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: 11 Dic 2012

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
  • 12 Dic 2012
  • #177
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 
    }

 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 13 Dic 2012
  • #178
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
  • 13 Dic 2012
  • #179
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.044
150
63
PR
www.borgo-italia.it
  • 13 Dic 2012
  • #180
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
 
Prec.
  • 1
  • …
  • 7
  • 8
  • 9
  • 10
  • 11
Succ.
Primo Prec. 9 di 11 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

N
problemi con phpadmin
  • nicodemo
  • 14 Lug 2006
  • PHP
Risposte
1
Visite
2K
PHP 20 Lug 2006
ianaz
I
M
Personalizzare Mysql su una macchina VPS in Aruba
  • morenog
  • 14 Gen 2025
  • Server Dedicati e VPS
Risposte
0
Visite
745
Server Dedicati e VPS 14 Gen 2025
morenog
M
S
Utilizzare MySql con maschere Access
  • staiul
  • 27 Nov 2024
  • MySQL
Risposte
0
Visite
351
MySQL 27 Nov 2024
staiul
S
K
form Inserimento record mysql
  • Kiko74b
  • 21 Gen 2023
  • PHP
Risposte
2
Visite
1K
PHP 25 Gen 2023
WmbertSea
P
Mysql lento a cancellare
  • paolo.ladoni
  • 18 Nov 2022
  • MySQL
Risposte
1
Visite
1K
MySQL 22 Nov 2022
marino51
P
Codifica caratteri speciali mysql php
  • Peterrey76
  • 24 Ott 2022
  • PHP
Risposte
2
Visite
2K
PHP 23 Apr 2025
webest
N
MAX() + ADD_DATE - per update su Mysql
  • Namaste!
  • 20 Lug 2022
  • MySQL
Risposte
0
Visite
2K
MySQL 20 Lug 2022
Namaste!
N
F
Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili
  • Fra_23
  • 25 Giu 2022
  • PHP
  • 2
Risposte
20
Visite
4K
PHP 16 Lug 2022
zorro
L
tipo boolean non funzionante su mariadb (mysql). E codice php 7.4.
  • luigi777
  • 18 Giu 2022
  • PHP
Risposte
0
Visite
813
PHP 18 Giu 2022
luigi777
L
M
PHP/MySQL - Estrarre valori min e max di ogni gruppo
  • Max61
  • 10 Giu 2022
  • PHP
Risposte
5
Visite
2K
PHP 13 Giu 2022
Max61
M
W
MySQL ciclo in SELECT
  • wolfland
  • 26 Mag 2022
  • MySQL
Risposte
0
Visite
2K
MySQL 26 Mag 2022
wolfland
W
L
Mysql gestionale multipiattaforma
  • lucavalentino
  • 7 Apr 2022
  • MySQL
Risposte
0
Visite
2K
MySQL 7 Apr 2022
lucavalentino
L
W
MySQL SELECT list dinamica
  • wolfland
  • 2 Feb 2022
  • MySQL
Risposte
0
Visite
2K
MySQL 2 Feb 2022
wolfland
W
M
utilizzo mysql in nodejs - crea createdAt e updateAt
  • misonsan
  • 31 Dic 2021
  • MySQL
Risposte
1
Visite
3K
MySQL 31 Dic 2021
misonsan
M
T
colonne di tabelle mysql ordinate
  • twogate
  • 28 Nov 2021
  • MySQL
Risposte
0
Visite
2K
MySQL 28 Nov 2021
twogate
T
M
Sintassi "personalizzata" per mysql workbench?
  • mattiac
  • 27 Set 2021
  • MySQL
Risposte
0
Visite
3K
MySQL 27 Set 2021
mattiac
M
A
Mysql
  • andreainter
  • 26 Ago 2021
  • MySQL
Risposte
0
Visite
1K
MySQL 26 Ago 2021
andreainter
A
F
Ricreare struttura php+mysql su Xampp
  • francescoITA
  • 23 Ago 2021
  • Apache
Risposte
0
Visite
6K
Apache 23 Ago 2021
francescoITA
F
M
Array associativi php su 2 campi mysql
  • maxnegri2036
  • 14 Ago 2021
  • PHP
Risposte
10
Visite
2K
PHP 16 Ago 2021
zorro
Z
Controllo giorni MYSQL
  • z.cristiano
  • 28 Giu 2021
  • PHP
Risposte
0
Visite
1K
PHP 28 Giu 2021
z.cristiano
Z
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?