आपको अपनी क्वेरी को फ़ोरैच लूप से बाहर ले जाने की आवश्यकता है। इसे करने का एक तरीका यह है -
$Voltage = array();
$Duration = array();
$Number = array();
foreach($asma as $key => $value)
{
foreach ( $value as $ind => $hObject ) {
$Voltage[] = $hObject->Voltage;
$Duration[] = $hObject->Duration;
$Number[] = $hObject->Number; ,
}
} // endforeach
$q = "INSERT INTO ga (fe, fe1, fe2,fe3,fe4,fe5,fe6,f7,f8, timestamp,username ) VALUES (%d, %d, %d,%d, %d, %d,%d, %d, %d, '%s' ,'$login_session')";
$qs = sprintf( $q, $Voltage[0],$Duration[0],$Number[0],
$Voltage[1],$Duration[1],$Number[1],
$Voltage[2],$Duration[2],$Number[2],
date("Y-m-d H:i:s") );
$result = mysql_query($qs);
if ( ! $result ) {
die( 'Insert failed ' . mysql_errno() . ' ' . mysql_error() );
}
संपादित करें
दूसरी पंक्ति जोड़ने के लिए, आप इसे कुछ इस तरह से बदल सकते हैं (ध्यान दें, मुझे नहीं लगता कि आप 1/2 के लिए चयन को परिभाषित कर रहे हैं, इसलिए मैंने बस $user_select
रखा है ) -
$Voltage = array();
$Duration = array();
$Number = array();
foreach($asma as $key => $value)
{
foreach ( $value as $ind => $hObject ) {
$Voltage[] = $hObject->Voltage;
$Duration[] = $hObject->Duration;
$Number[] = $hObject->Number; ,
}
} // endforeach
$q = "INSERT INTO ga (fe, fe1, fe2,fe3,fe4,fe5,fe6,f7,f8, timestamp,username ) VALUES (%d, %d, %d,%d, %d, %d,%d, %d, %d, '%s' ,'$login_session')";
$qs = sprintf( $q, $Voltage[0],$Duration[0],$Number[0],
$Voltage[1],$Duration[1],$Number[1],
$Voltage[2],$Duration[2],$Number[2],
date("Y-m-d H:i:s") );
if($user_select==2){ // if user select 2
$q = ", (%d, %d, %d,%d, %d, %d,%d, %d, %d, '%s' ,'$login_session')";
$qs = sprintf( $qs.$q, $Voltage[3],$Duration[3],$Number[3],
$Voltage[4],$Duration[4],$Number[4],
$Voltage[5],$Duration[5],$Number[5],
date("Y-m-d H:i:s") );
}
$result = mysql_query($qs);
if ( ! $result ) {
die( 'Insert failed ' . mysql_errno() . ' ' . mysql_error() );
}
#2 संपादित करें
यहाँ एक और संस्करण है। आपका लूप के लिए मान्य नहीं है php for(i=0;i<row_count;i++)
. उनमें से प्रत्येक के पास $
. होना चाहिए - for($i=0;$i<$row_count;$i++)
. साथ ही, आपके स्प्रिंटफ में गलत मात्रा में चर हैं। आपके $q
. में आपके पास 9 %d
है , लेकिन $qs
. में आप केवल 3 दे रहे हैं। आप उम्मीद करते हैं कि अन्य 6 कहां से आएंगे। इसमें मैंने आपको लूप को 3 से बढ़ाने के लिए बदल दिया है - for($i=0;$i<$row_count;$i+=3)
, और प्रयुक्त $Voltage[$i+1], $Duration[$i+1], $Number[$i+1], $Voltage[$i+2], $Duration[$i+2], $Number[$i+2],
बाकी 6 %d
भरने के लिए एस
$Voltage = array();
$Duration = array();
$Number = array();
foreach($asma as $key => $value)
{
foreach ( $value as $ind => $hObject )
{
$Voltage[] = $hObject->Voltage;
$Duration[] = $hObject->Duration;
$Number[] = $hObject->Number;
} }// endforeach
for($i=0;$i<$row_count;$i+=3)
{
$q = "INSERT INTO ga (fe, fe1, fe2,fe3,fe4,fe5,fe6,f7,f8, timestamp,username ) VALUES (%d, %d, %d,%d, %d, %d,%d, %d, %d, '%s' ,'$login_session')";
$qs = sprintf( $q, $Voltage[$i],$Duration[$i],$Number[$i],
$Voltage[$i+1],$Duration[$i+1],$Number[$i+1],
$Voltage[$i+2],$Duration[$i+3],$Number[$i+3],
date("Y-m-d H:i:s") );
$result = mysql_query($qs);
if ( ! $result ) {
die( 'Insert failed ' . mysql_errno() . ' ' . mysql_error() );
}}}
?>