This topic is locked
[SOLVED]

 mass insert into

11/29/2011 10:28:49 AM
PHPRunner General questions
F
Francesco_5000 author

This is an after record added event:



$TipoFlusso=$values["TipoFlusso"];
$sql = sprintf("SELECT desc_tipo_attivita, succ_logica_attivita FROM flusso_attivita WHERE desc_tipo_flusso='%s'",mysql_real_escape_string($TipoFlusso));
$result = mysql_query($sql);
while($data_array = mysql_fetch_assoc($result)){
$TipoAttivita = $data_array['desc_tipo_attivita'];

$s_logica_attivita = $data_array['succ_logica_attivita'];
$sql_input = "INSERT INTO attivita (TipoAttivita, DataInizioAttivita, fkFlussoAttivita, StatoAttivita, livelloAttivita, nomeSitoAttivita, s_logica_attivita)

VALUES (".$TipoAttivita.",".$values["DataInizioAttivita"].",".$values["idFlusso"].",'da_iniziare','Attività di 1° livello'

,".$values["nomeSitoFlusso"].",".$s_logica_attivita.")";
}
mysql_free_result($result);
header("Location: flusso_view.php?editid1=".$values["idFlusso"]);
exit();


So i want to populate a table of records from the result of another query. Considering what i have wrote the code is correct but the "mass Insert into" don't works, can someone help me?

C
cgphp 11/29/2011

The INSERT query was not executed:

$TipoFlusso=$values["TipoFlusso"];
$sql = sprintf("SELECT desc_tipo_attivita, succ_logica_attivita FROM flusso_attivita WHERE desc_tipo_flusso='%s'",mysql_real_escape_string($TipoFlusso));
$result = mysql_query($sql);
while($data_array = mysql_fetch_assoc($result)){
$TipoAttivita = $data_array['desc_tipo_attivita'];

$s_logica_attivita = $data_array['succ_logica_attivita'];
$sql_input = "INSERT INTO attivita (TipoAttivita, DataInizioAttivita, fkFlussoAttivita, StatoAttivita, livelloAttivita, nomeSitoAttivita, s_logica_attivita)

VALUES (".$TipoAttivita.",".$values["DataInizioAttivita"].",".$values["idFlusso"].",'da_iniziare','Attività di 1° livello'

,".$values["nomeSitoFlusso"].",".$s_logica_attivita.")";
mysql_query($sql_input);
}
mysql_free_result($result);
header("Location: flusso_view.php?editid1=".$values["idFlusso"]);
exit();
F
Francesco_5000 author 11/29/2011

strangely... the insert query still does not work:



$TipoFlusso=$values["TipoFlusso"];
$sql = sprintf("SELECT desc_tipo_attivita, succ_logica_attivita FROM flusso_attivita WHERE desc_tipo_flusso='%s'",mysql_real_escape_string($TipoFlusso));
$result = mysql_query($sql);
while($data_array = mysql_fetch_assoc($result)){
$TipoAttivita = $data_array['desc_tipo_attivita'];

$s_logica_attivita = $data_array['succ_logica_attivita'];
$sql_input = "INSERT INTO attivita (TipoAttivita, DataInizioAttivita, fkFlussoAttivita, StatoAttivita, livelloAttivita, nomeSitoAttivita, s_logica_attivita)

VALUES (".$TipoAttivita.",".$values["DataInizioAttivita"].",".$values["idFlusso"].",'da_iniziare','Attività di 1° livello'

,".$values["nomeSitoFlusso"].",".$s_logica_attivita.")";
mysql_query($sql_input);
mysql_free_result($sql_input);
}
mysql_free_result($result);
header("Location: flusso_view.php?editid1=".$values["idFlusso"]);
exit();
C
cgphp 11/29/2011

Try this:

$TipoFlusso=$values["TipoFlusso"];
$sql = sprintf("SELECT desc_tipo_attivita, succ_logica_attivita FROM flusso_attivita WHERE desc_tipo_flusso='%s'",mysql_real_escape_string($TipoFlusso));
$result = mysql_query($sql);
while($data_array = mysql_fetch_assoc($result)){
$TipoAttivita = $data_array['desc_tipo_attivita'];

$s_logica_attivita = $data_array['succ_logica_attivita'];
$sql_input = "INSERT INTO attivita (TipoAttivita, DataInizioAttivita, fkFlussoAttivita, StatoAttivita, livelloAttivita, nomeSitoAttivita, s_logica_attivita)

VALUES ('".$TipoAttivita."','".$values["DataInizioAttivita"]."',".$values["idFlusso"].",'da_iniziare','Attività di 1° livello'

,'".$values["nomeSitoFlusso"]."','".$s_logica_attivita."')"; //single quotes needed for string values.
mysql_query($sql_input);
//mysql_free_result($sql_input); you don't need free result here
}
mysql_free_result($result);
header("Location: flusso_view.php?editid1=".$values["idFlusso"]);
exit();
F
Francesco_5000 author 11/30/2011

I even tried this:



$TipoFlusso=$values["TipoFlusso"];
$sql = "SELECT desc_tipo_attivita, succ_logica_attivita FROM flusso_attivita WHERE desc_tipo_flusso='".$TipoFlusso."'";
//$sql = "SELECT desc_tipo_attivita, succ_logica_attivita FROM flusso_attivita WHERE desc_tipo_flusso=".$TipoFlusso; i considered the single quotes
$result=CustomQuery($sql);
while($data_array = db_fetch_array($result)){
$TipoAttivita = $data_array['desc_tipo_attivita'];

$s_logica_attivita = $data_array['succ_logica_attivita'];
echo $TipoAttivita;
$sql_input = "INSERT INTO attivita (TipoAttivita, DataInizioAttivita, fkFlussoAttivita, StatoAttivita, livelloAttivita, nomeSitoAttivita, s_logica_attivita)

VALUES ('".$TipoAttivita."','".$values["DataInizioAttivita"]."',".$values["idFlusso"].",'da_iniziare','Attività di 1° livello'

,'".$values["nomeSitoFlusso"]."','".$s_logica_attivita."')";
$input = CustomQuery($sql_input);
}
header("Location: flusso_view.php?editid1=".$values["idFlusso"]);
exit();


I wonder if the problem is due to the variable $TipoFlusso that is a string... queries from my experience works best with the numbers.

F
Francesco_5000 author 12/1/2011

everything works, you were right, yesterday I was very tired and I probably made ​​some mistakes during the check of the code