Write haof XML files: Oswaldo Otero
(
oswaldo.otero@gmail.com)
Fecha: mar 26 abr 2005 - 22:58:01 CEST
Hola a todos, tengo una secuancia SQL, dinamica, que esta
relacionada
con una tabla que dice que preguntas usa ciero cuestionario.
Me explico, nosotros decidimos, que preguntas conforman
que
cuestionario. Asi, por ejemplo, el cuestionario Alfa, esta
conformado
por las preguntas: 1,24,33,45,36,88.
Y el cuestionario Omega, por las preguntas: 45,62,27,12.
Nosotros podemos decidir, de manera dinamica, (por database),
que
preguntas deseamos, tanto como quitar o dejar. Por eso, estar
haciendo
una secuencia de insert distinta cada vez, es por decirlo un
completo
fastidio, por otra parte, tendriamos que hacer una por
cada
cuestionario y eso es poco practico.
Asi que me hice el siguiente codigo....
//////////////////////////////////////////////////////Viene
con
Comentarios, por si acaso//////////////
/----------------First
//Once Again. A Classic sql Connection.
$connection=mysql_connect($db_host,$db_user,$db_pass);
$selection=mysql_select_db('grouprx_com',$connection);
//---------------Second
//The insert script....
//So we have to build a string for insert this in the data
base.
$vars=$_POST;
unset($vars['submit']);
//thas was, for unset the submit variable, i mean we don't
wanna this in our..
///////////////////////////
///////////////////////////
////////////
$patient=3333;
$product=300;
$orderno=72345;
////////////
//print_r($vars);
$flip=array_flip($vars);
$string=implode("," ,$flip);
//echo $string;
//$insert_var="id,$patient,$product,$orderno,$string";
//echo $insert_var;
///////////////////////////
foreach($flip as $value)
{
$i++;
$val[$i]="'$$value'";
$val2[$i]="`$value`";
}
//print_r($val);
///////////////////////////
$string2=implode(", ",$val);
$string3=implode(",",$val2);
$insert_var="`id`,$string3";
//echo '<br>';
//echo $string2;
$sql = " INSERT INTO `questionaire_table` ( $insert_var )
VALUES
('','$personal1','$personal2','$personal3','$personal4','$q93','$q4','$q83','$q55','$q92')";
echo $sql;
//-------------------Third
//The query..
$result=mysql_db_query($db,$sql);
if(!$result)
{
echo
mysql_error();
}
//////////////////////////////////////////////////////////////////////////////////
Con la variable $sql, pasan dos cosas.
1) Si la pongo asi como esta, declarando los campos...incerta
perfectamente...
2) Pero si la pongo de la siguiente forma
$sql = " INSERT INTO `questionaire_table` ( $insert_var )
VALUES ('',$string2)";
Lo que me hace es que me inserta no las variables asignadas,
sino el
nombre de la variable, asi si $q1='No funciona', el inserta
tan solo
$q1, como si fuera una cadena de caracteres.
Disculpen por los comenarios del codigo, pero son un poco
para
reflejar mi logica....y disculpen lo largo de este post.
Si pueden darme alguna ayuda...o alguien ha tenido un problema similar.
-- Oswaldo Otero en Gmail La "G" es de GEEK -- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:49:33 CET