[PHP] Controllo su quantita' di caratteri inseriti, in colonna db

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Ciao a tutti,
volevo sapere come impostare un controllo su una colonna del mio db.
I caratteri dei record di questa colonna hanno tutti 8 caratteri tranne alcuni e volevo inserire a questi ultimi ($dato9),2 zeri iniziali.
Ecco il mio script:
Codice:
$dato50 = mysql_real_escape_string($_POST['dato50']);
$dato9 = mysql_real_escape_string($_POST['dato9']);
                    
                    if($dato50 == "" || $dato9 == ""){
                    
                        echo "<h1><font color='white'>ATTENZIONE , DEVI COMPILARE TUTTI I CAMPI !</font></h1>";
                              header("Refresh: 4; URL= http://miosito.org/registrazione_utenti/box/index.php");
} else {

$dato50 = $_POST["dato50"];
$dato9 = $_POST["dato9"];
 $sql="UPDATE completo SET DATO50 = '$dato50' WHERE DATO9 = '$dato9'";
 $exec = mysqli_query($con, $sql) or die(mysqli_error());
echo "<h1>DATO INSERITO CORRETTAMENTE</h1><img src='immagini/spuntaverde.png'>";

}
mysqli_close($con)

Potete aiutarmi?
 

marino51

Utente Attivo
28 Feb 2013
3.051
193
63
Lombardia
quello che stai cercando di fare è valido solo se la colonna è definita "stringa" nel db
se fosse definita "numerica" cambia pensiero, non otterrai il risultato

in ogni caso ciò che stai cercando di ottenere ("stringa" !) lo puoi avere con una semplice query

per avere la lista
PHP:
SELECT RIGHT(CONCAT('00000000', dato9), 8) AS dato9 FROM completo WHERE LENGTH(dato9)<8 AND dato9 IS NOT NULL

per applicare la variazione
PHP:
UPDATE completo SET dato9 = RIGHT(CONCAT('00000000', dato9), 8) WHERE LENGTH(dato9)<8 AND dato9 IS NOT NULL

per vedere come trattare le "stringhe" di caratteri
http://dev.mysql.com/doc/refman/5.7/en/string-functions.html
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Grazie Marino51...ho controllato la definizione.. va bene ma come lo inserisco nel mio script?
In pratica..se nel form che l'utente compila..non inserisce 8 caratteri io gli aggiungo ,con lo script,i due zero iniziali ai 6 che inserisce lui
 
Ultima modifica:

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
quello che stai cercando di fare è valido solo se la colonna è definita "stringa" nel db
se fosse definita "numerica" cambia pensiero, non otterrai il risultato

in ogni caso ciò che stai cercando di ottenere ("stringa" !) lo puoi avere con una semplice query

per avere la lista
PHP:
SELECT RIGHT(CONCAT('00000000', dato9), 8) AS dato9 FROM completo WHERE LENGTH(dato9)<8 AND dato9 IS NOT NULL

per applicare la variazione
PHP:
UPDATE completo SET dato9 = RIGHT(CONCAT('00000000', dato9), 8) WHERE LENGTH(dato9)<8 AND dato9 IS NOT NULL

per vedere come trattare le "stringhe" di caratteri
http://dev.mysql.com/doc/refman/5.7/en/string-functions.html
cosi ho risolta in db..dove trova solo 6 caratteri mi aggiunge i due zeri come volevo:
Codice:
$con = mysqli_connect("localhost","db","", "my_db");
if (!$con)
  {
  die('Could not connect: ' . mysqli_error());
  }
   
   (" UPDATE completo SET DATO9 = RIGHT(CONCAT('00000000', DATO9), 8) WHERE LENGTH(DATO9)<8 AND DATO9 IS NOT NULL ");

mysqli_close($con)

ma volevo un controllo php nel mio script sopra che verificasse:
se l'utente non inserisce otto caratteri restituisci errore..tutto qui..
 

marino51

Utente Attivo
28 Feb 2013
3.051
193
63
Lombardia
volevo sapere come impostare un controllo su una colonna del mio db
ho capito che dovevi fare un controllo su una colonna del db ....

In pratica..se nel form che l'utente compila..non inserisce 8 caratteri
in realtà devi controllare il valore inserito da un utente e che ricevi da un form ....

poi ho capito che il valore da controllare è "dato9" ma nello script scrivi il contrario, invertendo con "dato50" ....

PHP:
$dato50 = $_POST["dato50"];
$dato9 = substr("00000000".$_POST["dato9"], -8);
$sql="UPDATE completo SET DATO9 = '$dato9' WHERE DATO50 = '$dato50'";

risultato
PHP:
abcdef
50
UPDATE completo SET DATO9 = '00abcdef' WHERE DATO50 = '50'

bisogna solo ... comprendersi
 
Discussioni simili
Autore Titolo Forum Risposte Data
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
C [PHP] Controllo <select> comportamento anomalo PHP 2
A [PHP] Controllo nome utente form di registrazione PHP 4
L [PHP] controllo dimensione immagine per il resize PHP 2
P [PHP] Controllo al checkbox privacy PHP 6
T [php] controllo su estensione file PHP 7
M [PHP] Script per controllo disponibilitá negozio in citta PHP 4
F Controllo dati sui campi di input tramite php PHP 1
M [PHP] Dubbio controllo IF PHP 15
M [PHP] Controllo campo cap con trattino oltre ai numeri PHP 3
Fede72 Controllo registrazioni PHP Mysql PHP 5
bubino8 [PHP] Controllo Log e Modifiche Utenti PHP 5
P [PHP] Realizzare un controllo accessi cantiere, problema lettore Qrcode... PHP 0
M [PHP] Controllo inserimento in tempo reale PHP 0
M [PHP] Help: controllo valori inseriti in un campo PHP 1
M [PHP] Impedire di digitare determinati caratteri nell’input (controllo in tempo reale) PHP 4
giancadeejay [PHP] Controllo inserimento tot caratteri PHP 5
CristianB72 [PHP] Controllo sintassi indirizzo email non funziona PHP 13
M [PHP] controllo inserimento dati un un form PHP 4
ANDREA20 [PHP] Controllo email se e valida PHP 5
P controllo browser sul server o in php? PHP 2
F controllo form php con restituzione errori nella form PHP 10
B Problemi con pannello di controllo PHP PHP 0
B Problemi con pannello di controllo PHP PHP 0
L [php] upload controllo dimensione immagine PHP 8
Z Controllo campi di un form php PHP 5
X Eseguire controllo su variabili php PHP 1
P Controllo php su checkbox PHP 2
X controllo e scrittura su db mysql con pagine php PHP 4
P controllo dati form con jquery e php PHP 8
L [PHP e FTP upload] controllo file allegato PHP 6
L [PHP] Sapere se si lavora in locale o remoto (Controllo server Database) PHP 1
max_400 Messenger HTML - PHP - Controllo script PHP 29
A Sicurezza e controllo password in PHP PHP 4
X Controllo versione minima PHP PHP 1
E campo controllo in formail php PHP 1
G Script php per invio email con controllo sintassi e record MX PHP 0
G Script php per invio email con controllo sintassi e record MX PHP 7
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 2
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G leggere file txt e stampare con php il contenuto a video PHP 7

Discussioni simili