• Home
  • Forum
  • Fare Web
  • PHP

Ciclo su pulsante e istruzioni quando si preme

  • Creatore Discussione Creatore Discussione Emix
  • Data di inizio Data di inizio 17 Mag 2013
Prec.
  • 1
  • 2
Primo Prec. 2 di 2

Emix

Utente Attivo
15 Feb 2010
596
0
16
  • 20 Mag 2013
  • #21
scusami ma ieri ho avuto na maledettissima comunione -.- ho fatto delle prove.. ora praticamente il primo lo prende giusto e la seconda riga la da vuota... se io continuo , lui inserisce sempre righe vuote.. Da quel che vedo non confronta bene il barcode... ti allego immagine-



Inoltre se provo a rifare il tutto, mi "salva" le righe rpecedenemente cercate...
Ultima cosa.. Ho aggiunto il pezzo della form che avevi omesso, non si vedeva nulla..

HTML:
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post"> <!-- è bene specificare l'action nell'action del form, e non traite js! -->
<table>
<tr>
<td><input type="text" placeholder="Barcode" name="barcodeart[]" id="barcodeart" size="10" value=""></td> 
<td><input type="submit" class="visto" name="visto"></td>
</tr>
</table> 
</form>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 20 Mag 2013
  • #22
ciao
da quello che capisco ti stampa la descrizione ma non il barcode corrispospodente, giusto?
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
  • 20 Mag 2013
  • #23
nono la descrizione anello a 0 euro è un articolo senza barcode.. errato.. per cuis tampa quello come se non funzionasse la variabile di confronto nella query
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 20 Mag 2013
  • #24
ciao
sto andando per tentativi non avendo i dati del db.
prova così, ho provato ad implementare due contatori, uno per la sessione ($i) e uno per i valori dei post ($ii)
PHP:
<?php 
session_start();
include('connect.php');
$array_visto = $_POST['visto'];//a che ti serve questa riga?
//for ($i = 0; $i <= sizeof($array_visto); $i++) { provo a togliere for metto while
//a che ti serve questo doppio foreach ?
foreach ($_POST as $nome_1 => $valore_1){
        foreach($valore_1 as $nome_2 => $valore_2){
        }
    }   
//se non ti servono, a me sembra che non servano, toglili
//$i = 0;
if(!isset($_SESSION['conta'])){$_SESSION['conta']=0;}
$i = $_SESSION['conta'];
$ii=0; //contatore che si azzera e quindi riparte
do{
    if(isset($_POST['visto'][$ii])){//ii
        $barcodevisto[$ii] = $_POST['barcodeart'][$ii];//ii
        //poi modifica la quary così è meglio quando si usano gli array
        $queryart=("SELECT * FROM articoli WHERE Barcode='".$barcodevisto[$ii]."'") or die (mysql_error());//ii 
        $result = mysql_query($queryart) or die('Query failed: ' . mysql_error() . "<br />"); 
        //verifico che esista una una card con tale barcode 
        $esistebc=mysql_num_rows($result);
        //se $esiste == 0 non cè
        if($esistebc > 0){//esiste
            //estraggo usn e pass
            $righi=mysql_fetch_array($result);
            $barcodenew[$ii]=$righi[Barcode];
            $descrizione[$ii]=$righi[Descrizione];
            $prezzo[$ii]=$righi[Vendita];
            $fornitore[$ii]=$righi[Fornitore];
            $reparto[$ii]=$righi[Reparto];
            $_SESSION['righe'][$i]= "<tr>";
            $_SESSION['righe'][$i].="<td><input type=\"text\" placeholder=\"Barcode\" name=\"barcodeart[]\" id=\"barcodeart\" size=\"10\" value=\"".$barcodenew[$i]."\"></td>";
            $_SESSION['righe'][$i].="<td><input type=\"text\" placeholder=\"Descrizione\" name=\"descrizione[]\" id=\"descrizione\" size=\"32\" value=\"".$descrizione[$i]."\"></td>";
            $_SESSION['righe'][$i].="<td><input type=\"text\" style=\"text-align:center\" placeholder=\"Qnt\" name=\"campo[]\" id=\"quantita\" size=\"3\" value=\"1\"></td>";
            $_SESSION['righe'][$i].="<td><input type=\"text\" placeholder=\"Prezzo\" name=\"prezzo[]\" id=\"prezzo\" size=\"5\" value=\"".$prezzo[$i]."\" ></td>";
            $_SESSION['righe'][$i].="<td><input type=\"text\" placeholder=\"Sc %\" name=\"scontoperc[]\" id=\"scontoperc\" size=\"3\"></td>";
            $_SESSION['righe'][$i].="<td><input type=\"text\" placeholder=\"Sc VAL\" name=\"scontoval[]\" id=\"scontoval\" size=\"4\"></td>";
            $_SESSION['righe'][$i].="<td><input type=\"text\" placeholder=\"P.Scontato\" name=\"prezzosconto[]\" id=\"prezzosconto\" size=\"6\"></td>";
            $_SESSION['righe'][$i].= "</tr>";
?>    
            <form action="" method="post">
            <table>
<?php
            foreach($_SESSION['righe'] as $chiave => $valore){
                echo $valore;
            }
?>
            </table>
            </form>
<?php
            $_SESSION['conta']++;
			$ii++;
        }else{
?>
            <script>
            alert('Articolo non trovato');
            </script>
<?php
        }
    }
}while(($barcodenew[$i] != null)&&($descrizione[$i] != null)&&($prezzo[$i] != null)) 
//parentesi for       }
?>
 
F

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
  • 20 Mag 2013
  • #25
domanda:

Peché non usi jQuery per fare una chiamata ajax che resistuisca un array JSON con i dati della riga e la fai inserire a jQuery?

Qualcosa tipo:

Codice:
 $.ajax({
	url: "getinfo.php",
	type: "GET",
	data: barcode,
	success: function(data) {
		var item = $.parseJSON(data);
		$(".listbox").append("<tr><td>" + barcode + "</td><td>" + item.name + "</td><td>" + item.quantity + </td></tr>");
	},
	error: function() {
		alert("Errore!");
	}
});

Non ho messo tutti i campi, è solo un esempio.

In getinfo.php fai uno stupidissimo script che dal barcode prende le info e fa un echo tipo:

PHP:
echo '{"name": "' . $name . '", "quantity": "' . $quantity . '"}';

Giusto per dare l'idea..
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
  • 20 Mag 2013
  • #26
Borgo ho appena testa.. mi da un warning :

Warning: Invalid argument supplied for foreach() in /home/laviadellanima.com/public_html/prove/borgo.php on line 8

Ed inoltre non è cambiato nulla...

Sto diventando scemo...



@Fez Vrasta:

Non uso JQUERY e/o Ajax perchè non sono in grado... non ne ho le competenze basi... Mentre con PHP riesco a muovermi bene...
 
F

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
  • 20 Mag 2013
  • #27
Emix ha scritto:
Borgo ho appena testa.. mi da un warning :

Mentre con PHP riesco a muovermi bene...
Clicca per allargare...

Si vede :hammer:

Ti ho già scritto quasi tutto quello che bisogna fare in jQuery, e comunque farti scrivere un codice in PHP da noi del forum o fartelo scrivere in jQuery è lo stesso.
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
  • 20 Mag 2013
  • #28
veramente Borgo è partito dal mio di codice... Il fatto che gli dica del warning non significa che non sappia correggerlo ma che lo avvisavo di tale fatto. Tant'è che manca la parte relativa all'input ma non mi sembra che l'abbia citata. Per quanto riguarda il JQUERY ti ho detto che SE posso evitare, lo evito. Poi se non si riesce a fare in php prenderò per buono il tuo consiglio.
 
F

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
  • 20 Mag 2013
  • #29
Intendi che preferisci usare un metodo che necessita di ricaricare la pagina ad ogni input invece che uno che aggiorna dinamicamente la pagina?

Oh beh sì, molto più user friendly il primo metodo :hammer:
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
  • 20 Mag 2013
  • #30
non ho MAI detto che il mio metodo era il migliore... ma ho detto che il mio metodo lo CONOSCO. Sono due cose ben differenti...
 
F

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
  • 20 Mag 2013
  • #31
e allora che problemi ti fai. Se sai scrivere in PHP prepara lo script come ti ho indicato e come jQuery usa questo:

Javascript:
Codice:
$(function() {
	// Quando si invia il form
	$('.inputbox').submit(function(e){
		// Prevengo il comportamento di default
		e.preventDefault();

		// Popolo barcode con il contenuto di #barcodeinput
		var barcode = $("#barcodeinput").val();
		
		// Parte la chiamata Ajax
		$.ajax({
			url: "getinfo.php", // File PHP che si occupa della richiesta dei dati
			type: "GET",
			data: "barcode=" + barcode,
			// Una volta ricevuti i dati inserisco una nuova riga in .listbox
			success: function(data) {
				var item = $.parseJSON(data);
                                // Inserisco la nuova riga
				$(".listbox").append("<tr><td>" + barcode + "</td><td>" + item.name + "</td><td>" + item.quantity + </td></tr>");
                                // Pulisco il form (non so se serva davvero)
                                $("#barcodeinput").val("");
			},
			error: function() {
				alert("Errore!");
			}
		});


	});
});


HTML:
Codice:
<table class="listbox">
	<tr><td>barcode</td><td>nome</td><td>quantità</td></tr>
</table>
<form class="inputbox">
	<table class="listbox">
		<tr><td><input type="text" id="barcodeinput"></td><td></td><td></td></tr>
	</table>
</form>
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

V
Ciclo for per Pulsante in JavaScript
  • Veronica_
  • 29 Apr 2018
  • Javascript
Risposte
7
Visite
4K
Javascript 5 Mag 2018
WmbertSea
G
Ciclo if php per far comparire un pulsante solo nel caso in cui una variabile sia 0
  • Giancarlo Lupo
  • 15 Mar 2016
  • PHP
Risposte
2
Visite
2K
PHP 18 Mar 2016
Giancarlo Lupo
G
R
ob_start() che all interno di un ciclo non funziona
  • roccochiolo
  • 31 Mar 2025
  • PHP
Risposte
0
Visite
257
PHP 31 Mar 2025
roccochiolo
R
B
  • Bloccata
Completare il seguente ciclo affinché stampi tutto l’array al contrario
  • blade744
  • 5 Giu 2022
  • PHP
Risposte
3
Visite
1K
PHP 7 Giu 2022
Max 1
W
MySQL ciclo in SELECT
  • wolfland
  • 26 Mag 2022
  • MySQL
Risposte
0
Visite
2K
MySQL 26 Mag 2022
wolfland
W
E
Inviare variabile a PHP da ciclo in JS
  • Elizzit
  • 17 Mag 2021
  • Javascript
Risposte
0
Visite
1K
Javascript 17 Mag 2021
Elizzit
E
I
Eecuzione di javascript in ciclo foreach php.
  • inftecnica
  • 25 Ott 2020
  • PHP
Risposte
7
Visite
2K
PHP 28 Ott 2020
inftecnica
I
W
fare la somma di un valore estratto da un ciclo while
  • wuolfit_one
  • 8 Lug 2020
  • Classic ASP
Risposte
1
Visite
2K
Classic ASP 1 Giu 2025
Paolo69
Aiuto con un ciclo
  • motleyrulez
  • 11 Dic 2019
  • PHP
Risposte
0
Visite
700
PHP 11 Dic 2019
motleyrulez
B
[PHP] formula e ciclo
  • Baronpaolo
  • 1 Ago 2019
  • PHP
Risposte
5
Visite
2K
PHP 2 Ago 2019
macus_adi
M
[PHP] Come inserire codice html in un ciclo while
  • migo80
  • 19 Giu 2019
  • PHP
Risposte
2
Visite
2K
PHP 19 Giu 2019
macus_adi
T
con oop creare un ciclo per una pagina dinamica html con php
  • twogate
  • 26 Mag 2019
  • PHP
Risposte
3
Visite
2K
PHP 29 Mag 2019
twogate
T
G
[PHP] totale per ogni id di un ciclo
  • giuseppe2019
  • 14 Mag 2019
  • PHP
Risposte
1
Visite
1K
PHP 14 Mag 2019
giuseppe2019
G
P
Incrementare nodo in ciclo for-each
  • Piri696
  • 28 Feb 2019
  • XML
Risposte
6
Visite
2K
XML 7 Apr 2021
DianaGreece49
D
S
[PHP] Ciclo foreach su più array
  • samurai.sette
  • 11 Dic 2018
  • PHP
Risposte
2
Visite
4K
PHP 12 Dic 2018
marino51
M
UPDATE non aggiorna db se lo inserisco in un ciclo
  • mastyx
  • 11 Dic 2018
  • Database
Risposte
1
Visite
2K
Database 8 Apr 2020
marccenadan33
M
N
[PHP] Controllare condizione ciclo While
  • nonsochisono
  • 18 Ott 2018
  • PHP
Risposte
9
Visite
3K
PHP 20 Ott 2018
macus_adi
[PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli
  • maxnegri
  • 22 Set 2018
  • PHP
Risposte
18
Visite
5K
PHP 25 Set 2018
maxnegri
N
[PHP] Registrare variabili all'interno di un ciclo
  • navajo75
  • 22 Set 2018
  • PHP
Risposte
3
Visite
2K
PHP 24 Set 2018
marino51
[PHP] Problema ciclo while
  • MattiaBL
  • 6 Giu 2018
  • PHP
Risposte
3
Visite
2K
PHP 7 Giu 2018
macus_adi
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?