Salve ragazzi,
il problema mi pare chiaro. Avendo un codice, immesso in database dall'utente tramite un form, numerico ad esempio di 10 cifre, come si potrebbero tramutare in x solo le prime 7 o 8 cifre e lasciare visibili le ultime?
Grazie
Salve ragazzi,
il problema mi pare chiaro. Avendo un codice, immesso in database dall'utente tramite un form, numerico ad esempio di 10 cifre, come si potrebbero tramutare in x solo le prime 7 o 8 cifre e lasciare visibili le ultime?
Grazie
codice:select concat(repeat('x',7),substring(codice from 8)) as nascosto from tabella
Grazie Nicola,
appena posso, in giornata, lo testo e vediamo un po'.![]()
Ciao Nicola,
testando il codice ho avuto questo problema. Se inserisco ad esempio un codice di 9 cifre, e scrivo la seguente query:
quando vado a stampare la variabile nascosto mi visualizza sì le 5 x (come da impostazione), ma non mi visualizza le ultime 4 cifre, cioè quelle dal 6 al 9 appunto. In pratica mi vengono fuori solo 5 x. Perchè?Codice PHP:
$dati = mysql_query("SELECT *, date_format(dataevento,'%d-%m-%Y %H:%i') AS 'dataora', concat(repeat('x',5),substring(cab from 9)) AS nascosto FROM esempio");
Metti substring from 6 e comunque la nona te la dovrebbe visualizzare comunque.![]()
Ho riscritto la query così:
provando sia from 6, che seguendo (per il codice abi) le istruzioni del manuale sqlsulla funzione substring.Codice PHP:
$dati = mysql_query("SELECT *, date_format(dataevento,'%d-%m-%Y %H:%i') AS 'dataora', concat(repeat('x',5),substring(cab from 6)) AS codicecab, concat(repeat('x',5),substring(abi, 6, 20)) AS codiceabi FROM esempio");
$array = mysql_fetch_array($dati);
echo "<h3>cab:</h3> ".$array['codicecab']."
";
echo "<h3>abi:</h3> ".$array['codiceabi']."
";
echo "Pubblicato il ".substr($array ['dataora'],0,10)." alle ". substr($array ['dataora'],11,5);
Nulla da fare!!!! Mi stampa solo le 5 x e basta!!!!!![]()
Prova a eseguire la query da phpmyadmin o dall'interfaccia che usi e vedi cosa ti restituisce. Sicuramente non dipende da quello ma togli quegli apici dall'alias dataora.
Ho eseguito la query con phpmyadmin (sto testando in locale con easyphp) ed ecco che mi appare:
#1267 - Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation 'concat'
Perdona la mia ignoranza,
ma che vuol dire usare lo stesso?
Di quel che c'è scritto io non ho fatto nulla, ossia nessuna mescolanza! Come faccio a cambiarli?