Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Confrontare valori array con variabile

    Salve ragazzi, ho bisogno di confrontare tutti i valori contenuti in un array con una variabile, in giro ho trovato questo codice, non so se è corretto, potete aiutarmi?

    Codice PHP:
    $var1lunghezza array 
    $variabile= var da confrontare  

    //non capisco qui cosa significa:$i&lt 
    for($i=0;$i<$var1;$i++) 
    {
     if (
    $array[$i]=="$variabile"

    echo
    "E' UGUALE"
    }else{ echo
    "E' DIVERSO"


    Grazie

  2. #2
    Codice PHP:
     <?php
      $var1
    =count($array);
    $variabile= var da confrontare
         $res
    =false;
    //non capisco qui cosa significa:$i&lt
    for($i=0;$i<$var1;$i++)
    {
    if (
    $array[$i]==$variabile)
        {
     
    $res=true;
        }
    }

    if(
    $res==true)
    {
    echo
    "è uguale";
    }
    else{
        echo
    "è diverso";
    }
    ?>

  3. #3
    Grazie, il codice funziona, però nella tabella del database ogni qual volta ripeto la funzione m'inserisce ulteriori valori che non dovrebbe inserire, forse mi spiego meglio postando il codice:

    Codice PHP:
    $q "SELECT * FROM products_options_values WHERE products_options_values_name = '".$params['Variante1']."'"
    $s mysql_query($q) or die (mysql_error()); 
    while (
    $row mysql_fetch_array($s)){       
    $variante $row['products_options_values_name']; 
    }  
    $array $params['Variante1'];   
    $var1=count($array);  
    $res false
     for(
    $i=0;$i<$var1;$i++) 

      if (
    $array[$i]==$variante)     

    res=true;     

    }  
    if(
    $res == true) {  
    $vari setstockvar($params['Variante1']);     
    $pid $params['Model'];  
    $query "INSERT INTO products_attributes (products_attributes_id, products_id, options_id, options_values_id, product_attribute_is_free, attributes_discounted, attributes_price_base_included) VALUES ('', '$pid', '$vari', '1', '1', '1', '1')"
    $insert mysql_query($query);    
    if(!
    $insert) die(mysql_error());   
    }else{ 
    $vari $params['Variante1'];    
    $query "INSERT INTO products_options_values (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) VALUES ('', '1', '$vari', '1')"
    $insert mysql_query($query);    
    if(!
    $insert) die(mysql_error());   

    Allora nella variabile $params['Variante1'] sono contenuti i seguenti valori:
    XS, S, M, L, XL
    Facendo il ciclo for controlla se questi valori sono già contenuti nel database, e funziona bene, però se inserisco un nuovo prodotto e riesegue il ciclo, mi inserisce 2 nuovi valori nel database anche se esistenti, quali: XS e XL.

    Come mai?

    Spero di essere abbastanza chiaro.

    Grazie

  4. #4
    Ma $params['variabile1'] da dove la ricavi?da un 'altra query?

  5. #5
    Si, equivale a $_POST

  6. #6
    Nel database quando inserisce i valori l'inserisce così:

    id valore
    1 XS

    2 S

    3 M

    4 L

    5 XL

    poi all'inserimento di un nuovo prodotto, dopo il confronto aggiunge nuovamente


    id valore
    6 XS

    7 XL


    Ti ho scritto questo, perchè forse potrebbe servirti a capire meglio.

    Grazie

  7. #7
    una sola cosa,ho sempre un dubbio su $params['Variante1'];mi mandi l'origine da dove la ricavi da $_POST[].

  8. #8
    In pratica questo valore lo ricavo da un codice delphi di un gestionale che invia queto valore tramite http alla pagina di destizazione php.

    Ti posto la riga che m'interssa:


    Codice PHP:
     if TTArtbase.Locate('Articolo etichetta',giaceArticolo.AsString,[]) then                  begin                  
     parametri
    .Values['Variante1'] :=  TTArtbaseVariante1.AsString;                      parametri.Values['Variante2'] :=  TTArtbaseVariante2.AsString;                 
     
    end

    Però dalla pagina php recupero questo valore così: esempio
    $va = $_POST['Variante1'];
    Grazie

  9. #9
    non conosco il delphi,vedi in questo modo:
    <?php
    $variante=array();
    $q = "SELECT * FROM products_options_values";
    $s = mysql_query($q) or die (mysql_error());
    while ($row = mysql_fetch_array($s)){
    $variante[] = $row['products_options_values_name'];
    }
    $array = $params['Variante1'];
    $var1=count($array);
    $res = false;
    for($i=0;$i<$var1;$i++)
    {
    if ($array[$i]==$variante[$i])
    {
    res=true;
    }
    }
    ?>

  10. #10
    In queto modo non rispetta il ciclo, cioè mi riscrive 2 volte i valori nel database.
    Invece prima funzionava tutto tranne che per quei due valori.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.