He hecho más cambios:
Código PHP:
global $fichero;
$fichero = "P01web".$_SESSION['telex'];
$DF = fopen($fichero,"a");
// A?? articulos
if (isset($_POST['art'])) {
$string7 = $_POST['art'];
$string4 = $_POST['cant'];
$string5 = "\n";
$string6 = $string7."?".$string4."?".$string5;
fputs($DF,$string6);
fclose($DF);
}
include('config.php'); //acceso a la base de datos
$mysqli = new mysqli($db_host,$db_user,$db_pass,$db_name);
if ($mysqli->connect_errno) {
echo("Error conectando con la base de datos: {$mysqli->connect_error}");
exit;
}
$mysqli->set_charset("utf8");
$pedido = file_get_contents($fichero);
$compra = '<list class="compra">';
$articulos = explode("\n", $pedido);
$first_line = true;
$grupo = $_SESSION['grupo'];
foreach ($articulos as $art) {
if ($first_line) { //el archivo contiene en la primera linea el nombre del usuario
$art = substr($art, strlen($_SESSION['telex']));
$first_line = false;
}
else if (strpos($art,'?') !== false) {
$art_det = explode('?',$art);
$art_nombre = $art_det[0];
$art_cantidad = $art_det[1];
$articulo = $mysqli->query("SELECT descripcion FROM catalog WHERE grupo='$grupo' AND codigo=$art_nombre LIMIT 0,1")->fetch_row();
$art_nombre = $articulo[0];
$compra .= "<li><span clas=\"art_nombre\">$art_nombre</span> - Cantitad: <span class=\"art_cantidad\">$art_cantidad</span></li>";
}
}
$compra .= "</list>";
Ahora me devuelve este fichero:
Código:
1200277655930?9?
660730?1?
672649?3?
960526?1?
778290?7?
y debería devolver este:
Código:
1200277??
655930?9?
660730?1?
672649?3?
960526?1?
778290?7?