PhpAdmin-MySQL com MAMP

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio
ciao
dai nel css al box una width fissa (es width=300px)
il numero mi sono dimenticato di metterlo, domani do un occhio
poi ti interessa mettere la paginazione?
 
...e sai perché dico così?

Per fare una prova ho modificato il codice, ho tolto $riga e messo $ davanti ai campi

PHP:
$ris=mysql_query($q); 
if(mysql_num_rows($ris) > 0) { // Conto i record (i campi compilati 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\">$data_localeS</div>"; 
        echo "<div class=\"campiAltiS\">"; 
        echo "<div class=\"oggettoBox\">$oggettoS</div>"; 
        echo "</div>"; // campiAltiS  
        echo "<div class=\"messaggioBox\">$messaggioS</div>"; 
        echo "<div class=\"bassoS\"></div>"; // bassoS  
        echo "<div class=\"nomeBox\">$nomeS,</div>"; 
        if (!empty($riga['cittaS'])) {  // Se il campo è vuoto non stampa neanche la virgola 
            echo "<div class=\"cittaBox\">$cittaS,</div>"; 
        } 
        if (!empty($riga['suoemailS'])) {  // Se il campo è vuoto non stampa neanche il trattino 
            echo "<div class=\"mailBox\">$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 
    } 
}
else {  
    echo "<font style=\"font-size:18px;color:#0000ff;\">Non ci sono ancora Successi, volevi scriverne uno?</font>"; 
} 
        
if(isset($_POST['invia'])) {
...

Ha stampato i box correttamente allineati, seppur vuoti ovviamente.

img01o.jpg
 
ciao
per forza sono vuoti non leggi i campi
se vuoi usare qual sistema devi prima fare (come ti avevo postato)
PHP:
<?php
//....
$data_localeS=$riga['data_localeS'];
//utti sino a
$bandierina=$riga['bandierina'];
//..ecc...i div con la stampa...
?>
anche se è la stessa cosa mettere ...".$riga['data_localeS']."...

poi se guardi su
http : //www .borgo-italia.it / foto_dautore / foto_autore.php (togli gli spazi) vedi cosa vuol dire la paginazione li si tratta di immagini ma con i tuoi messaggi è la stessa cosa.
non hai bisogno di passare i più vecchi in archivio.
p.s.
se tu avessi usato il sistema della data che ti avevo consigliato sarebbe stato comunque piu facile eventualmente passare i più vecchi di una determinata data in un archivio o (al limite) eliminarli
 
Ultima modifica:
ciao
per forza sono vuoti non leggi i campi
se vuoi usare qual sistema devi prima fare (come ti avevo postato)
PHP:
<?php
//....
$data_localeS=$riga['data_localeS'];
//utti sino a
$bandierina=$riga['bandierina'];
//..ecc...i div con la stampa...
?>
anche se è la stessa cosa mettere ...".$riga['data_localeS']."...

poi se guardi su
http : //www .borgo-italia.it / foto_dautore / foto_autore.php (togli gli spazi) vedi cosa vuol dire la paginazione li si tratta di immagini ma con i tuoi messaggi è la stessa cosa.
non hai bisogno di passare i più vecchi in archivio.
p.s.
se tu avessi usato il sistema della data che ti avevo consigliato sarebbe stato comunque piu facile eventualmente passare i più vecchi di una determinata data in un archivio o (al limite) eliminarli

Lo so che non stampa, ma ho fatto questa prova come dimostrazione che i box sballano non perché è un problema di css, ma di codice php.

Per il codice data, faccio delle prove con "time"
 
ciao
se usi time (molto comodo per poi fare confronti, calcoli ecc..) ricordati che time è una data epocale espressa in secondi (numero intero),
quindi quando fai l'echo del campo data_localeS fai
PHP:
<?php
//....
$data_locale$=date("d m Y H:i:s",$riga['data_localeS']);//o direttamente nell'echo
//....
?>
in funzione di come scrivi la stringa la data si formatta/visualizza in modo diverso
es.
"d m Y H:i:s" alla' echo 27 12 2012 08:31:15
"d.m.Y H:i:s" alla' echo 27.12.2012 08:31:15
"d/m/Y H:i:s" alla' echo 27/12/2012 08:31:15
se dai un occhio a
http://it1.php.net/manual/en/function.date.php
vedi tutte le combinazioni possibile

poi mi sembra strano che i div si allarghino/riducano non c'entra php, php fa solo quello che gli dici di fare
 
ciao
se usi time (molto comodo per poi fare confronti, calcoli ecc..) ricordati che time è una data epocale espressa in secondi (numero intero),
quindi quando fai l'echo del campo data_localeS fai
PHP:
<?php
//....
$data_locale$=date("d m Y H:i:s",$riga['data_localeS']);//o direttamente nell'echo
//....
?>
in funzione di come scrivi la stringa la data si formatta/visualizza in modo diverso
es.
"d m Y H:i:s" alla' echo 27 12 2012 08:31:15
"d.m.Y H:i:s" alla' echo 27.12.2012 08:31:15
"d/m/Y H:i:s" alla' echo 27/12/2012 08:31:15
se dai un occhio a
http://it1.php.net/manual/en/function.date.php
vedi tutte le combinazioni possibile

poi mi sembra strano che i div si allarghino/riducano non c'entra php, php fa solo quello che gli dici di fare
Riguardo alla data, questo codice richiama uno script

PHP:
$data_localeS = $_POST['WebDate_ScrivimiS'];

Questo è nel form

PHP:
<!-- Prende la data-ora browser del visitatore da script.js - WebDate_ScrivimiS() -->
<input type="hidden" id="hdn_data_localeS" name="WebDate_ScrivimiS" />
<script type="text/javascript">WebDate_ScrivimiS();</script>

script

PHP:
/* Questo viene richiamato in successi.php - $data_localeS = ($_POST['WebDate_ScrivimiS']); */					             
function WebDate_ScrivimiS() {
var now = new Date();
var year = now.getFullYear();
var ora = now.toTimeString();   
var nameDay = new Array('domenica','luned&igrave;','marted&igrave;','mercoled&igrave;','gioved&igrave;','venerd&igrave;','sabato');
var nameMth = new Array('gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');
document.getElementById("hdn_data_localeS").value = nameDay[now.getDay()]+ " " + now.getDate() + " " + nameMth[now.getMonth()] + " " + year + " - " + ora;
}

Riguardo ai box, è quel $riga che da problemi
 
Il problema dei box forse l'ho risolto, ora rimangono allineati giusti, ho tolto $riga solo qui e ho messo $bandierina

PHP:
echo "<div class=\"bandierinaBox\">$bandierina<div class=\"nazione\">".$countries[$two_letter_country_code][1]."</div></div>";

Qui l'ho lasciato come prima

PHP:
$q="INSERT INTO successi(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)
       VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina')";

Questo è tutto il codice che ho in head che richiama bandierina, ecc.

PHP:
<?php 
//Tutto questo codice recupera l'ip del Visitor e lo mette a video con Country e bandierina
//Lo richiama sia il form dei successi.php che il form colonna dx (Icona mail)
function iptocountry($ip) {
$numbers = explode(".", $ip); 
include("ip_flags/ip_files/".$numbers[0].".php"); 
$code=($numbers[0] * 16777216) + ($numbers[1] * 65536) + ($numbers[2] * 256) + ($numbers[3]);
foreach($ranges as $key => $value) { 
if($key<=$code) {
if($ranges[$key][0]>=$code) {
$two_letter_country_code=$ranges[$key][1];
break;
} 
 } 
  } 
if ($two_letter_country_code=="") {
$two_letter_country_code="unknown";
}
return $two_letter_country_code; 
} 
$ip=$_SERVER['REMOTE_ADDR']; 
$two_letter_country_code=iptocountry($ip);
include("ip_flags/ip_files/countries.php"); 
$file_to_check="ip_flags/flags/$two_letter_country_code.gif";
if (file_exists($file_to_check)) {
$bandierina ="<img src=\"http://localhost:8888/MIEI%20SITI/Alveo/$file_to_check\" width=\"16\" height=\"12\" alt=\"".$countries[$two_letter_country_code][1]."\" title=\"".$countries[$two_letter_country_code][1]."\" />";
} 
else
{ 
$bandierina ="<img src=\"http://localhost:8888/MIEI%20SITI/Alveo/ip_flags/flags/noflag.gif\" width=\"16\" height=\"12\" alt=\"noflag\" title=\"noflag\" />";
}
?>
 
ciao
perchè usi javascript
PHP:
$data_localeS = $_POST['WebDate_ScrivimiS'];
per fare una cosa che viene risolta con facilità da php con oltre facilità di calcoli/confronti ecc..
con
PHP:
 $data_localeS =ti
me();
evitando di caricare il js (che potrebbe essere disattivato)
basta che prima dell' INSERT tu metta l'istruzione sopra al posto del $_POST
mettiamo che fra un po' tu abbia voglia di eliminare i messaggi più vecchi di un mese se usi time()
PHP:
<?php
$adesso=time();
$mese_fa=$adesso-(30*24*60*60);//giorni x ore x minuti x secondi
$q ="DELETE messaggi WHERE data_locale$ < $mese_fa";//elimini in automatico tutti i messaggio del mese scorso
//...
?>
analogo discorso se tu volessi farti una tabella archivio_messaggi e in automatico passare i messaggi più vecchi all'archivio
se usi quel formato lunedì 26 novembre 2012.... diventa un casino (pensa al futuro, l'appetito vien mangiando)
 
ciao
perchè usi javascript
PHP:
$data_localeS = $_POST['WebDate_ScrivimiS'];
per fare una cosa che viene risolta con facilità da php con oltre facilità di calcoli/confronti ecc..
con
PHP:
 $data_localeS =ti
me();
evitando di caricare il js (che potrebbe essere disattivato)
basta che prima dell' INSERT tu metta l'istruzione sopra al posto del $_POST
mettiamo che fra un po' tu abbia voglia di eliminare i messaggi più vecchi di un mese se usi time()
PHP:
<?php
$adesso=time();
$mese_fa=$adesso-(30*24*60*60);//giorni x ore x minuti x secondi
$q ="DELETE messaggi WHERE data_locale$ < $mese_fa";//elimini in automatico tutti i messaggio del mese scorso
//...
?>
analogo discorso se tu volessi farti una tabella archivio_messaggi e in automatico passare i messaggi più vecchi all'archivio
se usi quel formato lunedì 26 novembre 2012.... diventa un casino (pensa al futuro, l'appetito vien mangiando)

Ora provo, l'appetito vien mangiando, io è da domenica mattina che non tocco cibo
 
Non ho capito come va quel codice, a me serve che stampa formattato così e col mio codice lo posso fare, con php non so

lunedì 26 novembre 2012 - 16:34:17 GMT+0100 (CET)
 
ciao
prova questa, non ho messo il valore di time() dopo la stringa, quindi ti da la data odierna
PHP:
<?php
echo date("l d M Y H:i:s \G\M\T P (T)");
?>

però come detto se vuoi passare in archivio i messaggi più vecchi è un casino
 
ciao
prova questa, non ho messo il valore di time() dopo la stringa, quindi ti da la data odierna
PHP:
<?php
echo date("l d M Y H:i:s \G\M\T P (T)");
?>

però come detto se vuoi passare in archivio i messaggi più vecchi è un casino

Possiamo fare come dici tu, a me basta che stampa in italiano una cosa del genere lunedì 26 novembre 2012 - 16:34:17 GMT+0100 (CET)

Ho trovato questo codice, ma non so farlo funzionare

PHP:
function data_localeS($d) {
    $d = strtotime($d);
    $gs = date("w",$d); // Giorno della settimana
    switch ($gs) {
         case 0:
             $return = "domenica, ";break;
         case 1:
             $return = "luned&igrave;, ";break;
         case 2:
             $return = "marted&igrave;, ";break;
         case 3:
             $return = "mercoled&igrave;, ";break;
         case 4:
             $return = "gioved&igrave;, ";break;
         case 5:
             $return = "venerd&igrave;, ";break;
         case 6:
             $return = "sabato, ";break;
    }
    $g = date("j",$d); // Giorno
    $return .= $g;
    $m = date("m",$d); // Mese
    switch ($m) {
         case 1:
             $return .= " gennaio ";break;
         case 2:
             $return .= " febbraio ";break;
         case 3:
             $return .= " marzo ";break;
         case 4:
             $return .= " aprile ";break;
         case 5:
             $return .= " maggio ";break;
         case 6:
             $return .= " giugno ";break;
         case 7:
             $return .= " luglio ";break;
         case 8:
             $return .= " agosto ";break;
         case 9:
             $return .= " settembre ";break;
         case 10:
             $return .= " ottobre ";break;
         case 11:
             $return .= " novembre ";break;
         case 12:
             $return .= " dicembre ";break;
    }
    $a = date("Y",$d); // Anno
    $return .= $a." - ";
    $o = date("H:i",$d); // Orario
    $return .= $o;

    return $return;
}
 
ciao
se hai pazienza domani ti posto una funzione adatta, pero devi usare il time() nel campo data_localeS
per capire cosa è il time fai:

PHP:
<?php
$ora=time();
echo "data epocale = $ora secondi  trascorsi dal 1 gennaio 1970 ore 00:00:00 a adesso <br />";
$data_umana=date("d m Y H:i:s", $ora);
echo "che corrisponde a : $data_umana<br />";
?>
 
ciao
se hai pazienza domani ti posto una funzione adatta, pero devi usare il time() nel campo data_localeS
per capire cosa è il time fai:

PHP:
<?php
$ora=time();
echo "data epocale = $ora secondi  trascorsi dal 1 gennaio 1970 ore 00:00:00 a adesso <br />";
$data_umana=date("d m Y H:i:s", $ora);
echo "che corrisponde a : $data_umana<br />";
?>
Ha stampato così 27 11 2012 19:23:20 basta diventi una cosa del genere lunedì 26 novembre 2012 - 16:34:17 GMT+0100 (CET) che va bene.

Manca anche il contamessaggi
 
Così sembra funzionare

PHP:
$data_ora=time(); 
$data_localeS=date("l d M Y H:i:s \G\M\T P (T)", $data_ora);

Stampa Tuesday 27 Nov 2012 23:41:06 GMT +01:00 (CET)

Devi solo darmi il codice che trasforma giorno e mese in italiano
 
ciao
ecco la funzione per la trasformazione della data in italiano
PHP:
<?php
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);
}
//TEST*****************
$oggi=time();
echo "oggi è il ".crea_data($oggi)."<br />";
$ieri=$oggi-(24*60*60);
echo "ieri era  ".crea_data($ieri)."<br />";
?>
poi da quello che ho visto usi anche l'inglese/americano quindi se leggi la nazione dalla tabella potresti scrivere la data anche in funzione della lingua
ti faccio uno schema che eventualmente metti a posto
PHP:
<?php
function crea_data_blingua($t,$naz){
	if($naz=="IT"){//ho messo IT ma devi mettere quello che risulta in tabella nel campo nazione
		$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);
	}else{
		return date("l d M Y H:i:s \G\M\T P (T)", $t);
	}
}
//TEST********************
echo "data in italiano ".crea_data_blingua(time(),"IT")."<br />";
echo "data in inglese ".crea_data_blingua(time(),"EN")."<br />";
?>
poi, forse, oggi il numero dei messaggi
 
ciao
ecco la funzione per la trasformazione della data in italiano
PHP:
<?php
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);
}
//TEST*****************
$oggi=time();
echo "oggi è il ".crea_data($oggi)."<br />";
$ieri=$oggi-(24*60*60);
echo "ieri era  ".crea_data($ieri)."<br />";
?>
poi da quello che ho visto usi anche l'inglese/americano quindi se leggi la nazione dalla tabella potresti scrivere la data anche in funzione della lingua
ti faccio uno schema che eventualmente metti a posto
PHP:
<?php
function crea_data_blingua($t,$naz){
	if($naz=="IT"){//ho messo IT ma devi mettere quello che risulta in tabella nel campo nazione
		$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);
	}else{
		return date("l d M Y H:i:s \G\M\T P (T)", $t);
	}
}
//TEST********************
echo "data in italiano ".crea_data_blingua(time(),"IT")."<br />";
echo "data in inglese ".crea_data_blingua(time(),"EN")."<br />";
?>
poi, forse, oggi il numero dei messaggi

Non ho capito bene come strutturarlo, qui cosa metto?

PHP:
 while($riga=mysql_fetch_array($ris)) {
echo "<div class=\"dataBox\">".$riga['data_localeS']."</div>"; 
...
 
ciao
ecco
PHP:
<?php
 //...
 while($riga=mysql_fetch_array($ris)) {
echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."</div>";
//.....
?>
ricordati però quando fai l'insert dei messaggi al posto di
PHP:
<?php
//....
if(isset($_POST['invia'])){
    $data_localeS = $_POST['WebDate_ScrivimiS'];
//....
?>
metti
<?php
//....
PHP:
if(isset($_POST['invia'])){
    $data_localeS = time();
//....
?>
anche time comunque legge il momento in cui l'utente inserisce il messaggio
 
Riassumendo, c'è qualcosa che mi sfugge perché non si apre la pagina
PHP:
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'])) {
$data_localeS = time(); 
$nomeS = stripslashes(htmlentities(ucwords(strtolower(trim($_POST['nomeS'])))));
$cittaS = stripslashes(htmlentities(ucwords(strtolower(trim($_POST['cittaS']))))); 
$suoemailS = htmlentities(strtolower($_POST['suoemailS'])); 
$suoemailS = str_replace(" ","",$suoemailS); // Toglie gli spazi interni nella mail
$oggettoS = stripslashes(htmlentities(ucfirst(trim($_POST['oggettoS']))));
$messaggioS = stripslashes(htmlentities(ucfirst(trim($_POST['messaggioS'])))); 
$validatorS = stripslashes(htmlentities(trim($_POST['validatorS'])));
...

*while($riga=mysql_fetch_array($ris)) {
echo "<div class=\"dataBox\">".crea_data($riga['data_localeS'])."</div>"; 

...
 
Ultima modifica:

Discussioni simili