Buon pomeriggio,
Premessa sono al mio primo gestionale, mi è stato richiesto di utilizzare php e Mysql.
Ho un "piccolo problemino" e spero che qualcuno mi possa aiutare
:
Ho l'esigenza di far fare una ricerca per nome nel db, ma i campi che sono stati compilati devono rimanere compilati anche dopo la ricerca.
Io ho ben pensato di mettere una bella sessione, in cui inserire i valori compilati. Ma credo di essermi scavata la fossa da sola visto che mi ha dato qualche problema
Magari c'è una via meno contorta che non conosco!!
Posto un po di codice.. Magari mi spiego meglio.
Pagina con i form da compilare, uno di questi ha la funzione di cercare il cliente nel db.
codice:
<?php
session_start();
include "funzioni.php";
connessione_db();
ECHO "SCHEDA LAVORAZIONE"."<br>";
buttom_torna_home();
echo "<HR></HR>";
echo "<form method='post' action='find-cliente.php'>".
"Numero scheda: "."<input type='text' name='numsched' value='$num_sched'><br>".
"Data presa in carico "."<input type='text' name='data' value='$data'><br>".
"Tecnico"."<input type='text' name='tecnico' value='$tecnico'><br>".
"Nominativo: "."<input type='text' name='cliente' value='$cognome'>
<input type='submit' name='cerca' value='cerca'><br>".
"Telefono 1"."<input type='text' name='tel1' value='$tel1'><br>".
"NOTE"."<input type='textarea' name='note' value='$note'><br>"."</FORM>";
mysql_close();
?>
La pagina di ricerca, e l'inserimento in sessione del contenuto dei form
codice:
<?php
session_start();
include "funzioni.php";
connessione_db();
$cliente=mysql_real_escape_string(trim($_POST['cliente']));
$_SESSION['num']=$num=mysql_real_escape_string(trim($_POST['numsched']));
$_SESSION['datacarico']=$datacarico=mysql_real_escape_string(trim($_POST['data']));
$_SESSION['note']=$note=mysql_real_escape_string(trim($_POST['note']));
$query_cerca= @mysql_query("SELECT id_cliente, cognome, mail, codice_fiscale, p_iva, indirizzo, citta, cap, tel, cel
FROM cliente WHERE cognome LIKE'%$cliente%' and attivo='1'") or die ("query fallita");
if (mysql_num_rows($query_cerca) > '0'){
//echo "cliente trovato"."<br>";
$num_righe = mysql_num_rows($query_cerca);
echo "<form method='post' action='new-work.php'>";
while ($row= @mysql_fetch_array ($query_cerca)){
$id=$row['id_cliente'];
$cognome1=$row['cognome'];
$tel1=$row['tel'];
$tel2=$row['cel'];
echo $cognome1."---".$tel1."---".$tel2;
echo"<input type='checkbox' name='idcliente' value='$id' ><br>";
}
echo "<input type='hidden' name='nascosto' value='1'><br>";
echo "<input type='submit' name='add' value='Aggiungi'><br>";
echo "</form>";
}
mysql_close();
?>
Pagina in cui torno, con l'id del cliente scelto cerco nel db i dati che mi servono (num tel) e i valori presi dalla sessione:
codice:
<?php
session_start();
include "funzioni.php";
connessione_db();
$idcliente=$_POST['idcliente'];
$query1=@mysql_query ("SELECT id_cliente, cognome, mail, codice_fiscale, p_iva, indirizzo, citta, cap, tel, cel
FROM cliente WHERE id_cliente='$idcliente'") or die('query fallita');
if (mysql_num_rows($query1) > '0'){
while ($row= @mysql_fetch_array ($query1)){
$nome=$row['cognome'];
$tel1=$row['tel'];
$tel2=$row['cel'];
}
}
echo "<form method='post' action='find-cliente.php'>".
"Numero scheda: "."<input type='text' name='numsched' value=".$_SESSION['num']."><br>".
"Data presa in carico "."<input type='text' name='data' value=".$_SESSION['datacarico']."><br>".
"Tecnico"."<input type='text' name='tecnico' value=".$_SESSION['login']."><br>".
"Ragione sociale o Nominativo: "."<input type='text' name='cliente' value='$nome'>
<input type='submit' name='cerca' value='cerca'><br>".
"Telefono 1"."<input type='text' name='tel1' value='$tel1'><br>".
"Telefono 2"."<input type='text' name='tel2' value='$tel2'><br>".
"Oggetto riparazione"."<input type='text' name='ogg' value=".$_SESSION['oggetto']."><br>".
"Stato Riparazione: "."<select id='level' name='stato'>
<option value='1' selected> Da Analizzare </option>
<option value = '2' > In Lavorazione </option>
<option value ='3'> Laboratorio esterno </option>
<option value ='4'> Eseguita </option>
<option value ='5'> Non Eseguibile </option>
<option value ='6'> Smaltito </option>
</select>"."<br>".
"Costo riparazione: "."<input type='text' name='costo' value=".$_SESSION['costo']."><br>".
"Riconsegnato"."<input type='checkbox' name='riconsegnato' value='1'><br>".
"Data riconsegna: "."<input type='text' nale='dataricons'><br>".
"NOTE"."<input type='textarea' name='note' value=".$_SESSION['note']."><br>".
"<input type='hidden' name='idcliente' value='$idcl'>"
."</FORM>";
echo "<form method='post' action='add-new-work.php'>".
"<input type='submit' name='aggiungi' value='Aggiungi scheda'>".
"</ FORM>";
mysql_close();
?>
Pensavo funzionasse tutto.... ma il campo delle note non va...In sessione mi va solo la prima parola (inserisco "pc rotto" e va in sessione solo "pc")...
Sono aperta a qualsiasi suggerimento, ogni occasione è buona per imparare cose nuove e mettersi alla prova!!