mardi 6 septembre 2016

Insert multiple rows by selecting checkboxes using PHP

i explain what happened, well i do a search in the "textarea" and later click on button "Buscar",

First step- Image

It work fine and show me in a table of HTML the information,

Second step - Image

The problem is that i need insert the information to one table in MySQL, for it first i select what row with a checkbox, and later click on button "Aplicar" but i get error,

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' '1', '2', 1, (SELECT batch FROM llx_expeditiondet_batch WHERE batch = ''), (SEL' at line 1

I dont know if is correct the way that i use, here my code:

<?php
print '<form action="card.php" method="POST">
<table width="100%" class="border">
tr>
<td valign="top" colspan="4"><h3>Filtro de Series para procesar Devoluciones</h3>
<h4 style="margin:0;">
<font color="green">Copiar y pegar los números de serie correspondientes a los productos</font>
</h4>
<h5 style="margin-top:0;">
<font color="gray">Colocar un número de serie por línea</font>
</h5>
</td>
</tr>
<tr>
<td>Números de serie</td>
<td colspan="3">
<textarea style="width:500px;height:100px;" class="query" name="query" id="query"></textarea>
</td>
</tr>
<tr>
<td colspan="4" align="center"><input type="submit" class="button" name="buscar" value="Buscar" /></td><td colspan="6" align="center"><input type="submit" class="butAction" name="buttonInvoice1" value="'."Aplicar devolución".'"></td>
</tr>';


mysql_connect("localhost", "root", "admin88") or die("Error connecting to database: ".mysql_error());
 
mysql_select_db("dolibarrtest") or die(mysql_error());

$query = explode(PHP_EOL, $_POST['query']);

print '<table width="100%" class="border">';
if ($_POST["buscar"]) {
        foreach ($query as $val) {
                
                $min_length = 3;
                
                if(strlen($val) >= $min_length){
                        
                        $val = htmlspecialchars($val); 
                        
                        $val = mysql_real_escape_string($val);
                        
                        //$raw_results = mysql_query("SELECT * FROM llx_expeditiondet_batch WHERE `batch` LIKE '%".$query."%'") or die(mysql_error());
                        $raw_results = mysql_query("SELECT * FROM llx_expeditiondet_batch WHERE batch = '".$val."'") or die(mysql_error());
                        
                        
                        //SELECT ALL of llx_commandedet_extrafields
                        $raw_commande = mysql_query("SELECT * FROM llx_commandedet_extrafields WHERE fk_object IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))") or die(mysql_error());
                        
                        $esquema = mysql_fetch_array($raw_commande);
                        
                        
                        //SELECT Product
                        $raw_productid = mysql_query("SELECT fk_product FROM llx_commandedet WHERE rowid IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))") or die(mysql_error());
                        
                        if ($rowlp2 = mysql_fetch_row($raw_productid)) {
                                $idlp2 = trim($rowlp2[0]);
                        }
                        
                        $raw_product = mysql_query("SELECT description FROM llx_product WHERE rowid = '".$idlp2."'") or die(mysql_error());
                        
                        if ($rowlp3 = mysql_fetch_row($raw_product)) {
                                $idlp3 = trim($rowlp3[0]);
                        }
                        
                        
                        //SELECT School
                        $raw_clientid = mysql_query("SELECT ref_client FROM llx_commande WHERE rowid IN (SELECT fk_commande FROM llx_commandedet WHERE fk_product = '".$idlp2."' AND rowid IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."')))") or die(mysql_error());
                        
                        if ($rowlp5 = mysql_fetch_row($raw_clientid)) {
                                $idlp5 = trim($rowlp5[0]);
                        }
                        
                        $raw_client = mysql_query("SELECT nom FROM llx_societe WHERE code_client = '".$idlp5."'") or die(mysql_error());
                        
                        if ($rowlp6 = mysql_fetch_row($raw_client)) {
                                $idlp6 = trim($rowlp6[0]);
                        }
                        
                        
                        //SELECT Price
                        $raw_price= mysql_query("SELECT price FROM llx_commandedet WHERE rowid IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))") or die(mysql_error());
                        
                        if ($rowlp4 = mysql_fetch_row($raw_price)) {
                                $idlp4 = trim($rowlp4[0]);
                        }
                        
                        //SELECT MAX id
                        $rsxw = mysql_query("SELECT MAX(rowid) AS id FROM llx_exchange_warranty");
                        if ($rowxw = mysql_fetch_row($rsxw)) {
                        $idxw = trim($rowxw[0]);
                        }

                        if(mysql_num_rows($raw_results) > 0){
                                
                                while($results = mysql_fetch_array($raw_results)){
                                        
                                        $datec = $esquema['tms'];
                                        $newDatec = date("d/m/Y H:i:s",  strtotime($datec));

                                        echo "<tr><h3><td width=15%>".$idlp6."</td></h3><h3><td width=15%>".$idlp2." - ".$idlp3."</td></h3><h3><td width=10%>".$results['batch']."</td></h3><h3><td width=7%>".$esquema['type_ped']."</td></h3><h3><td width=7%>".$esquema['type_vt']."</td></h3><h3><td width=7%>".$esquema['canal_vt']."</td></h3><h3><td width=7%>".$esquema['cont_ciclo']."</td></h3><h3><td width=7%>".$esquema['cont_ciclo']."</td></h3><h3><td width=10%>".$idlp4."</td></h3><h3><td width=10%>".$newDatec."</td></h3></td><td width=15%></td>";
                                        echo "<td><input type='checkbox' value=".$results['batch']." name=".$results['batch']."></tr>";
                                }
                                
                        }
                        else{
                                setEventMessages($langs->trans('No se encontró la serie: '.$val.'',$text), null, 'errors');
                        }
                }
        }
}

if ($_POST["buttonInvoice1"]) {
    //if say there were 2 checkboxes checked with entries as 'a'and 'b'before submiting the form then $_POST['a']='a' and $_POST['b']='b'
    foreach($_POST as $key=>$value){ 

                $sql8 = "INSERT INTO llx_exchange_warranty(";
                $sql8.= "ref,";
                $sql8.= "colegio,";
                $sql8.= "colegio_id,";
                $sql8.= "product,";
                $sql8.= "product_id,";
                $sql8.= "qty,";
                $sql8.= "fk_entrepot,";
                $sql8.= "fk_user,";
                $sql8.= "batch,";
                $sql8.= "type_ped,";
                $sql8.= "type_vt,";
                $sql8.= "canal_vt,";
                $sql8.= "cont_ciclo,";
                $sql8.= "ent_ciclo,";
                $sql8.= "price,";
                $sql8.= "date_creation,";
                $sql8.= "status";
                $sql8.= ") VALUES (";
                $sql8.= " '(PROV".($idxw+1).")',";
                
                $sql8.= " (SELECT nom FROM llx_societe WHERE code_client = '".$idlp5."'),";
                
                $sql8.= " (SELECT code_client FROM llx_societe WHERE code_client = '".$idlp5."'),";
                
                $sql8.= " (SELECT description FROM llx_product WHERE rowid = '".$idlp2."'),";
                
                $sql8.= " ".($idlp2).",";
                
                $sql8.= " '1',";
                $sql8.= " '2',";
                $sql8.= " ".($user->id).",";
                
                $sql8.= " (SELECT batch FROM llx_expeditiondet_batch WHERE batch = '".$val."'),";
                
                $sql8.= " (SELECT type_ped FROM llx_commandedet_extrafields WHERE fk_object IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))),";
                $sql8.= " (SELECT type_vt FROM llx_commandedet_extrafields WHERE fk_object IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))),";
                $sql8.= " (SELECT canal_vt FROM llx_commandedet_extrafields WHERE fk_object IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))),";
                $sql8.= " (SELECT cont_ciclo FROM llx_commandedet_extrafields WHERE fk_object IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))),";
                $sql8.= " (SELECT cont_ciclo FROM llx_commandedet_extrafields WHERE fk_object IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))),";
                
                $sql8.= " ".$idlp4.",";
                
                $sql8.= " (SELECT tms FROM llx_commandedet_extrafields WHERE fk_object IN (SELECT fk_origin_line FROM llx_expeditiondet WHERE rowid IN (SELECT fk_expeditiondet FROM llx_expeditiondet_batch WHERE batch = '".$val."'))),";
                
                $sql8.= " '0'";
                
                $sql8.= ")";
                error_log($sql8);
                mysql_query($sql8) or die(mysql_error());
        
    }
}
echo "</table>";


print '</form>';
?>

Thanks for help me.




Aucun commentaire:

Enregistrer un commentaire