Cannot use string offset as an array in C:\AppServ\www\dev\intranet\histoclin\hcclini.php on line 137
Lo hago de la siguiente manera:
Código PHP:
Ver original
<?php //Recibo los datos de un formulario: { $titulo=$_POST['titulo']; //Archivo es el documento xml $archivo=$_POST['archivo']; $cantidad=$_POST['cantidad']; $estado=$_POST['estado']; $observ=$_POST['obsexa']; //la variable $id me identifica el id a modificar del nodo $id=$_POST['fila']; //La variable $val identifica el nombre del nodo a actualizar if($titulo=='EXAMENES') $val='solexa'; if($titulo=='PROCEDIMIENTOS QUIRURGICOS') $val='solqx'; if($titulo=='PROCEDIMIENTOS NO QUIRURGICOS') $val='solnoqx'; if($titulo=='PATOLOGIA') $val='solpat'; //Con esta funcion hago la modificacion para los 4 titulos: modificar_exam($archivo,$val,$estado,$observ,$id,$cantidad); } ?>
Y ahora el codigo de la función:
Código PHP:
Ver original
<?php function modificar_exam($archivo,$val,$estado,$observ,$id,$cantidad) { //Cargo el xml $x = new SimpleXMLElement($archivo, null, true); //Empiezo a modificar $x->$val[$id]['can']=$cantidad; $x->$val[$id]['est']=$estado; $x->$val[$id]->observ=$observ; $x->asXML($archivo); } ?>
Cuando hago una modificacion para un solo caso, es decir, sin utilizar una función, se actualiza normalmente, la linea del error es
$x->$val[$id]['can']=$cantidad;
Parce que el valor de $id no lo toma, pero realmente si, ya que con un echo muestra el numero del nodo....Como podria solucionar este problema?...
Lo hago asi para no repetir código....
Agradezco la ayuda......