Ciclo for con diverse variabili

alexgentili

Utente Attivo
15 Lug 2010
39
0
0
Ciao a tutti e grazie ancora una volta per l'aiuto che vorrete darmi.
Ho un ciclo for con una insert che dice :

for($a = 0; $a < $quantita_1; $a++)

{ $or = "INSERT INTO barcode ( quantita_1, quantita_2) VALUES ( '$quantita_1','$quantita_2',)";

$result = mysql_query ($or) or die ("errore query inserimento in barcode");
}

Il mio ciclo for serve per fare il controllo sulla variabile '$quantita', dove se il valore e meno di $a allora inserisce in tabella tante righe quante il valore contenuto nella variabile.
Il mio problema è: come faccio a fare lo stesso controllo sulla variabile 'quantita_2' ?
ho provato una cosa del genere ma nulla da fare:
for($a = 0; $a < $quantita_1,$quantita_1; $a++)

grazie a tutti .
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Quello che vuoi fare non è affatto chiaro, dovresti descrivere meglio la logica dell'operazione che vuoi effettuare.
Già in questo passo ti contraddici in quanto il codice non fa quello che affermi:

...
for($a = 0; $a < $quantita_1; $a++)

{ $or = "INSERT INTO barcode ( quantita_1, quantita_2) VALUES ( '$quantita_1','$quantita_2',)";

$result = mysql_query ($or) or die ("errore query inserimento in barcode");
}

Il mio ciclo for serve per fare il controllo sulla variabile '$quantita', dove se il valore e meno di $a allora inserisce in tabella tante righe quante il valore contenuto nella variabile.
...

Dici, "se il valore è meno di $a", ma dal codice che hai postato inserisci righe finchè il valore di $a è minore del valore di $quantita_1.

Mi astengo da commenti riguardo alla logica ed alla struttura del DB anche se effettuare inserimenti multipli degli stessi identici valori in più record va contro ogni logica di normalizzazione di un DB.

Comunque cerca di spiegare meglio la relazione tra le variabili $quantia_1 e $quantia_2. Ad esempio, se esse hanno valori divverenti, quanti inserimenti vanno effettuati? Il massimo tra i due valori o cosa?
 

alexgentili

Utente Attivo
15 Lug 2010
39
0
0
ok allora ti posto il codice che per adesso soddisfa in parte le mie esigenze:

$quantita_1 = addslashes($_POST['quantita_1']);
$quantita_2 = addslashes($_POST['quantita_2']);

$articolo_1 = addslashes($_POST[articolo_1']);
$articolo_2 = addslashes($_POST[articolo_2']);

for($a = 0; $a < $quantita_1; $a++)
{ $or = "INSERT INTO barcode ( quanita_1, quantita_2,articolo_1,articolo_2)
VALUES ( '$quantita_1','$quantita_2' ,'$articolo_1' ,'$articolo_2' )";
$result = mysql_query ($or) or die ("errore query inserimento in barcode");
}

// così riesco ad inserire n righe in db a seconda del valore contenuto nella variabile $quantita_1.
il mio scopo e fare lo stesso controllo anche su $quantita_2.
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
La logica continua a rimanermi oscura comunque, per prima cosa dovresti togliere quegli addslashes() sulle quantità in quanto contengono valori numerici poi, per quanto riguarda il codice forse ti basta fare una cosa del genere???

PHP:
for ($a = 0; $a < $quantita_1; $a++) { 
    $or = "INSERT INTO barcode ( quantita_1, quantita_2, articolo_1, articolo_2) VALUES ('$quantita_1', '$quantita_2' , '$articolo_1' , '$articolo_2' )";
    $result = mysql_query ($or) or die ("errore query inserimento in barcode");
}

for ($a = 0; $a < $quantita_2; $a++) { 
    $or = "INSERT INTO barcode ( quantita_1, quantita_2, articolo_1, articolo_2) VALUES ('$quantita_1', '$quantita_2' , '$articolo_1' , '$articolo_2' )";
    $result = mysql_query ($or) or die ("errore query inserimento in barcode");
}
 

alexgentili

Utente Attivo
15 Lug 2010
39
0
0
Esatto una cosa del genre.
Grazie ancora per la rispota.
Non badare alla logica sono all'inizio e sto imparando php.
Mi era girata per la testa questa idea ma mi sono chiesto: vuoi che non ci sia un modo per scrivere solo una volta il ciclo con la query ? bisogna per forza scrivere tanti cicli quante sono le variabili ?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.041
149
63
PR
www.borgo-italia.it
ciao,
come dice satifal la logica è oscura, ma così è.
si devi fare tanti cicli quanti sono le variabili, l'unica cosa, dato che le query sono uguali puou fare dei clicli annidati
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Secondo me voleva semplicemente controllare due diverse condizioni per l'iterazione del ciclo. Dovresti poter fare così:
PHP:
for(init; (condizione1 && condizione2); end)
{
    // ...
}

Anch'io inizialmente ho pensato ad una cosa del genere in quanto la soluzione da me proposta, a meno di logiche molto oscure, ha ben poco senso.
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [risolto] Ciclo di un array con azioni diverse PHP 26
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
I tabella con ciclo, recupero dati PHP 3
Monital Problema con un ciclo for. PHP 1
M Problema con ciclo foreach per chiusura apertura div in base al numero di record in database PHP 1
K Problema con update di un database in un ciclo Classic ASP 1
M Caricare più google maps con un ciclo Javascript 1
M Aiuto su come procedere con un ciclo foreach PHP 4
N Invio Form con un Ciclo For Javascript 8
P Conteggio con ciclo while PHP 1
O Problema con ciclo FOR PHP 1
A [risolto] caricare con un ciclo For dei file PHP inclusi in una variabile array PHP 3
S due variabili con ciclo for in Javascript 13
Monital tabella html con ciclo for annidato PHP 6
B ciclo con array, assegnare una classe differente per ciascun risultato PHP 3
M problema con ciclo foreach per estrarre dati da un database PHP 22
M Problema con ciclo for e while PHP 2
Monital Ciclo su array con valorui dispari PHP 5
neo996sps PHP: problema con ciclo for PHP 1
I Inviare E-mail con un ciclo per tabella PHP 3
nim inserire dati in tabella con ajax (ciclo foreach) Ajax 10
L Tabella con rappresentazione corretta di tutti i campi e dei link HTTP . Ciclo for? PHP 5
M Problema ciclo while con mysql_fetch_assoc PHP 6
E variabili di sessione con ciclo while PHP 20
neo996sps FPDF: stampa di immagini con ciclo PHP 1
A If, con ciclo for interno PHP 2
O array multi dimensionale con ciclo for PHP 6
W Problema con ciclo If.. PHP 27
D problema con ciclo if else query PHP 3
A Ciclo for su 2 colonne con limite a 10 PHP 1
P Problema con ciclo for PHP 3
F Fermare un ciclo while con un bottone o da solo Flash 0
L Ciclo for con dentro if else PHP 2
I Eseguire query con ciclo PHP 2
L Elenco link con ciclo for PHP 12
F ciclo for con setTimeout o interval.. Javascript 1
D problema con il ciclo while PHP 2
M Problema con join e ciclo while PHP 0
P Problema Con Il Ciclo Di Un Menu' Flash 6
B [HELP] Problema con ciclo if PHP 1
E Inviare variabile a PHP da ciclo in JS Javascript 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
B [PHP] formula e ciclo PHP 5
M [PHP] Come inserire codice html in un ciclo while PHP 2
G [PHP] totale per ogni id di un ciclo PHP 1
P Incrementare nodo in ciclo for-each XML 6
S [PHP] Ciclo foreach su più array PHP 2
M UPDATE non aggiorna db se lo inserisco in un ciclo Database 1

Discussioni simili