Creazione di 2 o più record

lucign0l0

Utente Attivo
9 Ott 2006
50
0
6
Ciao a tutti

Sto cercando di creare un programmino in php e mysql che mi permetta di creare dei record relativi ad un prodotto cliente, cosi:


In una pagina form ho questi campi


Cliente

Campo 1

Camoo 2

Campo 3

Etc


Se riempio solo il campo 1, cliccando su inserisci mi deve creare 2 record con i seguenti codice articolo (AA00001 e BB00001, che dovranno sempre essere progressivi in base alle prime due lettere iniziali); questo perché una volta trovato il modo di mettere i recodor aggiungerò altri dati per completare le info.

In pratica BB è il prodotto finale, AA quello che serve per crearlo.

Se invece compilo Campo 1 e Campo 2, allora i codico da creare sono 3 ( AA00001, AA00002, BB00001) e così via BB dovrà sempre esserci.

L'unica cosa è che il sistema deve tener conto dell'ultimo AA e BB inserito per continuità di incrementale.
Mi potete aiutare?
Ho iniziato con delle prove di If se il campo è vuoto e pieno, ed il codice iniziale l'ho inserito ma non so come farlo a fare incrementale ed univoco...

Grazie mille
 

lucign0l0

Utente Attivo
9 Ott 2006
50
0
6
questo il codice per ora creato

<?php
include ('include.php');
if(isset($_POST['submit']))
{
$codice = $_POST['codice'];

if (empty($codice)) {
//echo "vuoto";
echo "vuoto";

} else {

$tt=1;
$te=1;

$order_num=sprintf("tt%06d",$tt++);
$order_num2=sprintf("te%06d",$te++);

$sql = "INSERT INTO telai (codice)
VALUES ('$order_num'),
('$order_num2')";

}


if (mysqli_query($conn, $sql)) {
echo "New record has been added successfully !";
} else {
echo "Error: " . $sql . ":-" . mysqli_error($conn);
}
mysqli_close($conn);
}

?>
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
PHP (2).png
quando posti del codice php, oppure la funzione codice dalla barra degli strumenti
box inserisci.png

Inoltre IMPORTANTE: Prima di creare una nuova discussione o di rispondere alle discussioni esistenti ricordati di leggere attentamente il Regolamento del Forum e l'eventuale regolamento specifico della sezione!

Grazie

Correggi i tuoi post
mi raccomando altrimenti sarò costretto a cancellare le discussioni
 

lucign0l0

Utente Attivo
9 Ott 2006
50
0
6
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
PHP (2).png
quando posti del codice php, oppure la funzione codice dalla barra degli strumenti
box inserisci.png

Inoltre IMPORTANTE: Prima di creare una nuova discussione o di rispondere alle discussioni esistenti ricordati di leggere attentamente il Regolamento del Forum e l'eventuale regolamento specifico della sezione!

Grazie

Correggi i tuoi post
mi raccomando altrimenti sarò costretto a cancellare le discussioni
Si scusami hai perfettamente ragione ed ho letto il regolamento.. Se puoi e vuoi gentilmente puoi cancellare questo post..dalla mia pagina non riesco.
Grazie mille
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Ipotizzando che i "campi" in post siano chiamati rispettivamente "codice1,codice2,codice3" vedi questa classettina.
Segue codice
PHP:
<?php
/**
* Created by phpS
* User: macus_adi
* Project Name: _zutils
* File: CreateCodex.php
* Path: CreateCodex
* Date: 30/05/2020
* Time: 08:49
*/

namespace Libraries;


class CreateCodex {
   public $fields_=['codice1','codice2','codice3'];
   public $data=[];
   private $config=
      [
         'codice1'=>['prefix_'=>'AA','n_len'=>6,'t_len'=>8,'init'=>0],
         'codice2'=>['prefix_'=>'AA','n_len'=>6,'t_len'=>8,'init'=>1],
         'codice3'=>['prefix_'=>'BB','n_len'=>6,'t_len'=>8,'init'=>0],
      ];
   public $result=[];

   public function __construct($data=[]) {
      $this->data=$data;
      foreach ($this->fields_ as $items){
         $this->result[$items]='';
      }
   }
   public static function FactoryCodex($data=[]){
      return (new self($data))->__init__()->result;
   }
   public function __init__(){
      array_map(function($item){call_user_func([$this,$item]);},['getMaxAllItems','checkCi','createLastItems']);
      return $this;
   }
   private function getMaxAllItems(){


      // TODO creare logica per recuperare i dati dei fields per inizializzare i valori in modo corretto (inserire il numero intero in "init" di config)
   }
   protected function checkCi(){
      foreach ($this->fields_ as $items)
         (isset($this->data[$items]) &&
             !empty($this->data[$items]) &&
                 null!==$this->data[$items])?call_user_func_array([$this,'createCode'],[$items]):null;
   }
   private function createCode($items){
      $this->config[$items]['init']=$this->config[$items]['init']+=1;
      $this->result[$items]=$this->config[$items]['prefix_'].str_pad($this->config[$items]['init'], ($this->config[$items]['n_len']-strlen($this->config[$items]['init'])), '0', STR_PAD_LEFT);
   }
   private function createLastItems(){
      $this->createCode(array_reverse(array_keys($this->config))[0]);
   }
}

Per richiamarla basta semplicemente questo codice "naturalmente se il namespace non ti piace liberissimo di eliminarlo"....

PHP:
print_r(\Libraries\CreateCodex::FactoryCodex($_POST));
Il risultato:
Codice:
Array
(
    [codice1] => AA00001
    [codice2] =>
    [codice3] => BB00001
)

NB: non ho gestito la connessione e la query per recuperare i dati dal DB, se ti serve chiedi....
 
Ultima modifica:

lucign0l0

Utente Attivo
9 Ott 2006
50
0
6
Ipotizzando che i "campi" in post siano chiamati rispettivamente "codice1,codice2,codice3" vedi questa classettina.
Segue codice
PHP:
<?php
/**
* Created by phpS
* User: macus_adi
* Project Name: _zutils
* File: CreateCodex.php
* Path: CreateCodex
* Date: 30/05/2020
* Time: 08:49
*/

namespace Libraries;


class CreateCodex {
   public $fields_=['codice1','codice2','codice3'];
   public $data=[];
   private $config=
      [
         'codice1'=>['prefix_'=>'AA','n_len'=>6,'t_len'=>8,'init'=>0],
         'codice2'=>['prefix_'=>'AA','n_len'=>6,'t_len'=>8,'init'=>1],
         'codice3'=>['prefix_'=>'BB','n_len'=>6,'t_len'=>8,'init'=>0],
      ];
   public $result=[];

   public function __construct($data=[]) {
      $this->data=$data;
      foreach ($this->fields_ as $items){
         $this->result[$items]='';
      }
   }
   public static function FactoryCodex($data=[]){
      return (new self($data))->__init__()->result;
   }
   public function __init__(){
      array_map(function($item){call_user_func([$this,$item]);},['getMaxAllItems','checkCi','createLastItems']);
      return $this;
   }
   private function getMaxAllItems(){


      // TODO creare logica per recuperare i dati dei fields per inizializzare i valori in modo corretto (inserire il numero intero in "init" di config)
   }
   protected function checkCi(){
      foreach ($this->fields_ as $items)
         (isset($this->data[$items]) &&
             !empty($this->data[$items]) &&
                 null!==$this->data[$items])?call_user_func_array([$this,'createCode'],[$items]):null;
   }
   private function createCode($items){
      $this->config[$items]['init']=$this->config[$items]['init']+=1;
      $this->result[$items]=$this->config[$items]['prefix_'].str_pad($this->config[$items]['init'], ($this->config[$items]['n_len']-strlen($this->config[$items]['init'])), '0', STR_PAD_LEFT);
   }
   private function createLastItems(){
      $this->createCode(array_reverse(array_keys($this->config))[0]);
   }
}

Per richiamarla basta semplicemente questo codice "naturalmente se il namespace non ti piace liberissimo di eliminarlo"....

PHP:
print_r(\Libraries\CreateCodex::FactoryCodex($_POST));
Il risultato:
Codice:
Array
(
    [codice1] => AA00001
    [codice2] =>
    [codice3] => BB00001
)

NB: non ho gestito la connessione e la query per recuperare i dati dal DB, se ti serve chiedi....
Grazie gentilissimo proverò... Però ve bene così troppo complesso e come mi è detto sopra ci vuole un giusto ricompenso.. Scusate il disturbo
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Però ve bene così troppo complesso e come mi è detto sopra ci vuole un giusto ricompenso..
Dove??? In questo thread non ci sta nulla... Intendi in quello precedente?
Qui si chiede aiuto e non lo sviluppo, quindi perchè prendersela...
Rispondendo alla richiesta di:
Sto cercando di creare un programmino in php e mysql che mi permetta di creare dei record relativi ad un prodotto cliente, cosi:
il codice sopra con il necessario...
A te la palla!
 
Discussioni simili
Autore Titolo Forum Risposte Data
spider81man Creazione di un UNICA tabella da più file .CSV PHP 1
C Creazione di più server con xampp Apache 15
S Visualizza l'errore di creazione in MSSQL Database 4
M [Cerco][Gratuito] Artista/designer per creazione grafica gioco di società Offerte e Richieste di Lavoro e/o Collaborazione 0
N Creazione sito web senza Partita IVA (Era: mettersi in regola) Leggi, Normative e Fisco 1
F NetBeans problema creazione progetto Java Windows e Software 0
A Creazione cookie e gestione accessi PHP 0
D Creazione sito e-commerce WP CMS (Content Management System) 0
A Consiglio per creazione sito web CMS (Content Management System) 1
S CREAZIONE DI SITO PER CORSI DI FORMAZIONE WordPress 3
M Creazione menu a tendina Javascript 3
S Download di un file in automatico dopo la sua creazione PHP 2
G creazione menu a tendina e invio a pagina php PHP 1
M Problemi con creazione maschere Presentati al Forum 1
F Creazione script Tv Presentati al Forum 1
W Creazione Cartella Classic ASP 2
A recuperare data creazione di un file PHP 6
D Neofita. Creazione applicativo prenotazione automezzi Offerte e Richieste di Lavoro e/o Collaborazione 12
L Aiuto creazione menu mancante WordPress 0
E Creazione URL per chat whatsapp WordPress 0
W Creazione di una griglia HTML e CSS 1
E Creazione di un sito di news PHP 16
S Scelta software/cms per creazione sito Webdesign e Grafica 6
E Creazione gestionale timesheet partendo da foglio excel Offerte e Richieste di Lavoro e/o Collaborazione 0
M Creazione notifica sonora Javascript 1
R Creazione sito eccomerce privato. Offerte e Richieste di Lavoro e/o Collaborazione 2
I Creazione programmino JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
D Difficile creazione excel di dati di grandi dimensioni Classic ASP 2
I creazione stile css HTML e CSS 3
A [Offro][retribuito] Creazione siti web/ web app (Django) Offerte e Richieste di Lavoro e/o Collaborazione 2
Stefano Migotto Creazione di un div con php o js PHP 9
G [OFFRO][RETRIBUITO] Creazione siti web e loghi professionali Offerte e Richieste di Lavoro e/o Collaborazione 0
D Creazione sito Offerte e Richieste di Lavoro e/o Collaborazione 0
D CREAZIONE E GESTIONE SITO E-COMMERCE Offerte e Richieste di Lavoro e/o Collaborazione 2
C [WordPress] Retribuzione creazione Sito Web vetrina Discussioni Varie 3
I [Javascript] Creazione di una piccola libreria e integrazione in angular Javascript 2
S [OFFRO] Creazione di programmi per la modifica automatizzata di testi Offerte e Richieste di Lavoro e/o Collaborazione 0
T [php] problema creazione query select-where PHP 5
Daniele_Carrara [PHP] Creazione Carrello PHP 1
G Creazione Landing Page Offerte e Richieste di Lavoro e/o Collaborazione 2
P [HTML] Creazione pagina web da dove iniziare HTML e CSS 2
L Creazione form html HTML e CSS 3
Monital [PHP]Far riconoscere stringa o numerico epr creazione campo tabella PHP 6
W [PHP] Creazione classe PDO PHP 4
K [PHP] Creazione di Calendario con orario PHP 4
V [CREO] Creazione profilo INSTAGRAM ad hoc per SVILUPPO MARKETING aziendale Offerte e Richieste di Lavoro e/o Collaborazione 0
Store creazione campo search in php PHP 1
Store creazione barra search sito web Presentati al Forum 3
C Creazione di una funzione per il filtraggio dei campi di un db Presentati al Forum 0
F Info aws ed ec2 per creazione sito vendita orodotti digitali Server Dedicati e VPS 0

Discussioni simili