Ok fino a li ci siamo..
Ora prova a vedere cosa c'è nell'array $barcodeart_da_mostrare inserendo un print_R($barcodeart_da_mostrare) prima del foreach.
a quanto pare nulla :
Codice:
Array ( )
Ok fino a li ci siamo..
Ora prova a vedere cosa c'è nell'array $barcodeart_da_mostrare inserendo un print_R($barcodeart_da_mostrare) prima del foreach.
Array ( )
while($righi=mysql_fetch_array($result))
$barcodeart[$righi['Barcode']] = ...; //creo un nuovo array dove salvo per ogni barcode, i dati.
//Qua inserisci:
var_dump($barcodeart);
$barcodeart_da_mostrare = array();
SELECT * FROM articoli WHERE Barcode LIKE '%84801%'
query eseguita
Resource id #3
resource(3) of type (mysql result)
OK RESULT
array(1) { [1920100084801]=> array(6) { ["Descrizione"]=> string(44) "COLLANA ARG LUNGA QUARZO GRIGIO CON PENDENTE" ["Vendita"]=> string(3) "555" ["UM"]=> string(2) "PZ" ["Quantita"]=> NULL ["Fornitore"]=> string(12) "DELLA ROVERE" ["Codice"]=> string(3) " OK" } }
SELECT * FROM articoli WHERE Barcode LIKE '%84801%'
array(0) { }
ok, ho effettuato come dicevi te le modifiche e questo è quello che esce fuori :
PHP:SELECT * FROM articoli WHERE Barcode LIKE '%84801%' query eseguita Resource id #3 resource(3) of type (mysql result) OK RESULT array(1) { [1920100084801]=> array(6) { ["Descrizione"]=> string(44) "COLLANA ARG LUNGA QUARZO GRIGIO CON PENDENTE" ["Vendita"]=> string(3) "555" ["UM"]=> string(2) "PZ" ["Quantita"]=> NULL ["Fornitore"]=> string(12) "DELLA ROVERE" ["Codice"]=> string(3) " OK" } } SELECT * FROM articoli WHERE Barcode LIKE '%84801%' array(0) { }
$barcodeart_da_mostrare[] = $_POST['barcodeart_new']; //aggiungo quello nuovo (prima bisognerebbe far il controllo per vedere se esiste nel db)
Si dovresti verificare il valore e se il campo nel form si chiama "barcodeart_new".
Ovviamente se cambi nel form devi cambiare anche nella pagina di ricezione dei dati.
Il dato lo riceve correttamente? Se si allora è un attimo inserire il like o altro.
84801
SELECT * FROM articoli WHERE Barcode LIKE '%84801%'
query eseguita
Resource id #3
resource(3) of type (mysql result)
OK RESULT
array(1) { [1920100084801]=> array(6) { ["Descrizione"]=> string(44) "COLLANA ARG LUNGA QUARZO GRIGIO CON PENDENTE" ["Vendita"]=> string(3) "555" ["UM"]=> string(2) "PZ" ["Quantita"]=> NULL ["Fornitore"]=> string(12) "DELLA ROVERE" ["Codice"]=> string(3) " OK" } }
SELECT * FROM articoli WHERE Barcode LIKE '%84801%'
array(0) { }
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)
}
Ok bene. Il tutto sta in quest'if:
Controlla se entra in questo if e posta tutto il tuo codice modificato.PHP: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) }
<!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" />
</head>
<body>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<table>
<tr>
<td><input type="text" placeholder="Barcode" name="barcodeart_new" id="barcodeart" size="10" value=""></td>
<td><input type="submit" class="visto" name="visto"></td>
</tr>
</table>
<?php
include('connect.php');
if(isset($_POST['barcodeart_new']) && !empty($_POST['barcodeart_new'])){
echo $_POST['barcodeart_new'];
$query = "SELECT * FROM articoli WHERE Barcode LIKE '%" . mysql_real_escape_string($_POST['barcodeart_new']) . "%'";
echo $query; //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 />");
echo "query eseguita";
print_r($result);
}
?>
<table>
<?php
if(isset($result))
{
var_dump($result);
echo "OK RESULT";
$barcodeart_da_mostrare = array();
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.
var_dump($barcodeart);
$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 = "SELECT * FROM articoli WHERE Barcode LIKE '%" . mysql_real_escape_string($_POST['barcodeart_new']) . "%'";
echo $query;
//se $esiste == 0 non cè
if(mysql_num_rows($query))//esiste
echo "ok ok OK FANCULO";
$barcodeart_da_mostrare[] = $_POST['barcodeart_new']; //aggiungo quello nuovo (prima bisognerebbe far il controllo per vedere se esiste nel db)
}
var_dump($barcodeart_da_mostrare);
foreach($barcodeart_da_mostrare as $k)
var_dump($barcodeart_da_mostrare);
echo '
<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="32" 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="text" placeholder="Sc %" name="scontoperc[]" id="scontoperc" size="3"></td>
<td><input type="text" placeholder="Sc VAL" name="scontoval[]" id="scontoval" size="4"></td>
<td><input type="text" placeholder="P.Scontato" name="prezzosconto[]" id="prezzosconto" size="6"></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>
';
}
?>
<input type="submit" name="creapdf" onclick= "this.form.action='ddt.php'" value="creapdf">
<input type="submit" name="creapdf" onclick= "this.form.action='fattura.php'" value="creafattura">
<input type="submit" name="ddt" onclick= "this.form.action=' read_ddt.php'" value="ddt"><br /><br />
Seleziona la causale del DdT:<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><br /><br />
Inserisci il numero dei colli e l'aspetto:<input type="text" id="colli" name="colli" value="" size="40" /><br /><br />
Seleziona porto franco o porto assegnato:
<select name="porto" id="porto" >
<option value="Option 1" selected></option>
<option value="ASSEGNATO" >ASSEGNATO</option>
<option value="FRANCO">FRANCO</option>
</select><br /><br />
Seleziona il vettore: <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><br /><br />
Inserisci le eventuali note:<input type="text" id="note" name="note" value="NOTE:" />
</table>
</form>
</body>
</html>
$risultato = mysql_query($query)
if(mysql_num_rows($risultato))//esiste
...
}
Vuol dire che non trova risultati.
OVVIO!! Non viene eseguita la query. :hammer:
Dopo $query=... inserisci l'esecuzione della query
E nella if devi considerare $risultato per eseguire mysql_num_rows in questo modo:PHP:$risultato = mysql_query($query)
PHP:if(mysql_num_rows($risultato))//esiste ... }
Oppure non so se vuoi considerare la query precedente. In tal caso usa la variabile $result al posto di $risultato.
<!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" />
</head>
<body>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<table>
<tr>
<td><input type="text" placeholder="Barcode" name="barcodeart_new" id="barcodeart" size="10" value=""></td>
<td><input type="submit" class="visto" name="visto"></td>
</tr>
</table>
<?php
include('connect.php');
if(isset($_POST['barcodeart_new']) && !empty($_POST['barcodeart_new'])){
echo $_POST['barcodeart_new'];
$query = "SELECT * FROM articoli WHERE Barcode LIKE '%" . mysql_real_escape_string($_POST['barcodeart_new']) . "%'";
echo $query; //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 />");
echo "query eseguita";
print_r($result);
}
?>
<table>
<?php
if(isset($result))
{
var_dump($result);
echo "OK RESULT";
$barcodeart_da_mostrare = array();
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.
var_dump($barcodeart);
$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 = "SELECT * FROM articoli WHERE Barcode LIKE '%" . mysql_real_escape_string($_POST['barcodeart_new']) . "%'";
echo $query;
$result=mysql_query($query);
//se $esiste == 0 non cè
if(mysql_num_rows($result))//esiste
echo "ok ok OK FANCULO";
$barcodeart_da_mostrare[] = $_POST['barcodeart_new']; //aggiungo quello nuovo (prima bisognerebbe far il controllo per vedere se esiste nel db)
}
var_dump($barcodeart_da_mostrare);
foreach($barcodeart_da_mostrare as $k)
var_dump($barcodeart_da_mostrare);
echo '
<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="32" 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="text" placeholder="Sc %" name="scontoperc[]" id="scontoperc" size="3"></td>
<td><input type="text" placeholder="Sc VAL" name="scontoval[]" id="scontoval" size="4"></td>
<td><input type="text" placeholder="P.Scontato" name="prezzosconto[]" id="prezzosconto" size="6"></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>
';
}
?>
<input type="submit" name="creapdf" onclick= "this.form.action='ddt.php'" value="creapdf">
<input type="submit" name="creapdf" onclick= "this.form.action='fattura.php'" value="creafattura">
<input type="submit" name="ddt" onclick= "this.form.action=' read_ddt.php'" value="ddt"><br /><br />
Seleziona la causale del DdT:<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><br /><br />
Inserisci il numero dei colli e l'aspetto:<input type="text" id="colli" name="colli" value="" size="40" /><br /><br />
Seleziona porto franco o porto assegnato:
<select name="porto" id="porto" >
<option value="Option 1" selected></option>
<option value="ASSEGNATO" >ASSEGNATO</option>
<option value="FRANCO">FRANCO</option>
</select><br /><br />
Seleziona il vettore: <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><br /><br />
Inserisci le eventuali note:<input type="text" id="note" name="note" value="NOTE:" />
</table>
</form>
</body>
</html>