Salve a tutti, tempo fa grazie anche all'aiuto di questa community, ho fatto uno script per la ricerca dei barcode nel DB. Il problema è che ora ho la necessità di effettuare una LIKE e non un uguaglianza... Posto per intero il codice della pagina:
Codice PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="grafica.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#barcodeart_focus").focus();
});
</script>
</head>
<body bgcolor="b89952">
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<table>
<tr><td align="center"><img src="logo_gestionale.png" width="320" height="115" /></td></tr><tr><td height="20"></td></tr><tr><td height="50" align="center"><font size="+2"><b>...at work...</b></font></td></tr><tr><td height="20"></td></tr></table>
<table>
<tr>
<td><input type="text" placeholder="Barcode" name="barcodeart_new" id="barcodeart_focus" size="10" value="" class="barcode"></td>
<td><input type="submit" class="visto" name="visto" value=""></td><td>
<input type="submit" name="creapdf" onclick= "this.form.action='ddt.php'" value="CREA DDT" class="creaddt"></td></tr></table>
<table>
<tr>
<td><input type="text" size="10" value="BARCODE"></td>
<td><input type="text" size="50" value="DESCRIZIONE"></td>
<td><input type="text" style="text-align:center" size="3" value="QNT"></td>
<td><input type="text" size="5" value="PREZZO" ></td>
</table>
<?php
include('connect.php');
if(isset($_POST['barcodeart_new']) && !empty($_POST['barcodeart_new'])) {
$query = 'SELECT * FROM articoli WHERE Barcode=\''.mysql_real_escape_string($_POST['barcodeart_new']).'\'';//se i barcode sono interi, si possono evitare gli apici \'
}
else if(isset($_POST['barcodeart_vecchi'])&& !empty($_POST['barcodeart_vecchi']))
$query = 'SELECT * FROM articoli WHERE 0 '; //il WHERE 0 è una bruttura... se non funziona, si può cercar di far di meglio
if(isset($_POST['barcodeart_vecchi']))
foreach($_POST['barcodeart_vecchi'] as $barcode)
$query .= ' OR Barcode=\''.mysql_real_escape_string($barcode).'\' '; //se i barcode sono interi, si possono evitare gli apici \'
if(isset($query))
$result = mysql_query($query) or die('Query failed: ' . mysql_error() . "<br />");
?>
<table>
<?php
if(isset($result))
{
while($righi=mysql_fetch_array($result))
$barcodeart[$righi['Barcode']] = array('Descrizione'=>$righi['Descrizione'], 'Vendita'=>$righi['Vendita'],'UM'=>$righi['UM'],'Quantita'=>$righi['Quantita'],'Fornitore'=>$righi['Fornitore'],'Codice'=>$righi['Codice']); //creo un nuovo array dove salvo per ogni barcode, i dati.
$barcodeart_da_mostrare = array();
if(isset($_POST['barcodeart_vecchi']))
$barcodeart_da_mostrare = $_POST['barcodeart_vecchi']; //metto gli elementi vecchi realmente mostrati
if(isset($_POST['barcodeart_new'])&& !empty($_POST['barcodeart_new'])){
$query =mysql_query("SELECT * FROM articoli WHERE Barcode='".mysql_real_escape_string($_POST['barcodeart_new'])."'");
//se $esiste == 0 non cè
if(mysql_num_rows($query))//esiste
$barcodeart_da_mostrare[] = $_POST['barcodeart_new']; //aggiungo quello nuovo (prima bisognerebbe far il controllo per vedere se esiste nel db)
}
foreach($barcodeart_da_mostrare as $k)
echo '
<table>
<tr>
<td><input type="text" placeholder="Barcode" name="barcodeart_vecchi[]" id="barcodeart" size="10" value="'.$k.'"></td>
<td><input type="text" placeholder="Descrizione" name="descrizione[]" id="descrizione" size="50" value="'.$barcodeart[$k]['Descrizione'].'"></td>
<td><input type="text" style="text-align:center" placeholder="Qnt" name="quantita[]" id="quantita" size="3" value="1"></td>
<td><input type="text" placeholder="Prezzo" name="prezzo[]" id="prezzo" size="5" value="'.$barcodeart[$k]['Vendita'].'" ></td>
<td><input type="hidden" name="fornitore[]" id="fornitore" size="100" value="'.$barcodeart[$k]['Fornitore'].'"></td>
<td><input type="hidden" name="codice[]" id="codice" size="100" value="'.$barcodeart[$k]['Codice'].'"></td>
<td><input type="hidden" name="reparto[]" id="reparto" size="100" value="'.$barcodeart[$k]['Reparto'].'"></td>
<td><input type="hidden" name="UM[]" id="UM" size="100" value="'.$barcodeart[$k]['UM'].'"></td>
</tr></table>
';
}
?>
<table align="left">
<tr><td>Seleziona la causale del DdT:</td><td><select name="causale" id="causale" >
<option value="Option 1" selected></option>
<option value="RESO">RESO </option>
<option value="RIAPRAZIONE">RIPARAZIONE</option>
<option value="VENDITA">VENDITA</option>
<option value="TRASFERIMENTO INTERNO">TRASFERIMENTO INTERNO</option>
</select></td></tr>
<tr><td>Inserisci il numero dei colli e l'aspetto:</td><td><input type="text" id="colli" name="colli" value="" size="40" /></td></tr>
<tr><td>Seleziona porto franco o porto assegnato:</td>
<td><select name="porto" id="porto" >
<option value="Option 1" selected></option>
<option value="ASSEGNATO" >ASSEGNATO</option>
<option value="FRANCO">FRANCO</option>
</select></td></tr>
<tr><td>Seleziona il vettore:</td><td> <select name="vettore" id="vettore" >
<option value="Option 1" selected></option>
<option value="INTERNO">INTERNO </option>
<option value="A CARICO DESTINATARIO">CARICO DESTINATARIO</option>
<option value="SDA">SDA</option>
</select></td></tr>
<tr><td>Inserisci le eventuali note:</td><td><input type="text" id="note" name="note" value="NOTE:" size="40" /></td></tr>
</table>
<?php
echo $_SESSION['piva'];echo '<br>';
echo $_SESSION['id'];
echo $_SESSION['idsedi'];
?>
</form>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</body>
</html>