scorrimento all'interno database mysql riportando dati su form (tipo Dataset)

ans66

Utente Attivo
27 Ago 2011
158
0
16
Ciao a tutti,

Partendo dalla precedenza esperienza con il Cercaruota, ho pensato di modificare il mio form di Modifica, Inserimento, Ricerca, ecc in modo tale da renderlo più perfettamente funzionante rispetto a quello fatto in precedenza.

Ho cercato di trovare un metodo per passare attraverso la stringa data i valori dei campi record in modo tale che potessi successivamente splittare la stringa ricavando un Array con i singoli valori campi da inserire poi sui corrispettivi tag del form.

Qui nasce la prima domanda: esiste un approccio migliore...ho visto json_encode che potrebbe fare al mio caso ma lo trovo abbastanza ostico da gestire poi in javascript.

A questo punto passo al codice:

PHP:
<form id="myForm" action="tabellamod.php" method="POST" > 
    <table width="400" border="0">
   
          <thead>
      <tr>
              <th ><div align="left">Login Modifica</div></th>
            </tr>
        </thead>
          <tbody>
      <tr>      
              <!-- Combo -->
              <td >
              <label for="utente">Utente:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> 
              <input type="text" id="utente" name="utente" maxlength="35" size="25" value="" />
              </td>
              
                           
      </tr> 
      <tr>  
              <td >
              <label for="password">Password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> 
              <input type="password" id="passw" name="passw"  maxlength="35" size="25" value="" />
              </td>
              
                           
       </tr>
       <tr>
            <td>
              Modifica/Inserimento: 
              <select id="dove" name="dove" >
              <option value="0">scegli...</option>
              <option value="1">tabellains.php</option>
              <option value="2">tabellamod.php</option>
              </select>
              
            </td>
       </tr> 
       <tr>
              
              <td height="50">
        
        <div align="left" id="dt"> <input type="hidden" id="hid" name="hid" value=""  /> </div>      
        <div align="right"><input type="submit" id="btn" name="btn" value="Elabora Dati"  /></div> 
        
              </td>
              
        </tr>           
            
          </tbody>
          
          
       
            
        </table>
      </form>

Codice:
$(document).ready(function(){




$("select#dove").val(0);
$("select#dove").change(function(){ Tabelle() });   

function Tabelle() 
	{
  
  

var ut =document.getElementById('utente').value;
var psw =document.getElementById('passw').value;


var dove	= $("select#dove option:selected").attr('value');
var frm = document.getElementById('myForm');



   if (ut=='' ||	psw=='' ) { alert("Utente o Password non valida!"); window.location.href = "modifica.php"; return false; }
   else if (dove==0){ alert("Non hai scelto la tabella da caricare!"); window.location.href = "modifica.php"; return false; }
   else 
   { 
   var nr=-1;
   
   if (dove==1){  frm.action="tabellains.php"; nr=-1;}   // valore nr indica per me ultimo record per tab ins
   else if (dove==2) { frm.action="tabellamod.php"; nr=0;  } // valore nr che indica primo rec - tab modif
   


   
   
    $.ajax ({   
				type: "POST",
				url: "conn.php",
        data: 
      {
				ut	: ut,
				psw	: psw,
				nrR	: nr  
			},
				dataType: "html",
				success: function(data)
				{
       $("#hid").val(data);
        },
				error: function() { alert("malfunzionamento conn.php"); }
			});
   
   
  
  }
  

 
 }

passo la stringa debitamente formattata per lo splittamento al tag #hid (hidden) in modo tale che possa essere poi passato post al form tabellamod.php o tabellains.php (non ho esigenze di compatibilità con browser differenti in questo caso).

PHP:
<?php
require_once 'select.class.php';
$opt = new SelectList();

if(empty($_POST['passw'])) header( 'Location: modifica.php' );  
else
{  
extract($_POST, EXTR_OVERWRITE);
if(!empty($hid)) $Arr=explode("***", $hid);
}
                          
                         
?>





    <table width="970" border="0">
    <form id="myForm" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="POST"  >
          <thead>
      <tr>
              <th >
      <div align="right">Modifica il Record  </div><th><div div align="left"> / Modify the Record</div>
       
      
      </th></th>
      </tr>
        </thead>
          <tbody>
            
              <!-- Combo -->
              <tr>
              <td >
              Codice Meccanografico: <input type="text" name="codice" id="codice" value="<?php if (!empty($Arr[0])) echo $Arr[0]; ?>" size="20" />
              </td>
              <td >
              Descrizione: <input type="text" name="descrizione" id="descrizione" value="<?php if (!empty($Arr[1])) echo $Arr[1];  ?>" size="50" />
              </td>
              </tr>
              <tr>
              <td >
              Altezza Supporto: <input type="text" name="altezza" id="altezza" value="<?php if (!empty($Arr[8])) echo $Arr[8];  ?>" size="10" />
              </td>
              <td >
              Disassamento: <input type="text" name="disassamento" id="disassamento" value="<?php if (!empty($Arr[9])) echo $Arr[9];  ?>" size="10"  />
              </td>
              </tr>
              <tr>
              <td >
              Dimensioni Piastra: <input type="text" name="dimpiastra" id="dimpiastra" value="<?php if (!empty($Arr[10])) echo $Arr[10];  ?>" size="10" />
              </td>
              <td >
              Interassi foro: <input type="text" name="intforo" id="intforo" value="<?php if (!empty($Arr[11])) echo $Arr[11]; ?>" size="10" />
              </td>
              </tr>
              <tr>
              <td >
              Spessore Piastra: <input type="text" name="spespiastra" id="spespiastra" value="<?php if (!empty($Arr[12])) echo $Arr[12]; ?>" size="10" />
              </td>
              <td >
              Freno: <input type="checkbox" id="freno" name="freno" value="" <?php if ($Arr[17]==1) echo 'checked';  ?>  />
              </td>
              </tr>
              <tr>
              <td >
              Spessore Forca: <input type="text" name="spesforca" id="spesforca" value="<?php if (!empty($Arr[14])) echo $Arr[14];  ?>" size="10" />
              </td>
              <td >
              Larghezza Forca: <input type="text" name="largforca" id="largforca" value="<?php if (!empty($Arr[13])) echo $Arr[13];  ?>" size="10"  />
              </td>
              </tr>
              <tr>
              <td >
              Foro centrale: <input type="text" name="forocen" id="forocen" value="<?php if (!empty($Arr[15])) echo $Arr[15]; ?>" size="10" />
              </td>
              <td >
              Foro asse: <input type="text" name="foroasse" id="foroasse" value="<?php if (!empty($Arr[16])) echo $Arr[16];  ?>" size="10"  />
              </td>
              </tr>
              <tr>
              <td >
              Applicazione/Application: 
              <select id="applicazione" name="applicazione" >
              <?php 
              $idAp=0;
              if ($Arr2=1) $idAp=2;
              else if ($Arr[2]=0) $idAp=1; 
              echo $opt->ShowApplicazioni($Arr[2]);  
              ?>
              </select>
              </td>
              <td >
              <?php
                     $idComeR=0;
                     if ($Arr[5]!='' && $Arr[18]!='') $idComeR=3;  
                     else if ($Arr[5]=='' && $Arr[18]!='') $idComeR=1;  
                     else if ($Arr[5]!='' && $Arr[18]=='') $idComeR=2;
              ?>
              Volvenza/Bearing: 
              <select id="volvenza" name="volvenza">
              <?php echo $opt->ShowVolvenza($idAp, $idComeR, $Arr[19]);  ?>
              </select>
              </td>
              </tr>
              <tr>   
              <td >
              Come Ruota/How is the wheel?:
              <select id="comeRuota" name="comeRuota" >
              <?php  
                     echo $opt->ShowComeRuota($idComeR); 
              ?>
                     
              </select>
              </td>
              
              <td>
              Ruota/Wheel?:
              <select id="TipoRuota" name="TipoRuota">
              <?php echo $opt->ShowRuota($idAp, $idComeR, $Arr[18]);  ?>
              </select>
              </td>
              </tr>
       
              <tr>
              <td height="50">
              Diametro/Diameter:
              <select id="Diametro" name="Diametro">
              <?php echo $opt->ShowDiametro($idAp, $idComeR, $Arr[3]);  ?>   
               </td>
              
              <td height="50">
              Portata/Carrying Capacity:
              <select id="Portata" name="Portata">
              <?php echo $opt->ShowPortata($idAp, $idComeR, $Arr[4]);  ?> 
              </select>  
              </td>
              
              </tr>
              <tr>
              
          
              <td height="50">
              Supporto/Housing:
              <select id="TipoSupporto" name="TipoSupporto">
              <?php echo $opt->ShowSupporto($idAp, $idComeR, $Arr[7]);  ?>
              </select>
              </td>
              
               
              
              <td >
              Serie Supporti/Housing Series:
              <select id="SerieSupporti" name="SerieSupporti">
              <?php echo $opt->ShowSerieSup($idAp, $idComeR, $Arr[5]);  ?>
              </select>
              </td>
              
              </tr>
        <tr>
              <td height="50">
              Tipo Lamiera/Metal Sheet:
              <select id="TipoLamiera" name="TipoLamiera">
              <?php echo $opt->ShowLamiera($idAp, $idComeR, $Arr[6]);  ?>      
              </select>
              </td>
              
              <td height="50">
              Tipi Pavimenti/Which Floor?:
              <select id="TipoPavimenti" name="TipoPavimenti">
              
              <?php 
              if ($Arr[20]=='PavimentoPiastrelle') $Arr[20]='Piastrelle/Tile';
              else $Arr[20]='Tutti i Pavimenti/All Floors';  
              echo $opt->ShowPavimenti($idAp, $idComeR, $Arr[20] );  ?>            
              </select>
              </td>
              
        </tr>      
        <tr>
        <td >
              Link foto: <input type="text" name="linkfoto" id="linkfoto" value="<?php if (!empty($Arr[21])) echo $Arr[21];  ?>" size="50" />
        </td>
        <td >
              Link note: <input type="text" name="linknote" id="linknote" value="<?php if (!empty($Arr[22])) echo $Arr[22]; ?>" size="50" />
        </td>
        </tr>
        <tr>
              <td >
              Link PDF: <input type="text" name="linkpdf" id="linkpdf" value="<?php if (!empty($Arr[23])) echo $Arr[23];  ?>" size="50" />
              </td>
              <td >
              Link DWG: <input type="text" name="linkdwg" id="linkdwg" value="<?php if (!empty($Arr[24])) echo $Arr[24];  ?>" size="50" />
              </td>
        </tr>
        <tr>           
              <td >
              Link Altro disegno: <input type="text" name="linkdis3" id="linkdis3" value="<?php if (!empty($Arr[25])) echo $Arr[25];  ?>" size="50" />
              </td>
              <td >
              Link Altro disegno: <input type="text" name="linkdis4" id="linkdis4" value="<?php if (!empty($Arr[26])) echo $Arr[26];  ?>" size="50" />
              </td>
       </tr> 
       <tr>
              <td >
              Link al Sito Web: <input type="text" name="linkweb" id="linkweb" value="<?php if (!empty($Arr[27])) echo $Arr[27];  ?>" size="60" />
              </td> 
              
              <td >
              <input type="hidden" name="ut" id="ut" value="<?php if (!empty($utente)) echo $utente;  ?>" />
              <input type="hidden" name="ps" id="ps" value="<?php if (!empty($passw)) echo $passw;  ?>" />
              </td >
              
          <tr>
              <td > 
              <div align="right"><input type="submit" id="primo" nome="primo" value="<<"  /><input type="submit" id="indietro" nome="indietro" value="<" /></div>
              <div align="right">Nr. Rec.:   <input type="text" id="nrRec" name="nrRec" class="resizedTextbox" readonly value="1"   /></div>
              <div style="text-align: left" /><img src="./img/delete.png" style="visibility: hidden;"  width="30" visible="false" /></div>
              </td> 
              
              <td height="50">
              <div align="left"><input type="submit" id="avanti" nome="avanti" value=">" /><input type="submit" id="ultimo" name="ultimo" value=">>"  />
              <div align="left"><input type="text" id="totRec" name="totRec" readonly value="<?php if (!empty($Arr[28])) echo $Arr[28];  ?>" class="resizedTextbox2"  />   Totale Rec.:</div>
              <div style="text-align: right" >
              <input type="image" src="./img/delete.png" id="del" title="cancella" width="30"  />
              
              <input type="image" src="./img/update.png" title="aggiorna" width="30"  />
              <input type="image" src="./img/lente.png" id="cerca" nome="cerca" title="cerca" width="30" />
              </div>
              </td>
              
        </tr>
        <tr>   
          
          </tbody>
       
       </form>
        </table>
        
  <p>&nbsp;</p>
</div>

Codice:
$(document).ready(function(){
var ut = $("#ut").val();
var psw = $("#ps").val();

$("#primo").click(function(){ Primo() });
$("#ultimo").click(function(){ Ultimo() });
$("#avanti").click(function(){ Avanti() });
$("#indietro").click(function(){ Indietro() });
$("#cerca").click(function(){ Cerca() });

$( "#myForm" ).submit(function( event ) {
  
  event.preventDefault();
})


function Cerca() 
	{
  
   var risp=prompt("Parola da cercare?","scegli:"); 
   
  
  if (risp==null || risp=="") alert("non hai digitato nulla!"); 
  else 
  
  CaricaDB(ut, psw, risp);  
   }

function Indietro() 
	{
  var nr=parseInt($( ".resizedTextbox" ).val());
  var parag=nr;
  parag-=1;
    
  if (parag>=1)
  nr-=1;
  CaricaDB(ut, psw, nr-1);
  
  $( ".resizedTextbox" ).val(nr.toString());
  }

function Avanti() 
	{
  var ultrec=$( ".resizedTextbox2" ).val();
  var nr=parseInt($( ".resizedTextbox" ).val());
  var parag=nr;
  parag+=1;
    
  if (parag<=ultrec)
  nr+=1;
  CaricaDB(ut, psw, nr-1);
  
  $( ".resizedTextbox" ).val(nr.toString());
  }

function Primo() 
	{
  CaricaDB(ut, psw, '0');
  $( ".resizedTextbox" ).val('1');
  }

function Ultimo() 
	{
   var ultrec=parseInt($( ".resizedTextbox2" ).val());
   CaricaDB(ut, psw, ultrec-1);
   
   $( ".resizedTextbox" ).val(ultrec); 
  }
  

function CaricaDB(ut, psw, fl ) 
	{
  
    
  $.ajax ({   
				type: "POST",
				url: "conn.php",
        data: 
      {
				ut	: ut,
				psw	: psw,
				nrR	: fl  
			},
				dataType: "html",
				success: function(data)
				{
        InTextbox(data);
        },
				error: function() { alert("malfunzionamento conn.php"); }
			});
  
  }





function InTextbox(st) 
	{

var app; 
var res = st.split('***'); 
var ComeR;

// Serie Supporti vuota e TipoRuota non vuota = Solo Ruota
if (res[5]=='' && res[18]!='') ComeR=1;
// Serie Supporti non vuota e TipoRuota vuota = Solo Supporto
else if (res[5]!='' && res[18]=='') ComeR=2;
// Serie Supporti non vuota e TipoRuota non vuota = Ruota Montata
else if (res[5]!='' && res[18]!='') ComeR=3; 

if (res[2]==1) { app=2; } else { app=1; }

 
    
  for (var i = 0; i < res.length; i++) {
   
  switch(i){
case 0:
$("#codice").val(res[i]);
break
case 1:
$("#descrizione").val(res[i]);
break
case 2:
$("select#applicazione").val(app);
break
case 3:
loadXMLDoc("Diametro","Diametro",app,ComeR,res[i]);
break
case 4:
loadXMLDoc("Portata","Portata",app,ComeR,res[i]);
break
case 5:
loadXMLDoc("SerieSupporti","SerieSup",app,ComeR,res[i]);
break
case 6:
loadXMLDoc("TipoLamiera","Lamiera",app,ComeR,res[i]);
break
case 7:
loadXMLDoc("TipoSupporto","Supporto",app,ComeR,res[i]);
break 
case 8:
$("#altezza").val(res[i]);
break
case 9:
$("#disassamento").val(res[i]);
break
case 10:
$("#dimpiastra").val(res[i]);
break
case 11:
$("#intforo").val(res[i]);
break 
case 12:
$("#spespiastra").val(res[i]);
break
case 13:
$("#largforca").val(res[i]);
break
case 14:
$("#spesforca").val(res[i]);
break
case 15:
$("#forocen").val(res[i]);
break 
case 16:
$("#foroasse").val(res[i]);
break
case 17:
$("#freno").prop("checked", res[i]);
break
case 18:
res[i]=res[i].trim();
loadXMLDoc("TipoRuota","Ruota",app,ComeR,res[i]);
break
case 19:
loadXMLDoc("volvenza","volvenza",app,ComeR,res[i]);
break
case 20:
// converto TipoPavimenti per Verfica con Form
if (res[i]=='PavimentoPiastrelle') res[i]='Piastrelle/Tile';
else res[i]='Tutti i Pavimenti/All Floors'; 
loadXMLDoc("TipoPavimenti","Pavimenti",app,ComeR,res[i]);
break
case 21:
$("#linkfoto").val(res[i]);
break
case 22:
$("#linknote").val(res[i]);
break
case 23:
$("#linkpdf").val(res[i]);
break 
case 24:
$("#linkdwg").val(res[i]);
break
case 25:
$("#linkdis3").val(res[i]);
break
case 26:
$("#linkdis4").val(res[i]);
break 
case 27:
$("#linkweb").val(res[i]);
break



           }
                                        }
  
  
 
  
  }


  
                                      
function loadXMLDoc(form_tag, funzione, applic, comeR,inText)
	{
		var xURL = "characteristics.php?funzione="+funzione+"&id="+applic+"&id2="+comeR+"&inText="+inText;
    

		var attendere	= '<option value="-1">Attendere...</option>';

		$("select#"+form_tag).html(attendere);
		$("select#"+form_tag).attr("disabled", "disabled");

		GetData("select#"+form_tag, xURL);
		return;
	}

function GetData(form_tag, xURL)
	{
	
   var xmlhttp=false;

			if (!xmlhttp && typeof XMLHttpRequest!='undefined')
			{
				try { xmlhttp = new XMLHttpRequest(); }
				catch (e) { xmlhttp = false; }
			}
			if (!xmlhttp && window.createRequest)
			{
				try { xmlhttp = window.createRequest(); }
				catch (e) { xmlhttp = false; }
			}

			xmlhttp.onreadystatechange=function()
			{
				if (xmlhttp.readyState===4 && xmlhttp.status===200)
				{
					data = xmlhttp.responseText;
          SetValues(form_tag, data);
				}
			}
			xmlhttp.open("GET", xURL, true);
			xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
			xmlhttp.send(null);
      
      return	
    
	}
    
function SetValues(form_tag, data)
	{
      
      $(form_tag).removeAttr("disabled");

			var n1 = data.indexOf("<option");
      var n2 = data.indexOf("</select>");
      data = data.substring(n1, n2);
    
    $(form_tag).html(data);
    return
	}  
  
});

poi alcune delle funzioni contenute nel file Select.class.php:

PHP:
<?php
 
class SelectList
{

  
  function MieQuery($qualiQuery, $risp='')
  {

// view come da suggerimento di Marino
$SelTrova="SELECT codice, descrizione, industriale, diametro, portata, seriesupporti, ";
$SelTrova.="tipolamiera, tiposupporto, altezza, disassamento, dimensionipiastra, interassiforo, ";
$SelTrova.="spessorepiastra,larghezzaforca,spessoreforca,forocentrale, foroasse, freno, tiporuota, ";
$SelTrova.="volvenza, tipopavimenti, linkfoto, linknote, linkpdf, linkdwg, linkdisegno3, linkdisegno4, ";
$SelTrova.="LinkWeb FROM tabellamod";

$SelCerca=$SelTrova;

//$SelTrova2=" Order By trovaruota.codice";
$SelTrova2=" Order By codice";

$SelTrova=$SelTrova.$SelTrova2;

$SelCount="SELECT count(*) FROM trovaruota";


$SelCerca.=" Where (trovaruota.codice Like '%".$risp."%') Or ";
$SelCerca.="(trovaruota.descrizione Like '%".$risp."%') Or (diametro.diametro Like '%".$risp."%') Or ";
$SelCerca.="(portata.portata Like '%".$risp."%') Or (seriesupporti.seriesupporti Like '%".$risp."%') Or ";
$SelCerca.="(tipolamiera.tipolamiera Like '%".$risp."%') Or (tiposupporto.tiposupporto Like '%".$risp."%') Or ";
$SelCerca.="(dimensionesupporto.dimensionipiastra Like '%".$risp."%') Or (dimensionesupporto.interassiforo Like '%".$risp."%') Or ";
$SelCerca.="(tiporuota.tiporuota Like '%".$risp."%') Or (volvenza.volvenza Like '%".$risp."%') Or ";
$SelCerca.="(tipopavimenti.tipopavimenti Like '%".$risp."%')";
$SelCerca.=$SelTrova2;
  
  switch ($qualiQuery) {
    case 1:
        return $SelTrova;
        break;
    case 2:
        return $SelCount;
        break;
    case 3:
        return $SelCerca;
        break;
    
// poi ci sarà anche select ultimo record per tabella inserimento
    
    default:
        return $SelTrova;
} 
  
  } 


public function ShowRuota ($idApp, $idcomeR, $ruota)
  {
       
    $options = '<select id="TipoRuota" name="TipoRuota">';       
    $options= $this->OptionZero();

    $sql = "SELECT * FROM tiporuota ";  
    $sql.= "WHERE applicazioneid =".$idApp." AND comeruotaid =".$idcomeR;

    $res = $this->connDatabaseForm($sql);
    while($row = mysql_fetch_array($res))
      if ($ruota==$row['tiporuota']) 
      $options.= '<option value="' . $row['ruotacercaid'] . '" selected="selected" >' . $row['tiporuota'] . '</option>';  
      else  
      $options.= '<option value="' . $row['ruotacercaid'] . '">' . $row['tiporuota'] . '</option>';
      
      $options.= '</select>'; 
    
    return $options;   
  }

Seconda domanda: succede un problema strano che non sono riuscito a risolvere e cioè nella Select Ruota ho il Select Text giusto per ogni Record che scorro fatto salvo per il Select Text "Nylon+Poliuretano/PA+PU Wheels". Ho provato con trim($ruota) e trim($row['tiporuota']). Ho provato con if (strcasecmp($ruota, $row['tiporuota']) == 0) anzichè if ($ruota==$row['tiporuota']) ma niente! Nella Select Text ho il valore zero "scegli...." solo nel caso di Select Text = "Nylon+Poliuretano/PA+PU Wheels".

Disponibile ovviamente ad inviare la View e il db Form con tabella tiporuota
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
potesti postare conn.php, giusto per capire cosa fa
ciao
Marino
HTML:
$.ajax ({   
	type: "POST",
	url: "conn.php",
        data: 
      {
		ut	: ut,
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
potesti postare conn.php, giusto per capire cosa fa
ciao
Marino
HTML:
$.ajax ({   
	type: "POST",
	url: "conn.php",
        data: 
      {
		ut	: ut,

conn.php:
PHP:
<?php


include_once 'select.class.php';
$opt = new SelectList();

if(empty($_POST)) $data = "0";  
else
{ 
extract($_POST, EXTR_OVERWRITE);

$data= $opt->connDatabase($ut, $psw, $nrR);

}

echo $data;
?>

PHP:
public function connDatabase($ut,$psw, $qualeR)
  { 

$db = "cercaruota";
$query='';
$darit='';
$NrR=0;

// ho aggiunto nello script "risp:" nella risposta Cerca perchè sia sempre non numeric
if (!is_numeric($qualeR)) { $qualeR=substr($qualeR,5);   $query = $this->MieQuery(3,$qualeR);  }  
else {

if ($qualeR > 0) { $query = $this->MieQuery(1); $NrR=$qualeR; }
else if ($qualeR == 0) { $query = $this->MieQuery(1); }
else if ($qualeR == -1) { $query = $this->MieQuery(-1); }


    }

$link = mysql_connect("localhost", $ut, $psw);    

    if (!$link)
      die('connessione a Mysql non riuscita!: ' . mysql_error());
    else 
    {
      $db_selected =mysql_select_db($db,$link);	//connessione a database
      if (!$db_selected)
        die('connessione al database non riuscita!: ' . mysql_error());
      else
      { 
        $res = mysql_query($query,$link) or die(mysql_error()." ".$query);	
        
        while($row = mysql_fetch_assoc($res, MYSQL_NUM))
        $dataset[] = $row;
        
        $i = 0;
        while ($i <= 27) {
        
        if (!empty($dataset[$NrR][$i])) $darit.= trim($dataset[$NrR][$i]).'***';
        else $darit.=' ***';
        
        $i++;
        
                         }
                         
        
        //if ($qualeR=='tabellamod.php') { $nrR=mysql_num_rows ( $res ); $darit.=$nrR;  }
        $nrR=mysql_num_rows ( $res ); 
        $darit.=$nrR;
        
           
        return $darit; 
        
        
               

      }
    }
    
     

  }

PHP:
function MieQuery($qualiQuery, $risp='')
  {

 // View come da suggerimento di Marino
$SelTrova="SELECT codice, descrizione, industriale, diametro, portata, seriesupporti, ";
$SelTrova.="tipolamiera, tiposupporto, altezza, disassamento, dimensionipiastra, interassiforo, ";
$SelTrova.="spessorepiastra,larghezzaforca,spessoreforca,forocentrale, foroasse, freno, tiporuota, ";
$SelTrova.="volvenza, tipopavimenti, linkfoto, linknote, linkpdf, linkdwg, linkdisegno3, linkdisegno4, ";
$SelTrova.="LinkWeb FROM tabellamod"; 

$SelCerca=$SelTrova;

//$SelTrova2=" Order By trovaruota.codice";
$SelTrova2=" Order By codice";

$SelTrova=$SelTrova.$SelTrova2;
$selLastRec= $SelTrova." Desc Limit 1";


$SelCount="SELECT count(*) FROM trovaruota";


$SelCerca.=" Where (codice Like '%".$risp."%') Or ";
$SelCerca.="(descrizione Like '%".$risp."%') Or (diametro Like '%".$risp."%') Or ";
$SelCerca.="(portata Like '%".$risp."%') Or (seriesupporti Like '%".$risp."%') Or ";
$SelCerca.="(tipolamiera Like '%".$risp."%') Or (tiposupporto Like '%".$risp."%') Or ";
$SelCerca.="(dimensionipiastra Like '%".$risp."%') Or (interassiforo Like '%".$risp."%') Or ";
$SelCerca.="(tiporuota Like '%".$risp."%') Or (volvenza Like '%".$risp."%') Or ";
$SelCerca.="(tipopavimenti Like '%".$risp."%')";
$SelCerca.=$SelTrova2;
  
  switch ($qualiQuery) {
    case 1:
        return $SelTrova;
        break;
    case 2:
        return $SelCount;
        break;
    case 3:
        return $SelCerca;
        break;
    case -1:
        return $selLastRec;
    default:
        return $SelTrova;
} 
  
  }

Ciao Marino,

in rete ho trovato qualche cosa che potrebbe fare al mio caso ma che non ho ancora potuto provare:

Codice:
$.ajax({
        type: 'POST',
        url: "conn.php",
        data: {
            ut: ut,
            psw: psw,
            nrR: fl
        },
        dataType: "json",
        success: function (data) {
            var rit = JSON.parse(data); // data array.
        },
        error: function() { alert("malfunzionamento conn.php"); }
    });

lato php:

file select.class.php - function connDatabase
PHP:
while($row = mysql_fetch_assoc($res, MYSQL_NUM))
$dataset[] = $row;
return json_encode($dataset[]);

il metodo che ho trovato per passare una stringa da splittare oltre ad essere un po' farraginoso, diventerà anche difficile da gestire quando sarò costretto a passare più record (esempio: funzione Cerca nello script tabellamod).

Grazie. Ciao Marino
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
vorrei fare un aggiornamento visto che credo di aver fatto un passo avanti (ho verificato il passaggio dell'array da select.class.php allo script modifica.js (login iniziale):

PHP:
 while($row = mysql_fetch_assoc($res, MYSQL_NUM))
        $dataset[] = $row;
        return json_encode($dataset);

Codice:
$.ajax({
        type: 'POST',
        url: "conn.php",
        data: {
            ut: ut,
            psw: psw,
            nrR: nr
        },
        dataType: "json",
        success: function (data) {
            $("#hid").val(data);
        },
        error: function() { alert("malfunzionamento conn.php"); }
    });

quello che non riuscivo a comprendere è che il valore passato allo script è già json e per tale motivo è già oggetto (Array multidimensionale). Ho provato a trovare un valore per verifica con alert(data[0][0]); e funziona. Ho verificato anche il passaggio dal tag input hidden al form tabellamod.php (form scorrimento dati) e funziona. Credo di essere sulla strada giusta.
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
considera che preparo le array in questo modo, in php, (obbligato a specificare il tipo)
PHP:
$SPW_xAxisCat[] = (string)$data[$i][0];
$SPW_y2data[]   = (float)$data[$i][1];
$SPW_y1data[]   = (float)round($data[$i][2], 1, PHP_ROUND_HALF_UP);
$SPW_y3data[]   = (float)round($Efficiency,  1, PHP_ROUND_HALF_UP);
poi le passo a js in questo modo
PHP:
var SPW_xAxisCat = <?php echo json_encode($SPW_xAxisCat); ?>;
var SPW_y0data   = <?php echo json_encode($SPW_y1data); ?>;
var SPW_y1data   = <?php echo json_encode($SPW_y2data); ?>;
var SPW_y2data   = <?php echo json_encode($SPW_y3data); ?>;
ciao
Marino
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
Ciao Marino,

Se ho capito bene passi un array per ogni campo con genere (stringa, float, ecc). Come fare però a gestire una cosa del genere con return (vedi mio esempio sopra)?
 
Discussioni simili
Autore Titolo Forum Risposte Data
D [HTML] scorrimento dopo un'aggiunta di dati HTML e CSS 5
W [MS Access] Barre di scorrimento su maschere MS Access 0
A [Javascript] [CSS] elenco affiancato per evitare scorrimento pagina Javascript 4
Mer556 [Javascript] IMMAGINI A SCORRIMENTO, ANTEPRIMA 3 Javascript 1
G Scorrimento immagini nel tag section Javascript 12
S Problema scorrimento DIV Javascript 6
S Problema scorrimento DIV senza scrollbar HTML e CSS 4
asevenx plugin slider scorrimento immagini WordPress 2
N Scorrimento automatico TAB Javascript 5
K Script scorrimento notizie Javascript 2
filippino Eliminare le barre scorrimento HTML e CSS 1
F come si rileva lo scorrimento del mouse in alto o in basso? Javascript 5
S DIV con scorrimento mouse HTML e CSS 1
Danyb82 Scorrimento immagine che si sviluppa orizontalmente jQuery 3
A Estrarre solo un certo numero di record e scorrimento pagine PHP 9
P Scorrimento array-pagine PHP 0
A codice html al posto delle immagini in una finestra di scorrimento Javascript 0
M Scorrimento solo di una parte di pagina - dreamweaver cs3 Webdesign e Grafica 1
M Scorrimento solo di una parte di pagina - dreamweaver cs3 HTML e CSS 0
A scorrimento orizzontale HTML e CSS 2
B Script scorrimento orizzontale immagini linkabili - scorrimento al click su un < o > Javascript 0
borgo italia barre scorrimento colorate HTML e CSS 7
P problema di scorrimento PHP 10
S menù laterale che segue lo scorrimento della pagina Javascript 6
G creare immagini a scorrimento, però sbaglio e mi si sovrappongono..aiutatemi Flash 1
R Creare pulsanti di scorrimento in flash e altre informazioni Flash 0
borgo italia scorrimento notizie Javascript 0
P scorrimento verticale notizie e col passaggio mouse si ferma Javascript 4
C scorrimento panoramica: qualità filmato Flash 2
Nyl Css - Barre di scorrimento colorate HTML e CSS 9
T barre di scorrimento HTML e CSS 2
B barra di scorrimento in tabella HTML e CSS 1
D Scorrimento pagina con javascript Javascript 0
B Settaggio freccie di scorrimento per filmato Flash 0
C Script per lo scorrimento delle immagini Javascript 0
E pulsante di scorrimento Javascript Javascript 0
M Piccole finestrelle con barra di scorrimento HTML e CSS 1
A Colorare le barrette di scorrimento HTML e CSS 4
coteaz problema con iframe e con barre di scorrimento Javascript 3
B Larghezza pagina web / barra scorrimento impazzita? HTML e CSS 0
Firespit Barra di scorrimento in una tabella HTML e CSS 3
D barra scorrimento IFrame HTML e CSS 2
R HELP...problema con le barre di scorrimento! HTML e CSS 15
C Scorrimento Verticale Javascript 1
Eugene CSS per colorare barre di scorrimento - vietato? HTML e CSS 3
R Problema con FP 2003: bloccare scorrimento menu HTML e CSS 4
H Colorare le barre di scorrimento HTML e CSS 20
A Barre di scorrimento laterali HTML e CSS 12
N scorrimento pagine PHP 3
S Scorrimento parte pagina HTML e CSS 1

Discussioni simili