passaggio dei singoli elementi elementi da json object a array

ans66

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

Ho tentato in tutte le maniere possibili di passare i singoli elementi di un oggetto json a un array senza riuscirvi:

Codice:
function Avanti() 
	{
  var dt=[];
  var ultrec=$( ".resizedTextbox2" ).val();
  var nr=parseInt($( ".resizedTextbox" ).val());
    
  var parag=nr;
  parag+=1;
    
  if (parag<=ultrec) {
  nr+=1;
  
  if (IsCerca===false) { 
  dt=CaricaDB(ut, psw);
  InTextbox(dt, nr-1); }
  else { InTextbox(dt, nr-1); }
  
                     }
  
  
  
  $( ".resizedTextbox" ).val(nr.toString());
  }


function CaricaDB(ut, psw ) 
	{
  
  var dt = [];
      
  $.ajax({
        type: 'POST',
        url: "conn.php",
        data: {
            ut: ut,
            psw: psw,
            nrR: '0'
        },
        dataType: "json",
        success: function (data) {
       
       for (i = 0; i < data.length; i += 1) 
       {
          
          dt[i] = [];
                             
         for (j = 0; j < data[i].length; j += 1) 
              {
                dt[i][j]=[];
                dt[i][j].push(data[i][j]);
              }
       }     
                                 },
        error: function() { alert("Record non trovato.php"); }
    });
    
    
    return dt;
  }


function InTextbox(dt, nrDt) 
	{

if(isNaN(nrDt)) nrDt=0;
$( ".resizedTextbox2" ).val(dt.length);

var app; 
var ComeR;

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

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

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

cosa sto sbagliando? L'array dt risulta nullo anche se con il correttore IE (F12) vedo l'oggetto array dt che include i dati.
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
purtroppo però non riesco a superare l'errato funzionamento quando voglio tornare al record selezionato (per codice) nel DataSet completo (query select from senza Where) e non DataSet ( query select from Where like %..%):

funzione errata Torna nel file tabellamod.js

Codice:
$(document).ready(function(){
var ut = $("#ut").val();
var psw = $("#ps").val();
var IsCerca=false;
var nrDt=0;
var Dataset=[]; 

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

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

function RitNr(cod) 
	{
    
    
    for (i = 0; i < Dataset.length; i++) {
    if(cod==Dataset[i][0]) { return i;}
                                         }
  }

function Torna() 
	{
    
    var cd = $('#codice').val();
            
    $('#torna').hide();
    $('#cerca').show();
    IsCerca=false;
    
    CaricaDB(ut, psw, '0' );   
    var nr;
    nrDt=RitNr(cd);
        
    InTextbox(Dataset);      
  }
  
function Cerca() 
	{
   
   IsCerca=true;
   $('#cerca').hide();
   $('#torna').show();
      
   var risp=prompt("Parola da cercare?","scegli:"); 
     
  if (risp==null || risp=="") alert("non hai digitato nulla!"); 
  else
  DatasetdaCerca=Dataset;
  $( ".resizedTextbox" ).val('1');
  
  nrDt="risp:"+risp;
  CaricaDB(ut, psw, "risp:"+risp);
   
  }

function Indietro() 
	{
  
  var nr=parseInt($( ".resizedTextbox" ).val());
  var parag=nr;
  parag-=1;
    
  if (parag>=1) {
  nr-=1;
   nrDt=nr-1;
   
  if (IsCerca===false) {
  CaricaDB(ut, psw, '0');
                       }
  else {
  InTextbox(Dataset);  
       }
   
                }
  
  $( ".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;
  nrDt=nr-1;
  
  if (IsCerca===false) { 
  CaricaDB(ut, psw, '0');
   
                       }
  else { InTextbox(Dataset); }
  
                     }
  
  
  
  $( ".resizedTextbox" ).val(nr.toString());
  }

function Primo() 
	{
  nrDt='0';
  if (IsCerca===false) {
  CaricaDB(ut, psw,'0');
                       }
  else {
  InTextbox(Dataset);
       }
  
  $( ".resizedTextbox" ).val('1');
  }

function Ultimo() 
	{
   var ultrec=parseInt($( ".resizedTextbox2" ).val());
   nrDt=ultrec-1;
   
   if (IsCerca===false) {
   CaricaDB(ut, psw,'0');
                        }
   else {
   InTextbox(Dataset);
         }
         
   $( ".resizedTextbox" ).val(ultrec); 
  }
  

function CaricaDB(ut, psw, nr ) 
	{
  
        
  $.ajax({
        type: 'POST',
        url: "conn.php",
        data: {
            ut: ut,
            psw: psw,
            nrR: nr
        },
        dataType: "json",
        success: function (data) {
       
       Dataset=[];
       Dataset=data;
       
       InTextbox(data) 
       //for (i = 0; i < data.length; i += 1) 
       //{
          
       //   dt[i] = [];
                             
       //  for (j = 0; j < data[i].length; j += 1) 
       //       {
       //         dt[i][j]=[];
       //         dt[i][j].push(data[i][j]);
       //       }
       
       
       //                         }     
                                 },
        error: function() { alert("Record non trovato.php"); }
    });
    
  }



function InTextbox(dt) 
	{

if(isNaN(nrDt)) nrDt=0;
$( ".resizedTextbox2" ).val(dt.length);

var app; 
var ComeR;

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

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

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


  
                                      
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
	}  
  
});

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;
        return json_encode($dataset);
        
        //$i = 0;
        //while ($i <= 27) {
        
        //if (!empty($dataset[$NrR][$i])) $darit.= trim($dataset[$NrR][$i]).'***';
        //else $darit.=' ***';
        
        //$i++;
                
        //$nrR=mysql_num_rows ( $res ); 
        //$darit.=$nrR;
          
        //return $darit; 
        
        
               

      }
    }
    
     

  }


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

$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";  
//$SelTrova="Select trovaruota.codice, trovaruota.descrizione, trovaruota.industriale, ";
//$SelTrova=$SelTrova."diametro.diametroform, portata.portataform, seriesupporti.seriesupportiform, ";
//$SelTrova=$SelTrova."tipolamiera.lamieraform, tiposupporto.supportoform, dimensionesupporto.altezza, ";
//$SelTrova=$SelTrova."dimensionesupporto.disassamento, dimensionesupporto.dimensionipiastra, ";
//$SelTrova=$SelTrova."dimensionesupporto.interassiforo, dimensionesupporto.spessorepiastra, ";
//$SelTrova=$SelTrova."dimensionesupporto.larghezzaforca, dimensionesupporto.spessoreforca, ";
//$SelTrova=$SelTrova."dimensionesupporto.forocentrale, dimensionesupporto.foroasse, ";
//$SelTrova=$SelTrova."dimensionesupporto.freno, tiporuota.ruotaform, volvenza.volvenzaform, ";
//$SelTrova=$SelTrova."tipopavimenti.tipopavimenti, trovaruota.linkfoto, trovaruota.linknote, ";
//$SelTrova=$SelTrova."trovaruota.linkpdf, trovaruota.linkdwg, trovaruota.linkdisegno3, trovaruota.linkdisegno4,trovaruota.LinkWeb ";
//$SelTrova=$SelTrova."From trovaruota Inner Join diametro On trovaruota.diametroid = diametro.iddiametro Inner Join ";
//$SelTrova=$SelTrova."portata On trovaruota.portataid = portata.idportata Inner Join seriesupporti On ";
//$SelTrova=$SelTrova."trovaruota.seriesupportiid = seriesupporti.idseriesupporti Inner Join ";
//$SelTrova=$SelTrova."tipolamiera On trovaruota.tipolamieraid = tipolamiera.idtipolamiera Inner Join tipopavimenti ";
//$SelTrova=$SelTrova."On trovaruota.tipopavimentiid = tipopavimenti.idtipopavimenti Inner Join tiporuota On ";
//$SelTrova=$SelTrova."trovaruota.tiporuotaid = tiporuota.idtiporuota Inner Join tiposupporto On trovaruota.tiposupportoid ";
//$SelTrova=$SelTrova."= tiposupporto.idtiposupporto Inner Join volvenza On trovaruota.volvenzaid = volvenza.idvolvenza ";
//$SelTrova=$SelTrova."Inner Join dimensionesupporto On trovaruota.dimensionesupportoid = ";
//$SelTrova=$SelTrova."dimensionesupporto.iddimensionesupporto"; 



$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;
} 
  
  }

Dopo molti tentativi e dopo aver tentato differenti approcci sono ancora bloccato a questo punto.

Quello che vorrei ottenere:

a) Trovo più Record con ricerca Where like %..%
b) Mi fermo sul Record scelto
c) clicco torna
d)dovrei ritornare sullo stesso record nel DataSet Completo ( senza Where)

Grazie per l'aiuto
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
usando le tabelle di form sono qui, ci vorrebbe qualche elemento in più di cercaruota
ciao
Marino
ruote1.PNG
ruote2.PNG
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
Ciao Marino,

Grazie per la risposta. Di seguito puoi vedere la struttura della VIEW tabellamod:

struttura vista tabella mod.jpgstruttura vista tabella mod2.jpg

Ti ho inviato anche nella tua email tutta la cartella con script e php.

Fammi sapere se manca qualche cosa.

Ciao e Grazie
Antonio
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Passaggio variabili array php su un tasto jq PHP 3
F Consigli passaggio a nuova piattaforma CMS (Content Management System) 0
F Consigli passaggio a nuova piattaforma SEO e Posizionamento 3
MarcoGrazia Metodi static e passaggio di variabili PHP 1
M Passaggio Valori checbox in textarea Javascript 1
Barierta Testo a comparsa con passaggio del mouse Javascript 17
N Problema passaggio variabili tra pagine PHP 4
P Passaggio id php a javascript PHP 6
M errore dopo passaggio Php 7.2 PHP 6
M Passaggio da una pagina php ad un altra PHP 0
P Passaggio di parametro al metodo: public void run() Java 3
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
R passaggio variabili tra modulo genitore a figlio jQuery 3
J Passaggio variabile tra 2 file php PHP 15
zorro [PHP] passaggio di variabili PHP 7
Z Passaggio php 5.6 a php 7 PHP 1
B [Visual Basic] Passaggio variabili da un progetto all'altro (Visual Studio 2017 C#/SQL) Visual Basic 0
R [PHP] Testo su immagine al passaggio del mouse PHP 2
andreas88 Problema installazione passaggio 2 Magento Magento 0
gandalf1959 Passaggio da mysql a mysqli PHP 13
C Redirect passaggio a https Web Server 1
K [PHP] Passaggio Variabili Senza Refresh Di Pagina PHP 1
A Problema nel passaggio di una animazione da flash a animate Flash 9
S [HTML] Div visibile o nascosto al passaggio del mouse HTML e CSS 3
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP] Passaggio da webapp online a webapp offline PHP 2
V [Javascript] Passaggio valore da popup a pagina madre Javascript 5
V Passaggio codice html a javascript Javascript 8
G [HTML] Variazione di posizione di un tag <a> a passaggio del mouse di un altro tag <a> HTML e CSS 12
ESABOT Problema passaggio dati tra activity tramite intent Sviluppo app per Android 1
F [ASP] passaggio parametri form metodo post Classic ASP 6
3_g passaggio sito da ASP a PHP PHP 9
elpirata [PHP] Passaggio di dati tra variabili PHP 1
A Problema con getCurrentPosition e passaggio variabili da javascript a PHP Javascript 3
T Passaggio dati con ajax ad altra pagina Ajax 6
WebDr [ASP] Passaggio di variabili in un link tra apici ed & Classic ASP 5
M Passaggio valore da una pagina PHP all'altra tramite ajax Ajax 1
T [PHP] Passaggio dati sensore con ajax e exec, lento! PHP 0
P [HTML] Passaggio Url tramite Form non funziona più HTML e CSS 8
Gaetano1991h Passaggio da calendario php a javascript PHP 2
A [Javascript] La larghezza del video player, diminuisce nel passaggio dal primo video ai successivi Javascript 0
E passaggio da procedurale a oop PHP 0
G [PHP] Problema nel passaggio del valore mese PHP 8
localhost.nicola Passaggio array tramite ajax Ajax 3
P Session e cookie funzionano solo dopo passaggio valori tramite POST PHP 8
P aiuto...passaggio variabile Javascript 1
gandalf1959 passaggio variabili da form dopo verifiche: tutte meno una!?!? Javascript 4
M Passaggio variabile PHP 4
T Fermare setInterval e riprendere al passaggio del mouse. Javascript 2
G passaggio di una variabile da javascript a un valore di input Javascript 5

Discussioni simili