Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Confronto array di php

  1. #1
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906

    Confronto array di php

    ho trovato questo codice fatto da br1
    codice:
    var ciccio="variabile che viene definita dall'utente";
    var trovato=false
    var saluti=new Array("bye","hi","addio","ciao","arrivederci");
    for (i=0;i<saluti.length;i++) {
      if (ciccio==saluti[i]){
        trovato=true;
        break; //non fa nulla
      }
    }
    if(!trovato){document.write("bye bye");
    }
    e per adesso tutto chiaro, ora vorrei mettere al posto di new Array, un array gia costruito con php, è fattibile??
    Oppure rigiro la frittata cosi si capisce cosa voglio ottenere:
    ho un campo di un form che non puo contenere un valore gia esistente in un DB mysql, quindi la soluzione richiesta dal cliente è appena ho scritto il codice e cambio campo, scatta il controllo in modo tale da avere subito una risposta. Per farlo ho pensato a creare un array con al suo interno tutti gli elementi da controllare e poi confrontarli con il valore
    codice:
    form.elements.codiceProdotto.value
    Si puo fare??
    ditemi di si

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Certo che si`!

    Devi trasferire tutti i dati al client, per cui e` ragionevole fino a che i dati sono limitati.

    Devi modificare la riga dove e` definita l'array in:
    var saluti = new Array('<?print "$arrPHP[0]"?>','<?print "$arrPHP[1]"?>','<?print "$arrPHP[2]"?>',...);

    Nota che non conosco PHP, per cui la sintassi PHP non e` curata (potrebbe essere errata).

    In alternativa:
    var saluti = new Array();
    <? loop su tutti gli $i del PHP
    print "saluti["$i"] = '"$arrPHP[$i]"';";
    fine loop
    ?>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    scusa gia che ci siamo, la mia ignoranza javascript dilaga, per richiamare la funzione nell'input??
    che faccio metto onChange = 'confirm funzione(this)' ??

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    No, la sintassi e`:
    <input type="text" ... onchange="funzione(this);">

    Comunque dipende da come e` fatta la funzione e da cosa vuoi ottenere.

    Nel tuo codice non c'e` la riga
    function funzione(param) {
    per cui nonposso sapere come vanno passati i parametri.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    pensavo di passargli il form.element.nomecampo.value, dici che è deprecated??

  6. #6
    Originariamente inviato da Mich_
    Devi modificare la riga dove e` definita l'array in:
    var saluti = new Array('<?print "$arrPHP[0]"?>','<?print "$arrPHP[1]"?>','<?print "$arrPHP[2]"?>',...);
    Mi permetto una miglioria
    var saluti=new Array('<?print(implode(",",$arrPHP));?>');

    cosi' in automatico PHP passerà tutto l'array in formato stringa con gli elementi separati da virgole.

  7. #7
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    codice:
    <!--
    
    function controllo()	{
    	var ciccio= form.elements.codiceProdotto.value;
    	var trovato=false
    	var confronto= new Array(<?print(implode(",",$codeCheck));?>);
    	for (i=0;i<confronto.length;i++) {
      	if (ciccio==confronto[i]){
      	  trovato=true;
      	  alert('Il codice è gia presente');
      	  break;
     	 }
    	}
    	if(!trovato)	alert("Continua pure");
    }
    	-->
    Ok l'ho messo così e nell'input lo chiamo così:
    codice:
    $inputCodice = '<input name="codiceProdotto"... onchange="controllo()">';
    non va
    IO ODIO Javascript

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Originariamente inviato da olivs
    codice:
    <!--
    
    function controllo()	{
    	var ciccio= form.elements.codiceProdotto.value;
    	var trovato=false
    	var confronto= new Array(<?print(implode(",",$codeCheck));?>);
    	for (i=0;i<confronto.length;i++) {
      	if (ciccio==confronto[i]){
      	  trovato=true;
      	  alert('Il codice è gia presente');
      	  break;
     	 }
    	}
    	if(!trovato)	alert("Continua pure");
    }
    	-->
    Ok l'ho messo così e nell'input lo chiamo così:
    codice:
    $inputCodice = '<input name="codiceProdotto"... onchange="controllo()">';
    non va
    IO ODIO Javascript
    Se guardi il codice della pagina generata, cosa dà ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Forse devi avere un array php settato cosi... per stampare anche i "

    $array = array("\"ciao\"","\"pippo\"","\"caio\"");
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    pure tu non hai torto:
    codice:
    <!--
    
    function controllo()	{
    	var ciccio= form.elements.codiceProdotto.value;
    	var trovato=false
    	var confronto= new Array(2,300703EK,AIPOD3CLA,AIPOD3USB,CAADVC-110,color_photon,fdfdfd,FRFX-50,HKCREAIIW,HKONTOUR,IYMM904UT,mumini,ora);
    	for (i=0;i<confronto.length;i++) {
      	if (ciccio==confronto[i]){
      	  trovato=true;
      	  alert('OCCHIO');
      	  break; //non fa nulla
     	 }
    	}
    	if(!trovato)	alert("bye bye");
    }
    	-->
    e nell'input:
    codice:
    <input name="codiceProdotto" type="text" value="" size="30" onchange="controllo()">

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.