Un caro saluto a tutti.
Con la funzione printer_draw_text di php devo cercare di stampare "su carta" il risultato di una query che preleva i dati da una tabella.
Query con ciclo for che interroga il db mysql per estrarre i dati:
Codice PHP:
$query = "SELECT * FROM ordine";
$result = mysql_query($query) or die(mysql_error());
$numrows = mysql_num_rows($result);
if ($numrows==0){
print" Nessun ordine trovato";
}
else
{
for($x=0; $x<$numrows; $x++){
$resrow = mysql_fetch_array($result);
$id_ordine = $resrow['id'];
$id_piatto = $resrow['id_piatto'];
$nome_piatto= $resrow[nome_piatto];
$codice_piatto = $resrow['codice_piatto'];
$prezzo_riga_ordine = $resrow['prezzo'];
$timestamp = $resrow['timestamp'];
}}
Ora devo stampare su carta le righe estratte:
Codice PHP:
$stampante=printer_open("Samsung SCX-4725 Series PCL 6"); // Apro la connessione
printer_start_doc($stampante,"Titolo del Documento"); // Inizio documento
printer_start_page($stampante); //Inizio pagina 1
$font=printer_create_font("Arial", 148, 76, PRINTER_FW_MEDIUM, false, false,false, -50);
printer_select_font($font);
printer_draw_text($stampante,"Piatto $nome_piatto €: $prezzo_riga_ordine / Sub tot: € $totale", 10, 10); // Ecco che scriviamo!!!
printer_delete_font($font);
printer_end_page($stampante); // Fine pagina 1
Chiaramente così stampo su carta solo la prima riga estratta dal db, se invece inserisco la funzione printer_draw_text con i relativi comandi all'interno del ciclo for mi stampa tante pagine quante sono le righe estratte dal cliclo, la soluzione potrebbe essere inserire i risultati del ciclo for in un un array e succesivamente farlo stampare, ma a priori non so di quante righe di tabella sarà composto il mio risultato !? la mia breve esperienza in programmazione non mi permette di proseguire ma sarei ansionso di trovare la soluzione, qualcuno potrebbe indirizzarmi sulla strada giusta ? Grazie !