ciao
penso che sua meglio ripartire da capo
se non hai risolto, riscrivi tutto quello che devi/vuoi fare
penso che sua meglio ripartire da capo
se non hai risolto, riscrivi tutto quello che devi/vuoi fare
//lettura valori del questionario da modificare nel form
mysql_select_db($database_prova, $prova);
$query4b="SELECT * FROM t4b WHERE ind=$id_q";
$estrai5=mysql_query($query4b, $prova) or die(mysql_error());
$campo1c=array();
while($vari_campi=mysql_fetch_array($estrai5)){
$campo1c[]=$vari_campi['2a'];
}
//campi di testo tabella
$campo4_1a=$campo1c[0];
$campo4_1b=$campo1c[1];
$campo4_1c=$campo1c[2];
$campo4_1d=$campo1c[3];
$campo4_1e=$campo1c[4];
$campo4_1f=$campo1c[5];
// nel form
<input name="4_21c" type="text" id="4_21c" size="5" value="<?php echo $campo4_1a;?>">
<input name="4_22c" type="text" id="4_34" size="5" value="<?php echo $campo4_1b;?>">
<input name="4_23c" type="text" id="4_35" size="5" value="<?php echo $campo4_1c;?>">
<input name="4_24c" type="text" id="4_36" size="5" value="<?php echo $campo4_1d;?>">
<input name="4_25c" type="text" id="4_37" size="5" value="<?php echo $campo4_1e;?>">
<input name="4_26c" type="text" id="4_38" size="5" value="<?php echo $campo4_1f;?>">
<?php
//lettura valori del questionario da modificare nel form
mysql_select_db($database_prova, $prova);
$query4b="SELECT * FROM t4b WHERE ind=$id_q";
$estrai5=mysql_query($query4b, $prova) or die(mysql_error());
$campo1c=array();
//devi portarti dietro anche questi
$campo_id=array();//id del record
$campo_id_q=array();//non serve in quanto dalla select estratti solo quelli con ind=$id_q
//e ti conviene sapere quanti record hai con
$rec_da_mod=mysql_num_rows($query4b, $prova);//enne
//qui ti conviene mettere un if in modo che se non ci sono
//record torni alla pag che ti interessa
//considerando che gli array partano da 0
$arr_da_mod=$rec_da_mod-1;
while($vari_campi=mysql_fetch_array($estrai5)){
$campo_id[]=$vari_campi['id'];
$campo_id_q[]=$vari_campi['ind'];// non serve
$campo1c[]=$vari_campi['2a'];
}
//campi di testo tabella
//ma tu non sai quanti possono essere i record con tale $id_q
//per cui devi rendere anche i vari campi di input dinamici
//cioè devi fare tanti input quanti sono i record
//mentre tu fissi a sei record e se per caso ne hai diversi ti da l'errore
//inoltre devi portarti dietro anche il valore di dell'id
//quello di ind non serve
// quindi all'interno del form devi fare
?>
<form action="pag_modifica.php" method="post" name="formMod">
<!-- quello che hai prima, se c'è-->
<!-- trasmetto a pag_modifica anche quanti record ho con un campo nascosto -->
<input name="num_rec" type="hidden" value="<?php echo $arr_da_mod;?>">
<?php
//faccio tutto in php
for($k=0;$k<=$arr_da_mod;$k++){
//con un altro campo nascosto trasmetto l'appropriato id
$nome_ID="id".$k;//serve per il nome del campo id nascosto, es. id0, id1, id2.....
echo "<input name=\"".$nome_ID."\" type=\"hidden\" value=\"".$campo_id[$k]."\">";
//e con un campo testo trasmetto il testo modificato o non modificato
$nome_MOD="mod".$k;//serve per nome campo testo, es mod0, mod1, mod2....
echo "<input name=\"".$nome_MOD."\" type=\"text\" id=\"".$nome_MOD."\" size=\"5\" value=\"".$campo1c[$k]."\">";
}//fine del for
?>
<!-- quello che hai dopo, es. pulsante di submit -->
</form>
<!-- eccetera -->
<?php
//pagina pag_modifica.php (se vuoi puoi metterla nella stessa pag del form dopo i dati di connessione)
//se in pag diversa: dati di connessione
if(isset($_POST['submit'])){//verifichi se hai premuto il submit
//leggi quanti record/array hai
$quanti=(int)$_POST['num_rec'];//per sicurezza forzi ad intero, da zero a enne meno uno
//cominci a ciclare i vari input, ATTENZIONE che i nomi siano uguali
for($j=0; $j<=$quanti; $j++){
$id_nome="id".$j;//serve per il nome del campo id nascosto, es. id0, id1, id2.....
$testo_nome="mod".$j;//serve per nome campo testo, es mod0, mod1, mod2....
$id=(int)$_POST[$id_nome];//leggo valore id dal campo nascosto, forzo ad intero
$testo=$_POST[$testo_nome];//leggo il testo modificato o no
//faccio la query di uppa
$uppa="UPDATE t4b SET 2a='$testo' WHERE id=$id";
//e uppo il record
$query=mysql_query($uppa);
//se il valore di $testo è uguale a quanto hai nel DB non uppa
}//fine for
}//fine if submit
//qui il ritorno alla pag che ti interessa
?>
<?php
$campi = array();
for($i =1; $i < 6; $i++)
$campi[$i] = isset($_POST["campo{$i}"]) ? trim($_POST["campo{$i}"]) : '';
?>
<?php
//connessione
$query4b="SELECT * FROM t4b WHERE ind=$id_q";
$estrai5=mysql_query($query4b, $prova) or die(mysql_error());
$campo_id=array("","","","","","");//id del record, rimane vuoto se record inesistente
$campo1c=array("","","","","","");//testo del record, rimane vuoto se record inesistente
while($vari_campi=mysql_fetch_array($estrai5)){
$campo_id[]=$vari_campi['id'];//legge l'id del record
$campo1c[]=$vari_campi['2a']; //legge il testo del record
}//fine while
//se, es., il record sesto non esiste l'array[5] rimane a stringa vuota
?>
<form action="pag_modifica.php" method="post" name="formMod">
<!-- trasmetto ind=$id_q con campo hidden -->
<input name="id_q" type="hidden" value="<?php echo $id_q;?>">
<!-- trasmetto id=$campo_id[] con campo hidden -->
<!-- trasmetto testo_m=$campo1c[] con campo testo -->
<!-- li tengo vicini per non confondermi -->
<input name="id0" type="hidden" value="<?php echo $campo_id[0];?>">
<input name="text_m0" type="text" id="text_m0" size="5" value="<?php echo $campo1c[0];?>">
<input name="id1" type="hidden" value="<?php echo $campo_id[1];?>">
<input name="text_m1" type="text" id="text_m1" size="5" value="<?php echo $campo1c[1];?>">
<input name="id2" type="hidden" value="<?php echo $campo_id[2];?>">
<input name="text_m2" type="text" id="text_m2" size="5" value="<?php echo $campo1c[2];?>">
<!-- e così di seguito sino a 5 -->
<!-- eccetera -->
</form>
<!-- eccetera -->
<?php
//eccetera if del submit
$campo_id=array("","","","","","");
$campo1c=array("","","","","","");
$id_q=$_POST['id_q'];//leggo ind
$campo_id[0]=$_POST['id0'];//leggo i vari id e testi
$campo1c[0]=$_POST['text_m0'];
$campo_id[1]=$_POST['id1'];
$campo1c[1]=$_POST['text_m1'];
//e così di seguito sino a 5
//se il record non esiste lo inserisce, altrimenti fa l'update
for($j=0;$j<6;$j++){
$ins_upp="INSERT INTO t4b VALUES('".$campo_id[$j]."','".$id_q."', '".$campo1c[$j]."') ON DUPLICATE KEY UPDATE 2a='".$campo1c[$j]."'";
$query=mysql_query($ins_upp);
}//fine for
//eccetera
?>
è che alla mia età ho smesso di credere a:...cosa vuoi che faccia, esploda?...
$campo1a=array("","","","","","");
$campo1b=array("","","","","","");
$campo1c=array("","","","","","");
$campoid=array("","","","","","");
while($vari_campi=mysql_fetch_array($estrai5)){
$campo1a[]=$vari_campi['2a'];
$campo1b[]=$vari_campi['2b'];
$campo1c[]=$vari_campi['2c'];
$campoid[]=$vari_campi['id'];
}
print_r($campo1a);
$id_4b1= $campoid[0];
$id_4b2 = $campoid[1];
$id_4b3 = $campoid[2];
$id_4b4 = $campoid[3];
$id_4b5 = $campoid[4];
$id_4b6 = $campoid[5];
$tabella5=mysql_fetch_array($estrai5);
$campo1a=array();
$campo1b=array();
$campo1c=array();
$campoid=array();
$a = 0;
while($a<=6){
$campo1a[]=$tabella5['2a'];
$campo1b[]=$tabella5['2b'];
$campo1c[]=$tabella5['2c'];
$campoid[]=$tabella5['id'];
$a++;
}
$tabella5=mysql_fetch_array($estrai5);
$campo1a=array();
$campo1b=array();
$campo1c=array();
$campoid=array();
$conta=1;
while($vari_campi=mysql_fetch_array($estrai5)){
$campo1a[$conta]=$vari_campi['2a'];
$campo1b[$conta]=$vari_campi['2b'];
$campo1c[$conta]=$vari_campi['2c'];
$campoid[$conta]=$vari_campi['id'];
$conta++;
}
$vari_campi1=mysql_fetch_array($estrai5)){
$campo1a[0]=$vari_campi1['2a'];
$campo1b[0]=$vari_campi1['2b'];
$campo1c[0]=$vari_campi1['2c'];
$campoid[0]=$vari_campi1['id'];
$id_4b1= $campoid[0];
$id_4b2 = $campoid[1];
$id_4b3 = $campoid[2];
$id_4b4 = $campoid[3];
$id_4b5 = $campoid[4];
$id_4b6 = $campoid[5];
if(isset($_POST['submit'])){
$id_q=$_POST['id_nascosto'];
$val_c1= $_POST['1_a1'];
$val_c2= $_POST['1_a2'];
$val_c3= $_POST['1_a3'];
$val_c4= $_POST['1_a4'];
$val_c5= $_POST['1_2a1'];
$val_c6= $_POST['1_2a2'];
$val_c7= $_POST['1_2a3'];
$val_c8= $_POST['1_2a4'];
$val_c9= $_POST['1_2a5'];
$val_c10= $_POST['1_2a6'];
$val_c11= $_POST['1_2b'];
$val_c12= $_POST['1_3a'];
$val_c13= $_POST['1_3b'];
$val_c14= $_POST['1_4a'];
mysql_select_db($database_prova, $prova);
$uppa="UPDATE t1 SET a1='$val_c1', a2='$val_c2', a3='$val_c3', 1a='$val_c4', 2a1='$val_c5', 2a2='$val_c6', 2a3='$val_c7', 2a4='$val_c8', 2a5='$val_c9', 2a6='$val_c10', 2b='$val_c11', 3a='$val_c12', 3b='$val_c13', 4a='$val_c14' WHERE id='$id_q'";
$query=mysql_query($uppa, $prova) or die(mysql_error());
echo "dati modificati chiudere la pagina";
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "dati")) {
$insertSQL = sprintf("INSERT INTO t1 (a1, a2, a3, 1a, 2a1, 2a2, 2a3, 2a4, 2a5, 2a6, 2b, 3a, 3b, 4a) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['1_a1'], "text"),
GetSQLValueString($_POST['1_a2'], "text"),
GetSQLValueString($_POST['1_a3'], "text"),
GetSQLValueString($_POST['1_a4'], "text"),
GetSQLValueString($_POST['1_2a1'], "int"),
GetSQLValueString($_POST['1_2a2'], "int"),
GetSQLValueString($_POST['1_2a3'], "int"),
GetSQLValueString($_POST['1_2a4'], "int"),
GetSQLValueString($_POST['1_2a5'], "int"),
GetSQLValueString($_POST['1_2a6'], "int"),
GetSQLValueString($_POST['1_2b'], "text"),
GetSQLValueString($_POST['1_3a'], "int"),
GetSQLValueString($_POST['1_3b'], "text"),
GetSQLValueString($_POST['1_4a'], "int"));
mysql_select_db($database_prova, $prova);
$Result1 = mysql_query($insertSQL, $prova) or die(mysql_error());
$id = mysql_insert_id();
}
f(isset($_POST['submit'])){
$id_q=$_POST['id_nascosto'];
$val_c1= $_POST['1_a1'];
$val_c2= $_POST['1_a2'];
$val_c3= $_POST['1_a3'];
$val_c4= $_POST['1_a4'];
$val_c5= $_POST['1_2a1'];
$val_c6= $_POST['1_2a2'];
$val_c7= $_POST['1_2a3'];
$val_c8= $_POST['1_2a4'];
$val_c9= $_POST['1_2a5'];
$val_c10= $_POST['1_2a6'];
$val_c11= $_POST['1_2b'];
$val_c12= $_POST['1_3a'];
$val_c13= $_POST['1_3b'];
$val_c14= $_POST['1_4a'];
mysql_select_db($database_prova, $prova);
$uppa="UPDATE t1 SET a1='$val_c1', a2='$val_c2', a3='$val_c3', 1a='$val_c4', 2a1='$val_c5', 2a2='$val_c6', 2a3='$val_c7', 2a4='$val_c8', 2a5='$val_c9', 2a6='$val_c10', 2b='$val_c11', 3a='$val_c12', 3b='$val_c13', 4a='$val_c14' WHERE id='$id_q'";
$query=mysql_query($uppa, $prova) or die(mysql_error());
echo "dati modificati";
}