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

    Genera Numero Progressivo

    Ciao A tutti

    ho un problemone...dovrei fare in modo che dopo aver premuto il Pulsante Invia in una form in PHP questa mi generi un pagina con un numero Progressivo.

    Mi spiego meglio.
    Ho una form, compilo i campi, premo INVIO, i dati vengono salvati su SQL; però vorrei che ogni volta che si preme invia venga generato un numero diciamo di "PROTOCOLLO", il quale viene salvato sempre nel db, insieme hai dati di riferimento.

    Il numero dovrebbe essere così:

    0000001
    0000002
    0000003
    ..........
    0022222

    Come si fà? Grazie

    Antonio

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    usa la funzione str_pad

    Codice PHP:
    $num "1";
    $prog_num str_pad($num7"0"STR_PAD_LEFT); 
    $prog_num sarà uguale a 0000001.


  3. #3
    aspetta non ho capito bene:
    Dove lo metto e come ?

    ti passo il form:
    -----------
    <?php

    include('include.php');

    $Da = $_POST["Da"];
    $Oggetto = $_POST["Oggetto"];
    $Descrizione = $_POST["Descrizione"];
    $Note= $_POST["Note"];
    $Annulalto = $_POST["Annullato"];
    $RegistratoDa = $_POST["RegistratoDa"];

    $conn = mssql_connect( $host, $user, $password );
    mssql_select_db( $database );

    //INSERISCO I DATI NEL DB
    $query = "INSERT INTO Entrata (Da, Oggetto, Descrizione, Note, Annullato, RegistratoDa)
    VALUES ('$Da', '$Oggetto', '$Descrizione', '$Note', '$Annullato', '$RegistratoDa')";

    $result = mssql_query( $query );


    if (!isset($_POST['Registra'])) { // if page is not submitted to itself echo the form

    ?>

    <html>
    <head>
    <title>Personal INFO</title>
    </head>
    <body>
    <form method="post" action="<?php echo $PHP_SELF;?>">
    Da:<input type="text" size="12" maxlength="12" name="Da">

    Oggetto:<input type="text" size="12" maxlength="36" name="Oggetto">

    Descrizione:<input type="text" size="12" maxlength="36" name="Descrizione">

    Note:<input type="text" size="12" maxlength="36" name="Note">

    Annullato:

    <select name="Annullato">
    <option>------
    <option value="Si">Si</option>
    <option value="No">No</option>
    </select>

    Registrato Da:<input type="text" size="12" maxlength="36" name="RegistratoDa">

    <input type="submit" value="submit" name="Registra">
    </form>

    <?

    } else {
    echo "Da= ".$Da."
    ";
    echo "Oggetto= ".$Oggetto."
    ";
    echo "Descrizione= ".$Descrizione."
    ";
    echo "Note= ".$Note."
    ";
    echo "Annulato= ".$Annullato."
    ";
    echo "Registrato Da= ".$RegistratoDa."";
    }

    ?>

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    ehm...non vedo dove assegni il tuo valore progressivo...per caso hai un campo auto_increment nella tabella?
    In tal caso mostrami la struttura della tabella, altrimenti non posso esserti di aiuto

  5. #5
    Si scusasmi tanto;

    la tabella è in SQL

    Protocollo ( id )
    DA (testo)
    Oggetto (testo)
    Descrizione (testo)
    Note (testo)
    Annullato (si/no)
    RegistratoDA (testo)

    non ho inserito il "protocollo" nella form perchè è un id, ma vorrei che dopo la registrazione appaia un numero ( come il protoccollo) che generi un numero progressivo...Ti prego dimmi che sono stato chiaro..

    Ciao

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se invece non vuoi ricorrere a str_pad ma vuoi risolvere direttamente con mysql basta che definisci il tuo campo id come int(7) primary key auto incrementante e usi l'attributo zerofill.

  7. #7
    non ho capito molto, nel mio caso che uso mssql come dovrei fare?

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da lucign0l0
    non ho capito molto, nel mio caso che uso mssql come dovrei fare?
    mi spiace. pensavo usassi mysql. verifica se c'è qualcosa di simile a zerofill in sql server altrimenti usa str_pad come suggerito dal Drugo.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.