Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    inserimento record complesso

    ciao a tutti,

    ho un modulo di registrazione e nell' ID devo passargli un valore letterale prima del numerale. cioè

    l'utente si registra e il primo id è 1 poi il secondo è l'id diventa 2 e così via,
    ma a me serve mettere davanti al numero la lettera w.

    al primo tentativo funziona è l' ID diventa w1 ma dal secondo no e mi dà sempre come valore W1. io uso questo codice per fare l'incremento:

    $SQLValoreMax = "SELECT MAX(id) AS iValore FROM utenti";
    $rsLastEntry = mysql_query($SQLValoreMax,$db_connect);
    extract(mysql_fetch_array($rsLastEntry));
    // incremento di 1 per il nuovo record
    $iValore2 = $iValore+1;

    e la variabile $iValore2 dovrebbe diventare w2, w3, w4 e così via.
    qualcuno mi sà aiutare per favore?
    Grazie
    DANIELE MASSACESI
    Progettazione Siti Web - Programmazione Siti in HTML - PHP
    CSS - Analisi e sviluppo piani marketing
    Ottimizzazione - analisi parole chiave
    EMAIL: massacesi@gmail.com

  2. #2
    sei sicuro che MySQL riconosca il valore massimo numerico di una espressione si fatta? Non è che magari lui trovandosi di fronte ad una espressione alfanumerica rimanga un pochino allibito? Spiegherebbe il motivo per cui, non potendo scegliere restituisca una variabile vuota, che tu incrementi ogni volta ad 1... posso chiedere il motivo della w?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    Concordo con Lathspell, dovresti lasciare un contatore automatico nella tabella, e implementare tramite script un secondo campo al quale assegni il valore che vuoi.
    Recuperi il valore massimo dal contatore della tabella e il campo associato con il tuo contatore (ceh sarà per forza il più grande), lo implementi di uno per il nuovo utente, no?

  4. #4
    farei diversamente. metterei la chiave primaria su due campi. uno stringa char(1) che contiene il carattere e l'altro numerico int autoincrement.

    nel caso cambi la lettera iniziale la numerazione riparte da 1. quindi otterresti w1, w2, w3, y1, y2, y3 ecc.. in modo automatico

    Per estrarre il valore userai: select concat(campo_stringa, id) as id ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Giusto, così è più immediato.

  6. #6
    grazie tanto ora ho capito.
    la w ci sta xchè la persona che mi ha commissionato il lavoro vuole la w davanti ai numeri che sta per web. lui poi da altre postazioni metterà altre lettere.

    grazie tanto
    DANIELE MASSACESI
    Progettazione Siti Web - Programmazione Siti in HTML - PHP
    CSS - Analisi e sviluppo piani marketing
    Ottimizzazione - analisi parole chiave
    EMAIL: massacesi@gmail.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.