Buon giorno, volevo sapere se era possibile creare delle maschere di input per i campi data, tipo sullo stile di access dove nel campo data imposto i separatori (/) delle cifre del giorno, mese e anno.
Grazie
loris3000
@loris3000
Post creati da loris3000
-
Form: maschere di input.
-
RE: inserimento simultaneo di più record...
Grazie mille x la dritta, non ci avevo pensato.
-
inserimento simultaneo di più record...
Buon giorno a tutti, dopo tanto tempo ho ancora bisogno del vostro aiuto. Ho creato un form per un inserimento multiplo di record contemporaneamente (vi posto il codice) e fin qui funziona tutto perfettamente:
...
include ("inc/config.php");//Ricevo i dati dal form
$prove = $_POST['prove'];
$data = $_POST['data'];
$matricola = $POST['matricola'];
$livello = $POST['livello'];
$fase = $POST['fase'];
...
//Creazione campi
for($i = 1; $i <= $prove; $i++){
?>
<input type="hidden" name="id<?php echo $i;?>" value="<?php echo $i;?>">
...
<td width="5%" align="center"><select name="tipo_arma<?php echo $i;?>" id="tipo_arma<?php echo $i;?>">
<option value="...">...</option>
<option value="92 FS">92 FS</option>
<option value="P.M. 12">P.M. 12</option>
<option value="SPAS 12">SPAS 12</option>
<option value="HK G3">HK G3</option>
</select> </td>
...
}
?>
<label> <br />
<input type="submit" name="Submit2" value="Inserisci" />
</label>
</form>Ora come si può vedere io faccio scegliere all'utente quanti record vuole inserire e invio con POST a questa pagina che provvede a generare tante righe di inserimento quante sono i record da inserire ($prove). Se io però mi accorgessi di aver dimenticato di inserire ancora un record e avessi già finito di compilare i form con i campi creati, come faccio ad inserire una nuova riga di inserimento senza cancellare i dati già a video e nel contempo incrementare $i di uno (un po' come succede in access in una scheda multiriga quando si aggiunge un nuovo record. Avevo visto una cosa simile su un sito che ora non mi ricordo quale sia. Attualmente la soluzione che ho adottato è che l'utente rifaccia l'inserimento ripartendo dal form iniziale, dopo aver già inserito i precedenti ne inserisce un altro singolo.
Grazia in anticipo per i consigli.Loris3000
-
RE: Problemi con paginazione records.
Funziona!!!!!
Grazie 1000... sei grande Samyorn.
Ciao e alla prossima -
RE: Problemi con paginazione records.
[...]
Grazie per la risposta, ma come faccio ad indicarlo nel GET e poi a recuperarlo. Lo script l'ho trovato in rete e l'ho adattato alle mie esigenze, visto che non mi serviva un filtro ma solo la paginazione andava bene. Ora però ho un cliente che fuole filtrare i dati e quindi ho provato ad attivare il pezzo di codice che avevo escluso (mettendolo come commento), ma non funziona....
-
Problemi con paginazione records.
Buon giorno, avrei un problemi da sottoporvi.
Ho creato uno script per la paginazione che riceve la condizine da un form.
Tutto bene se nel form no digito nessun criterio di ricerca, ma se do un criterio (es. %udi) lo script mi filtra perfettamente la prima pagina e il totale dei record viene calcolato giusto in base alla condizione, mentre quando passo alla pagina successiva perde la condizione e mi conteggia e fa vedere tutti i record come se non avessi specificato nessun criterio di ricerca.
In quale punto del seguente script sbaglio...? Grazie per la collaborazione.
Ecco lo script:
[php]<?php
session_start();//Verifico che l'utente sia autorizzato ad aprire la pagina
if (!isset($_SESSION['utente'])){
include ('errore.php');
exit();
}//includo il file di connessione al db personale
include("config.php");$citta=$_POST['citta'];
$citta.="%";$elems_per_page = 10; // Elementi per ogni pagina
$page = $_GET[page];
if(!($page)) {
$page = 1;
}
$primo = ($page-1) * $elems_per_page ;
/*
$sql = "";
if($filtro && $filtro != "any") {
$sql = " AND citta = '$filtro'";
}*/
$query = "SELECT * FROM rubrica WHERE citta LIKE '$citta'";
$result = mysql_query($query) or die("Select last failed $query");
$num_rows = mysql_num_rows($result);$tot_pagine = ceil($num_rows / $elems_per_page);
$prev_page = $page - 1;
$next_page = $page + 1;$query .= " ORDER BY nome LIMIT $primo, $elems_per_page";
$result = mysql_query($query) or die("Select last failed $query");
$num_rows = mysql_num_rows($result);$query = "SELECT * FROM rubrica WHERE citta LIKE '$citta' ORDER BY nome";
$elenco = mysql_query($query, $connessione) or die(mysql_error());
$row = mysql_fetch_assoc($elenco);
$totalRows = mysql_num_rows($elenco);?>
<!-- Inizio tabella contenitore -->
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" class="contenitore">
<tr>
<td width="100%" align="left" valign="top" bgcolor="#FFFFFF"><!-- Inizio tabella vuota per spaziatura verticale -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="10" bgcolor="#FFFFFF"> </td>
</tr>
</table>
<!-- Fine tabella vuota per spaziatura verticale --><!-- Inizio tabella testata sopra -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<?php include('logo.php');?></td>
</tr>
</table>
<!-- Fine tabella testata sopra --><!-- Inizio tabella vuota per spaziatura verticale -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="10" bgcolor="#FFFFFF"> </td>
</tr>
</table>
<!-- Fine tabella vuota per spaziatura verticale --><!-- Inizio tabella menu orizzontale -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="middle" bgcolor="#000000"><?php include('menu_rubrica.php');?></td>
</tr>
</table>
<!-- Fine tabella menu orizzontale --><!-- ************Inizio tabella contenuti************ -->
<table width="100%" height="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="top" bgcolor="#FFFFFF" class="col_sx"><!-- Inizio tabella vuota per spaziatura verticale -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="30" bgcolor="#FFFFFF"> </td>
</tr>
</table>
<!-- Fine tabella vuota per spaziatura verticale --><!-- ************Inizio RUBRICA cerca************ --> <div id="contenuto_rubrica"> <br />
<br />
<?php echo "Trovati n. ".$totalRows." nominativi." ?>
<br />
<br /><table width="880" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="40" align="center" ><strong>Id</strong></td>
<td width="300" align="center" ><strong>Nome</strong></td>
<td width="120" align="center" ><strong>Tipo</strong></td>
<td width="180" align="center"><strong>Indirizzo</strong></td>
<td width="200" align="center"><strong>Città</strong></td>
<td width="40" align="center"> </td>
</tr>
</table>
<?php // do {// ora è possibile utilizzare $result per listare solo gli elementi della pagina corrente
while ($line = mysql_fetch_assoc($result)) { ?>
<table width="880" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="40" align="center"><?php echo $line['id']; ?></td>
<td width="300" align="left"><?php echo $line['nome']; ?></td>
<td width="120" align="left"><?php echo $line['tipo']; ?></td>
<td width="180" align="left"><?php echo $line['indirizzo']; ?></td>
<td width="200" align="center"><?php echo $line['citta']; ?></td>
<td width="40" align="center"><a href="rubrica_visualizza.php?id=<?php echo $line['id']; ?>" title="Clicca qui per visualizzare" target="_blank"><img src="icone/cerca_16x16.gif" width="16" height="16" border="0" /></a></td>
</tr>
</table>
<?php }
echo "<br>";
if($prev_page > 0)
echo "<a href='?filtro=$filtro&page=$prev_page'>pagina precedente</a> ";
if($tot_pagine > 0)
echo "pagina $page di $tot_pagine ";
if($next_page <= $tot_pagine)
echo "<a href='?filtro=$filtro&page=$next_page'> pagina successiva</a>";
echo "<br>";
echo "<br>";?>
</div>
<!-- fine contenuto_rubrica -->
</td>
</tr>
</table>
<!-- Fine tabella contenuti -->[/php] -
RE: Paginazione con parametro $-GET...
@mikslap said:
La parte in grassetto è l'aggiunta che ho fatto al tuo codice, prova e fammi sapere.
if($prev_page > 0)
echo "<a href='?**id=" . $_GET['id'] . "&**filtro=$filtro&page=$prev_page'>pagina precedente</a>";
if($tot_pagine > 0)
echo "pagina $page di $tot_pagine ";
if($next_page <= $tot_pagine)
echo "<a href='?**id=" . $_GET['id'] . "&**filtro=$filtro&page=$next_page'> pagina successiva</a>";CIAO
....sei mitico .....funziona alla grande...
Grazie 1000!!!!Ciao, alla prossima.
-
RE: Paginazione con parametro $-GET...
@claudioweb said:
Ciao
Ti do un consiglio vecchio quanto la programmazione. Fai stampare a schermo la variabile che passi tramite l'url e verifica che sia passata correttamente.
Anche perché se impostandola manualmente funziona, il problema è tutto lì...
Io proverei per prima cosa a sostituire
$page = $_GET[page];con
$page = $_GET['page'];
Niente da fare non carica la variabile nelle pagine successive.....
Come devo fare per far stampare la variabile nell'url (sono ancora novellino con php)?
-
RE: Paginazione con parametro $-GET...
ok...adesso faccio un po' di prove e poi ti faccio sapere.
Grazie ancora per la dritta.
-
Paginazione con parametro $-GET...
Buon giorno a tutti, ho provato a cercare nel forum ma non ho ancora trovato una soluzione al mio problema.
Devo impaginare i risultati facendo visualizzare 10 record per pagina.
In pratica ho un form da cui scelgo una categoria di ricette e questo passa il valore dell'id_cat tramite $_GET alla pagina di visualizzazione.
Fin qui tutto bene se si tratta di visualizzare la prima pagina, ma quando passo alla seconda pagina mi restituisce o risultati.
Se invece eseguo lo stesso script impostandogli manualmente il valore della variabile $id allora tutto funziona bene.
Vi posto il codice della pagina di visualizzazione sperando che qualcuno mi illumini sull'errore.....<?php include("statistiche/conf/conf.php"); //$i=$_GET['id']; //$id=$i; $id=5; $elems_per_page = 10; // Elementi per ogni pagina $page = $_GET[page]; if(!($page)) { $page = 1; } $primo = ($page-1) * $elems_per_page ; /*$sql = ""; if($filtro && $filtro != "$i") { $sql = " AND id_cat = '$filtro'"; } */ $query = "SELECT * FROM ricette WHERE id_cat='$id'"; $result = mysql_query($query) or die("Select last failed $query"); $num_rows = mysql_num_rows($result); $tot_pagine = ceil($num_rows / $elems_per_page); $prev_page = $page - 1; $next_page = $page + 1; $query .= " ORDER BY ricetta LIMIT $primo, $elems_per_page"; $result = mysql_query($query) or die("Select last failed $query"); $num_rows = mysql_num_rows($result); $query = "SELECT * FROM ricette WHERE id_cat='$id' ORDER BY ricetta"; $elenco = mysql_query($query, $connect) or die(mysql_error()); $row = mysql_fetch_assoc($elenco); $totalRows = mysql_num_rows($elenco); ?> </head> <body> <div id="contenitore"> <div align="center"> <?php include('header.php'); ?> <br /> <br /> <div id="statistiche"> <div align="left"> <?php include("statistiche/utentionline.php"); ?> <br /> <?php include("statistiche/contatore.php"); ?> <br /> <?php include("statistiche/registrati.php"); ?> </div> </div> </div> <div id="centro_dx">Scegli una categoria...<br /> <br /> <br /> <?php echo "Sono presenti n. ".$totalRows." ricette." ?> <br /> <?php while ($line = mysql_fetch_assoc($result)) { ?> <table width="65%" border="1" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="50%" align="left"><?php echo $line['ricetta']; ?></td> <td width="5%" align="center"><a href="elenco_x_cat.php?id=<?php echo $line['id_cat']; ?>" title="Clicca qui per visualizzare"><img src="icone/cerca_16x16.gif" width="16" height="16" border="0" /></a></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"><?php } echo "<br>"; if($prev_page > 0) echo "<a href='?filtro=$filtro&page=$prev_page'>pagina precedente</a>"; if($tot_pagine > 0) echo "pagina $page di $tot_pagine "; if($next_page <= $tot_pagine) echo "<a href='?filtro=$filtro&page=$next_page'> pagina successiva</a>"; echo "<br>"; echo "<br>"; ?> </td> </tr> </table> </div> </div> </body> </html>
Grazie a tutti in anticipo...
-
RE: Visualizza risultati raggruppati
...risolto...
basta togliere questa istruzione:
$risultato=mysql_fetch_array($query);
prima di ogni ciclo While.
Questo perchè avendo messo questa istruzione prima del ciclo while la stessa conteggiava già i record e quindi il ciclo partiva dal secondo record.
Ciao a tutti. -
RE: Visualizza risultati raggruppati
...ciao a tutti... per quanto riguarda il problema del raggruppamento ho risolto (in parte) con il codice qui sotto (devo creare un pdf con fpdf):
<?php
define('FPDF_FONTPATH','librerie pdf/font/');
require('librerie pdf/fpdf.php');class PDF extends FPDF
{
//Intestatazione
function Header()
{
//Setto il carattere ad Arial bold 14
$this->SetFont('Arial','BU',30);
//Mi sposto a destra
//$this->Cell(80);
//Immetto il titolo
$this->Cell(0,10,'SCHEDA DI TIRO',0,0,'C');//Vado a capo (Line break) $this->Ln(30);
}
//Piè di pagina
function Footer()
{
//Mi posiziono a cm 1,5 dal fondo
$this->SetY(-15);
//Setto il carattere ad Arial italic 8
$this->SetFont('Arial','I',8);
//Numero di pagina
$this->Cell(0,10,'Pagina '.$this->PageNo().' di {nb}',0,0,'C');
}
}//Instanciation of inherited class
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage('L');//includo il file di connessione al db
include("inc/config.php");$data = '20-01-2009';
//creazione query di selezione dalla tabella esercitazioni
$query1=mysql_query("SELECT * FROM esercitazioni WHERE data='$data' GROUP BY 'matricola' ORDER BY istituto,cognome,nome");
$risultato1=mysql_fetch_array($query1);
$righe1=mysql_num_rows($query1);//Inizia il primo raggruppamento: quello per il numero di matricola del dipendente
//Inizializzo il contatore
//$cont=0;
while($row = mysql_fetch_array($query1))
{
//Scrivo i dati
//Cognome e nome partendo da 0 e con altezza riga 10, centrato
$pdf->SetFont('Times','B',16);
$pdf->Cell(200,5,$row['grado'],0,0);
$pdf->SetFont('Times','B',20);
$pdf->Cell(150,5,$row['istituto'],0,1);
$pdf->Ln(10);$pdf->SetFont('Times','B',20);
$pdf->Cell(200,5,$row['cognome'].' '.$row['nome'],0,0); $pdf->Cell(150,5,'Matricola n. '.$row['matricola'],0,1); $pdf->Ln(10);
$pdf->SetFont('Times','',12);
//Colors of frame, background and text $pdf->SetDrawColor(0,80,180); $pdf->SetFillColor(255,255,0); //$pdf->SetTextColor(220,50,50); //Intestazione //$pdf->Cell(5,8,'Nr.',1,0,'C',1); $pdf->Cell(25,8,'Data.',1,0,'C',1); $pdf->Cell(25,8,'Arma',1,0,'C',1); $pdf->Cell(15,8,'Distanza',1,0,'C',1); $pdf->Cell(40,8,'Modalità di tiro',1,0,'C',1); $pdf->Cell(20,8,'Sparati',1,0,'C',1); $pdf->Cell(20,8,'In sagoma',1,0,'C',1); $pdf->Cell(20,8,'% sagoma',1,0,'C',1); $pdf->Cell(20,8,'Centri',1,0,'C',1); $pdf->Cell(20,8,'% centri',1,0,'C',1); $pdf->Cell(40,8,'Valutazione',1,0,'C',1); $pdf->Cell(40,8,'Note',1,1,'C',1);
$matricola=$row['matricola'];
//creazione query di selezione dalla tabella esercitazioni
$query2=mysql_query("SELECT * FROM esercitazioni WHERE data='$data' AND matricola='$matricola'");
$risultato2=mysql_fetch_array($query2);
$righe2=mysql_num_rows($query2);//Inizio il secondo raggruppamento
$cont=0;
while($row1 = mysql_fetch_array($query2))
{//$pdf->Cell(5,8,$cont,1,0,'C'); $pdf->Cell(25,8,$row1['data'],1,0,'C'); $pdf->Cell(25,8,$row1['tipo_arma'],1,0,'C'); $pdf->Cell(15,8,$row1['distanza'],1,0,'C'); $pdf->Cell(40,8,$row1['modalita_tiro'],1,0,'C'); $pdf->Cell(20,8,$row1['colpi_sparati'],1,0,'C'); $pdf->Cell(20,8,$row1['colpi_in_sagoma'],1,0,'C'); $pdf->Cell(20,8,number_format($row1['perc_in_sagoma'],'2', ',', '.'),1,0,'C'); $pdf->Cell(20,8,$row1['colpi_in_centro'],1,0,'C'); $pdf->Cell(20,8,number_format($row1['perc_in_centro'],'2', ',', '.'),1,0,'C'); $pdf->Cell(40,8,$row1['valutazione'],1,0,'C'); $pdf->Cell(40,8,$row1['note'],1,1,'C');
//Incremento il contatore
$cont++;
}
//Nuova pagina quando cambia matricola
$pdf->AddPage('L');
}$pdf->Output();
?>Mi raggruppa tutto bene e mi fa anche il salto pagina giusto, l'unica cosa che non capisco è perchè nel secondo While mi salta sempre il primo record di ogni raggruppamento... perchè... dove sbaglio?
Grazie -
RE: Visualizza risultati raggruppati
...tradotto in parole povere... sto migliorando con la programmazione in php ma certe cose rimangono ancora difficili da capire al volo. Riusciresti a farmi un esempio (veloce veloce) solo per capire i meccanismi dei cicli per il cambio di intestazione?
Grazie ancora per l'aiuto. -
Visualizza risultati raggruppati
Buon giorno a tutti, ho un problemino da risolvere:
ho un db mysql in cui ci sono memorizzati i dati dei dipendenti in questo modo: id_prova,data, citta, cognome,nome.
Adesso io dovrei etrarre questi dati raggruppandoli per citta'.
Supponiamo di avere questi dati:
1,21/01-2009,Roma,Rossi,Mario
2,21/01-2009,Roma,Rossi,Mario
2,21/01-2009,Roma,Rossi,Mario
1,21/01-2009,Roma,Verdi,Mario
2,21/01-2009,Roma,VerdiMario
2,21/01-2009,Roma,Verdi,Mario
1,21/01-2009,Udine,Bianchi,Mario
2,21/01-2009,Udine,Bianchi,Mario
2,21/01-2009,Udine,Bianchi,MarioIo devo raggrupparli per citta' e per nominativo:
Citta': ROMA
ROSSI Mario
prova n. 1 del 21/01/2009
prova n. 2 del 21/01/2009
prova n. 3 del 21/01/2009qui cambia cognome ma sempre nel gruppo della citta' di Roma
VERDI Mario
prova n. 1 del 21/01/2009
prova n. 2 del 21/01/2009
prova n. 3 del 21/01/2009qui cambia città...
Citta': UDINE
BIANCHI Mario
prova n. 1 del 21/01/2009
prova n. 2 del 21/01/2009
prova n. 3 del 21/01/2009Ho provato con la funzione GROUP BY ma mi raggruppa facendomi vedere un record solo (in base ai criteri di campo)
Attualmente per poter lavorare ho collegato la tabella ad un db access con CONNECT/ODBC e ho creato il report in access. Io però volevo farlo in php in modo da poterlo utilizzare con fpdf.
Grazie a tutti per l'attenzione.
Loris3000
-
RE: Creare un file .pdf
il calcolo viene fatto nel file fattura.php quindi quando viene generato il pdf. A me funziona perfettamente (l'ho appena riprovato).
Prova a non dare tutto il percorso quando richiami le librerie:
define('FPDF_FONTPATH','librerie pdf/font/');//metti il percorso che hai tu
require('librerie pdf/fpdf.php');//metti il percorso che hai tu
quindi prova a dargli solo la directory dove si trova (vedi le voci sottolineate) e non tutta la url completa. -
RE: Come installare phpmychat
Salve a tutti, io ho problemi quando mi chiede per l'installazione ftp utente e ftp password. Io uso in locale wamp5 server, cosa devo mettere in quei campi.?
Grazie -
RE: Creare un file .pdf
Non penso sia nel calcolo perchè nel pdf che ti ho allegato è la risultante di quello che veniva a me lanciando lo script e come puoi vedere veniva fuori tutto.
Forse il problema è nella riga :
$pdf->MultiCell(SCRITTURA___________________________',0,1);
Prima di "SCRITTURA manca l'apostrofo e quindi non chiudendo la stringa l'ultima funzione che riguarda la creazione del file non viene eseguita.
Inoltre nelle dichiarzazioni sopra tu hai messo come percorso:
require('D:/');//metti il percorso che hai tu
ma la libreria fppdf dove la richiami? -
RE: Consigli per la stampa
Secondo me, visto che anche io ho dovuto sbatterci il naso per lavoro, la soluzione migliore è quella di usare la libreria fpdf. All'inizio mi sembrava impossibile far funzionare le stampe, poi capito il metodo, si riesce a fare davvero di tutto.