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
in modo che possa verificare meglio potresti esportare la tabella successi in formato sql, zipparla e postarla?
così evito di farmi db e altre cose?
posta anche l'immagine della tabella archivio
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
in modo che possa verificare meglio potresti esportare la tabella successi in formato sql, zipparla e postarla?
così evito di farmi db e altre cose?
posta anche l'immagine della tabella archivio

img01to.jpg


Vedi l'allegato archivio.sql.zip

Vedi l'allegato successi1.sql.zip
 
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
avevo fatto un errore di logica, modificato e adesso funzia
PHP:
<?php
//.........
$numero=20;//eventualmente dopo metteremo una paginazione in modo da poterli vedere tutti
//.........................
//*********da qui inizia la parte che trasferisce in archivio post SOSTITUISCI DA QUI
//leggiamo tra i post estratti il valore minimo dell'id (unisco la querry direttamente all'esecuzione)
$ris=mysql_query("SELECT MAX(id) as massimo FROM successi ORDER BY id DESC");
$vecchi_id=$riga['massimo']-$numero;
if($vecchi_id > 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
    	echo "trasferisco da $vecchi_id<br>";
		while($riga=mysql_fetch_array($ris)){
        	//estraggo tutti i dati (da verificare quelli che hai tenuto)
        	$id=$riga['id'];
        	$data=$riga['data_localeS'];
        	$oggetto=$riga['oggettoS'];
        	$messaggio=$riga['messaggioS'];
        	$nomeS=$riga['nomeS'];
			$cittaS=$riga['cittaS'];
			$cittaS=$riga['suoemailS'];
			$ip=$riga['ip'];
                        $bandierina=$riga['bandierina'];
			//salvo il messaggio nella tabella archivio
        	$ris_a=mysql_query("INSERT INTO archivio(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
			VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')");
			//note che l'insert è uguale a quello che hai fatto per la tabella messaggi
			//avendo salvato in tab. archivio posso eliminarlo dalla tab. messaggi
			$ris_d=mysql_query("DELETE FROM successi WHERE id=$id");
		}
	}
}
//********fine del trasferimento A QUI 
//............................
?>
in settimana la numerazione
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
avevo fatto un errore di logica, modificato e adesso funzia
PHP:
<?php
//.........
$numero=20;//eventualmente dopo metteremo una paginazione in modo da poterli vedere tutti
//.........................
//*********da qui inizia la parte che trasferisce in archivio post SOSTITUISCI DA QUI
//leggiamo tra i post estratti il valore minimo dell'id (unisco la querry direttamente all'esecuzione)
$ris=mysql_query("SELECT MAX(id) as massimo FROM successi ORDER BY id DESC");
$vecchi_id=$riga['massimo']-$numero;
if($vecchi_id > 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
    	echo "trasferisco da $vecchi_id<br>";
		while($riga=mysql_fetch_array($ris)){
        	//estraggo tutti i dati (da verificare quelli che hai tenuto)
        	$id=$riga['id'];
        	$data=$riga['data_localeS'];
        	$oggetto=$riga['oggettoS'];
        	$messaggio=$riga['messaggioS'];
        	$nomeS=$riga['nomeS'];
			$cittaS=$riga['cittaS'];
			$cittaS=$riga['suoemailS'];
			$ip=$riga['ip'];
                        $bandierina=$riga['bandierina'];
			//salvo il messaggio nella tabella archivio
        	$ris_a=mysql_query("INSERT INTO archivio(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
			VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')");
			//note che l'insert è uguale a quello che hai fatto per la tabella messaggi
			//avendo salvato in tab. archivio posso eliminarlo dalla tab. messaggi
			$ris_d=mysql_query("DELETE FROM successi WHERE id=$id");
		}
	}
}
//********fine del trasferimento A QUI 
//............................
?>
in settimana la numerazione

Sai che non mi funziona?

1. Nella tabella successi si registrano i messaggi ma non stampa a video il successo più recente e non manda nella tabella archivio il più remoto.

PHP:
..
<?php
$numero=3; // Limite max successi da visualizzare
// Legge tutti i campi in ordine decrescente
$q="SELECT * FROM successi ORDER BY id 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 
    while($riga=mysql_fetch_array($ris)) {
        echo "<div class=\"stampaS\">"; 
        echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."</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>"; 
        } 
        if (!empty($riga['suoemailS'])) {  // Se il campo è vuoto non stampa neanche il trattino 
            echo "<div class=\"mailBox\">".$riga['suoemailS']."&nbsp;&nbsp;-&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 
    }
 //*********da qui inizia la parte che trasferisce in archivio post SOSTITUISCI DA QUI 
 //Leggiamo tra i post estratti il valore max dell'id
$ris=mysql_query("SELECT MAX(id) as massimo FROM successi ORDER BY id DESC"); 
$vecchi_id=$riga['massimo']-$numero; 
if($vecchi_id > 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 
        echo "trasferisco da $vecchi_id<br>"; 
        while($riga=mysql_fetch_array($ris)){ 
             //estraggo tutti i dati del successo col valore minimo id dalla tabella successi...
            $id=$riga['id']; 
            $data=$riga['data_localeS']; 
            $oggetto=$riga['oggettoS']; 
            $messaggio=$riga['messaggioS']; 
            $nomeS=$riga['nomeS']; 
            $cittaS=$riga['cittaS']; 
            $cittaS=$riga['suoemailS']; 
            $ip=$riga['ip']; 
            $bandierina=$riga['bandierina']; 
            //...e salvo il successo nella tabella archivio, l'insert è uguale a quello che che c'è nella tabella successi  
            $ris_a=mysql_query("INSERT INTO archivio(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina) 
            VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')"); 
             //avendo salvato in tabella archivio posso eliminarlo dalla tabella successi
            $ris_d=mysql_query("DELETE FROM successi WHERE id=$id"); 
        } 
    } 
  } 
}
//********fine del trasferimento A QUI  
else {  
echo "<font style=\"font-size:18px;color:#0000ff;\">Non ci sono ancora Successi, volevi scriverne uno?</font>"; 
} 
    
function crea_data($t){ 
$giorno=array('domenica','luned&igrave;','marted&igrave;','mercoled&igrave;','gioved&igrave;','venerd&igrave;','sabato'); 
$mese=array('','gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre'); 
$gg=date('w',$t); 
$mm=date('n',$t); 
return $giorno[$gg]." ".date('d',$t)." ".$mese[$mm]." ".date("Y H:i:s \G\M\T P (T)", $t); 
} 

if(isset($_POST['invia'])) {
..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
a video non è cambiato nulla, quindi dovrebbe visualizzare come faceva prima.
per passare da successi a archivio devi superare il valore che hai messo in limit.
es. se hai messo limit 20 ($numero=20) li visualizza e basta (non trasferisce e non elimina) sino al 20°.
quando un utente inserisce il 21° messaggio il più vecchio passa in archivio e viene eliminato da successi.
in questo modo hai sempre i 20 successi visualizzati inviati per ultimi

edit
comunque riprovo poi ti so dire
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
a video non è cambiato nulla, quindi dovrebbe visualizzare come faceva prima.
per passare da successi a archivio devi superare il valore che hai messo in limit.
es. se hai messo limit 20 ($numero=20) li visualizza e basta (non trasferisce e non elimina) sino al 20°.
quando un utente inserisce il 21° messaggio il più vecchio passa in archivio e viene eliminato da successi.
in questo modo hai sempre i 20 successi visualizzati inviati per ultimi

Appunto, è così che dovrebbe essere, ma nel mio caso, ho impostato a 3, nella tabella successi stampa anche i successivi, ma a video rimangono stampati i soliti primi 3, e la tabella archivio rimane vuota
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
alla riga $q ecc..
PHP:
//............
$numero=10; // Limite max successi da visualizzare
// Legge tutti i campi in ordine decrescente
$q="SELECT * FROM successi ORDER BY id  LIMIT $numero";
//..........

aggiungi
PHP:
//...........
$numero=10; // Limite max successi da visualizzare
// Legge tutti i campi in ordine decrescente
$q="SELECT * FROM successi ORDER BY id DESC LIMIT $numero";
//.......
anche se non capisco perche di default dovrebbe essere DESC
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
alla riga $q ecc..
PHP:
//............
$numero=10; // Limite max successi da visualizzare
// Legge tutti i campi in ordine decrescente
$q="SELECT * FROM successi ORDER BY id  LIMIT $numero";
//..........

aggiungi
PHP:
//...........
$numero=10; // Limite max successi da visualizzare
// Legge tutti i campi in ordine decrescente
$q="SELECT * FROM successi ORDER BY id DESC LIMIT $numero";
//.......
anche se non capisco perche di default dovrebbe essere DESC

...come prima, non è che magari il codice va posizionato in un altra parte della pagina?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
questo è un mistero.
ho fatto ancora delle prove e col mio script funzia, poi ho guardato meglio quello che ti ho postato (e che hai ripostato) e non so perche ma manca una riga (sparita???).
PHP:
<?php
//....
//leggiamo tra i post estratti il valore minimo dell'id (unisco la querry direttamente all'esecuzione)
$ris=mysql_query("SELECT MAX(id) as massimo FROM successi ORDER BY id DESC");
$riga=mysql_fetch_array($ris);// <=**** questa era sparita ??????
$vecchi_id=$riga['massimo']-$numero;
if($vecchi_id > 0){
//.....
?>
per cui non leggeva il massimo id
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
questo è un mistero.
ho fatto ancora delle prove e col mio script funzia, poi ho guardato meglio quello che ti ho postato (e che hai ripostato) e non so perche ma manca una riga (sparita???).
PHP:
<?php
//....
//leggiamo tra i post estratti il valore minimo dell'id (unisco la querry direttamente all'esecuzione)
$ris=mysql_query("SELECT MAX(id) as massimo FROM successi ORDER BY id DESC");
$riga=mysql_fetch_array($ris);// <=**** questa era sparita ??????
$vecchi_id=$riga['massimo']-$numero;
if($vecchi_id > 0){
//.....
?>
per cui non leggeva il massimo id
Adesso va, arrivato al max stampa questo, lo posso togliere?

Poi ho bisogno mi stampi dal più vecchio sopra e i più recenti verso il basso...io quasi quasi forse ci metterei anche il conta post sulla barra come qui nel forum, che dici?

Ho dovuto togliere $riga a $ip e $bandierina
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
cosa puoi togliere?

poi se non ti servono ip e bandierina toglili anche dalle tabelle.
il valore di ip comunque ti potrebbe servire in seguito (verifichi alcuni ip che possono essere spammer ed eventalmente blocchi l'inserimento) quindi comunque per ora lascialo in tabella
ora quardo come puoi fare l'insert dell'ip poi te lo posto (per bandierina non so da dove venga)

per la numerazione, visto che deve riflettersi in tutte le pagine poi ti so dire
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
cosa puoi togliere?

poi se non ti servono ip e bandierina toglili anche dalle tabelle.
il valore di ip comunque ti potrebbe servire in seguito (verifichi alcuni ip che possono essere spammer ed eventalmente blocchi l'inserimento) quindi comunque per ora lascialo in tabella
ora quardo come puoi fare l'insert dell'ip poi te lo posto (per bandierina non so da dove venga)

per la numerazione, visto che deve riflettersi in tutte le pagine poi ti so dire

Ho messo così

PHP:
...
 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

Questo sotto in rosso si può togliere?

if(mysql_num_rows($ris)>0) { //se maggiore di 0 ci sono
echo "trasferisco da $vecchi_id<br>";
...

Poi ho bisogno che stampi a video in ordine crescente (il più recente in fondo)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per inserire l'ip vai dove fai l'insert del successo postato (dopo l'if isset $_POST) e puoi modificare direttamente l'insert
PHP:
<?php
//....
$q="INSERT INTO messaggi(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
       VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','".$_SERVER['REMOTE_ADDR']."','$bandierina')"; 
//....
?>

Poi ho bisogno che stampi a video in ordine crescente (il più recente in fondo)
questo è un più complesso (la SELECT deve prima ordinare poi estrarre quanti record richiesti da limit) guardo se e come è possibile senza complicare troppo lo script

si, si quell'echo lo puoi toglere era per verificare mentre provavo
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
per inserire l'ip vai dove fai l'insert del successo postato (dopo l'if isset $_POST) e puoi modificare direttamente l'insert
PHP:
<?php
//....
$q="INSERT INTO messaggi(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
       VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','".$_SERVER['REMOTE_ADDR']."','$bandierina')"; 
//....
?>


questo è un più complesso (la SELECT deve prima ordinare poi estrarre quanti record richiesti da limit) guardo se e come è possibile senza complicare troppo lo script

si, si quell'echo lo puoi toglere era per verificare mentre provavo
Per invertire l'ordine di stampa ho messo così

PHP:
$q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";

Poi ho aggiunto l'id es.#4 ad ogni post

PHP:
<div class=\"idSuccessiDX\">#".$riga['id']."</div>
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
...però questo ASC mi da un problemuccio: come io invio il form non mi stampa l'ultimo post inviato, in pratica non aggiorna la pagina, per visualizzarlo devo aggiornare la pag. manualmente.

Se invece metto DESC non da questo problema

PHP:
$q="SELECT * FROM successi ORDER BY id ASC LIMIT $numero";
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
vuoi altetrnare il colore di sondo sui successi?
se si è un problema di css+php.
in pratica conti i mentre i successi si visualizzano se il conteggio è un numero pari dai al div uno sfondo se dispari un altro
 
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