non riesco a capire dove sia l'errore
quello che so è che tu passi come variabile un array invece di un valore
non riesco a capire dove sia l'errore
quello che so è che tu passi come variabile un array invece di un valore
Il Ticino è biancoblù
DVDS delegato ufficiale
se provo a modificare nel form di invio questa riga:
e nella pagina di ricezione modifico questa:Codice PHP:<?php
$connessione = mysql_connect("localhost", "", "")
or die("Connessione non riuscita: " . mysql_error());
mysql_select_db('prev1', $connessione);
?>
<table border="1" bordercolor="#2e2e2e" width=100%>
<th>Codice</th><th>Titolo</th><th>Voce</th><th>Var 1</th><th>Var 2</th><th>Unita' di
misura</th><th>Prezzo</th><th>Aggiungi a preventivo</th>
<form name="aggiungi_vetraio_mano" action="./doaggiungi_vetraio_materiali.php" method="POST">
<?
$risultato = mysql_query("SELECT * FROM opere_vetraio_materiali")
or die("Query non valida: " . mysql_error());
$cont=0;
while ($riga = mysql_fetch_object($risultato))
{
$cont++;
?><tr><td height="75"><input name="Codice" size=6 type="text" value="<?echo $riga->Codice;?>"
readonly>
</td><?
?></td><td><font size="5"><?echo $riga->Titolo;?>
</td><?
?><td height="75"><font size="5"><?echo $riga->Voce;?>
</td><?
?><td height="75"><font size="5"><?echo $riga->Var1;?>
</td><?
?><td height="75"><font size="5"><?echo $riga->Var2;?>
</td><?
?><td height="75"><font size="5"><?echo $riga->Unitadimisura;?>
</td><?
?><td height="75"><font size="5"><?echo $riga->Prezzo;?>
</td><?
[COLOR=red]========[/COLOR] ?><td height="75" align="center"><font size="5"><input type="text" name="quantita[][$cont]">[COLOR=red]========[/COLOR] <input
type="submit" value="invia"><input type="reset" value="Annulla"></td></tr><?
}
mysql_free_result($risultato);
mysql_close($connessione);
?>
mi da errore:Codice PHP:<?
$connessione = mysql_connect("localhost", "", "") or die("Connessione non riuscita: " . mysql_error());
mysql_select_db('prev1', $connessione);
[COLOR=red]========[/COLOR] [B]$Quantita=$_POST['quantita'][$qta];[COLOR=red]========[/COLOR]
$Codice=$_POST['Codice'];
?>
<table border="1" bordercolor="#2e2e2e" width=100%>
<th>Codice</th><th>Titolo</th><th>Voce</th><th>Var 1</th><th>Var 2</th><th>Unita' di misura</th><th>Prezzo</th><th>Quantita'</th><th>Totale</th>
<form name="prova"action="./conferma.php" method="POST">
<?
foreach($Quantita as $qta)
{
if($qta!=0)
{
$cod=mysql_query("SELECT Codice FROM opere_vetraio_mano_opera")or die("Query cod. valida".mysql_error());
$num=0;
$risultato =mysql_query(" SELECT Codice, Titolo, Voce, Var1, Var2,Unitadimisura, Prezzo, Quantita,(Prezzo * $Quantita) AS Totale FROM
opere_vetraio_materiali where Codice='$Codice'")
or die("Query non valida".mysql_error());
while ($riga = mysql_fetch_object($risultato))
{
?><tr><td height="75"><input name="Codice" size=6 type="text" value="<?echo $riga-> Codice;?>" readonly>
</td><?
?></td><td><input name="Titolo" type="text" size=15 value="<?echo $riga-> Titolo;?>" readonly>
</td><?
?><td height="75"><textarea name="Voce" readonly><?echo $riga-> Voce;?></textarea>
</td><?
?><td height="75"><textarea name="Var1" readonly><?echo $riga-> Var1;?></textarea>
</td><?
?><td height="75"><textarea name="Var2" readonly><?echo $riga-> Var2;?></textarea>
</td><?
?><td height="75"><input name="Unitadimisura" size=8 type="text" value="<?echo $riga->Unitadimisura;?>" readonly>
</td><?
?><td height="75"><input name="Prezzo" size=10 type="text" value="<?echo $riga->Prezzo;?>" readonly>
</td><?
?><td height="75"><input name="Quantita" size=4 type="text" value="<?echo $Quantita;?>" >
</td><?
?><td height="75"><input name="Totale" size=10 type="text" value="<?echo $riga->Totale;?>" readonly>
</td><?
?></tr><?
}
}
}
?>
Warning: Invalid argument supplied for foreach() in c:\wamp\www\preventizzazione\doaggiungi_vetraio_ma teriali.php on line 21
la riga 21 corrisponde a:
foreach($Quantita as $qta)
non trovi niente di strano?!?!?
io sinceramente non so piu' dove sbattere la testa...![]()
![]()
![]()
![]()
forse ho trovato una soluzione...
facendo un for normale...passando il contatore...
a si ok, ora ci sono[supersaibal]Originariamente inviato da zip2k
forse ho trovato una soluzione...
facendo un for normale...passando il contatore... [/supersaibal]
nel foreach non devi richiamare $Quantità, ma $qta, che prende gia il valore dell0indice attuale dell'array
Il Ticino è biancoblù
DVDS delegato ufficiale
quindi diventerebbe così...???
foreach($qta as $Quantita)
nono
come lo hai scritto è giusto
solo che ALL'INTERNO del ciclo foreach tu devi richiamare $qta anzichè $Quantità
Il Ticino è biancoblù
DVDS delegato ufficiale
ho deciso alla fine di farlo con un for normale...
il problrema e' che il form non mi passa niente...
non capisco perke'...
ti posto il codice del form di invio:
ora ti posto la pagina di ricezione:codice:<? $connessione = mysql_connect("localhost", "", "") or die("Connessione non riuscita: " . mysql_error()); mysql_select_db('prev1', $connessione); ?> <form name="aggiungi_vetraio_mano" action="./doaggiungi_vetraio_materiali.php" method="POST"> <table border="1" bordercolor="#2e2e2e" width=100%> <th>Codice</th><th>Titolo</th><th>Voce</th><th>Var 1</th><th>Var 2</th><th>Unita' di misura</th><th>Prezzo</th><th>Quantita'</th> <? $risultato = mysql_query("SELECT * FROM opere_vetraio_materiali") or die("Query non valida: " . mysql_error()); $i=0; while ($riga = mysql_fetch_object($risultato)) { $i=$i+1; ?><tr><td height="75"><input type="text" size=6 name="$codice[]" value="<?echo $riga->Codice;?>" readonly> </td><? ?><td height="75"><font size="5"><?echo $riga->Titolo;?> </td><? ?><td height="75"><font size="5"><?echo $riga->Voce;?> </td><? ?><td height="75"><font size="5"><?echo $riga->Var1;?> </td><? ?><td height="75"><font size="5"><?echo $riga->Var2;?> </td><? ?><td height="75"><font size="5"><?echo $riga->Unitadimisura;?> </td><? ?><td height="75"><font size="5"><?echo $riga->Prezzo;?> </td><? ?><td height="75" align="center"> <font size="5"><input type="text" size="6" name="<?$quantita[$i]?>" value="0"> </td></tr><? } mysql_free_result($risultato); mysql_close($connessione); ?>
secondo il mio modesto parere e' un problema di indici...codice:<? $connessione = mysql_connect("localhost", "", "") or die("Connessione non riuscita: " . mysql_error()); mysql_select_db('prev1', $connessione); $Quantita=$_POST['quantita']; $Codice=$_POST['codice']; ?> <form name="prova"action="./conferma.php" method="POST"> <table border="1" bordercolor="#2e2e2e" width=100%> <th>Codice</th><th>Titolo</th><th>Voce</th><th>Var 1</th><th>Var 2</th><th>Unita' di misura</th><th>Prezzo</th><th>Quantita'</th><th>Totale</th> <? $a=mysql_query("SELECT Codice FROM opere_vetraio_materiali where Codice='$Codice'")or die("Query cod. valida".mysql_error()); $cod = mysql_fetch_row($a); $n=mysql_query("SELECT COUNT(Codice)as Tot From opere_vetraio_materiali")or die("Query n valida".mysql_error()); $risultato =mysql_query("SELECT Codice, Titolo, Voce, Var1, Var2,Unitadimisura, Prezzo, Quantita,(Prezzo * $Quantita[$i]) AS Totale FROM opere_vetraio_materiali where Codice='$cod'") or die("Query non valida".mysql_error()); $cont=mysql_fetch_object($n); $i=0; do { $i++; if($Quantita[$i]!=0) { ?><tr><td height="75"><input name="Codice" size=6 type="text" value="<?echo $cod;?>" readonly> </td><? ?><td><input name="Titolo" type="text" size=15 value="<?echo $riga-> Titolo;?>" readonly> </td><? ?><td height="75"><textarea name="Voce" readonly><?echo $riga->Voce;?></textarea> </td><? ?><td height="75"><textarea name="Var1" readonly><?echo $riga->Var1;?></textarea> </td><? ?><td height="75"><textarea name="Var2" readonly><?echo $riga->Var2;?></textarea> </td><? ?><td height="75"><input name="Unitadimisura" size=8 type="text" value="<?echo $riga->Unitadimisura;?>" readonly> </td><? ?><td height="75"><input name="Prezzo" size=10 type="text" value="<?echo $riga->Prezzo;?>" readonly> </td><? ?><td height="75"><input name="Quantita" size=6 type="text" value="<?echo $quantita[$i]?>"> </td><? ?><td height="75"><input name="Totale" size=10 type="text" value="<?echo $riga->Totale;?>" readonly> </td></tr><? } echo $Quantita[$i]; }while($riga = mysql_fetch_object($risultato));?> </table> <center><input type="submit" value="conferma"><input type="reset" value="Annulla"></center> <? mysql_close($connessione); ?>
perke' se stampo il contenuto di $Quantita[$i] non stampa nulla...
![]()
prova con
print_r($Quantita);
Il Ticino è biancoblù
DVDS delegato ufficiale