Visualizzazione dei risultati da 1 a 5 su 5

Discussione: ciclare insert

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420

    ciclare insert

    Ciao a tutti;
    ho una porzione di codice formata da 3 insert praticamente identiche che vorrei riscrivere in maniera più compatta e ottimizzata ma mi sto ingarbugliando perchè nn sono molto pratico...

    Codice PHP:
    $sql "INSERT INTO magazzino (prodotto,quantita,ricavomese)
              VALUES ('grano','"
    .$granoquant."','".$granoric."')";
    $db->query($sql);
    $sql "INSERT INTO magazzino (prodotto,quantita,ricavomese)
              VALUES ('riso','"
    .$risoquant."','".$risoric."')";
    $db->query($sql);
    $sql "INSERT INTO magazzino (prodotto,quantita,ricavomese)
              VALUES ('mais','"
    .$maisquant."','".$maisric."')";
    $db->query($sql); 
    Vorrei provare a trasformarlo in qualcosa del genere:
    Codice PHP:
    $prodotto = array('grano','riso','mais');
    foreach (
    $prodotto as $valore) {
        
    $sql "INSERT INTO magazzino (prodotto,quantita,ricavomese)
              VALUES ('
    $valore','???','???')";
        
    $db->query($sql); 
    Non so se è corretto un approccio del genere, ma soprattutto non so come ricreare in maniera dinamica la variabile... Nei vari tentativi che ho fatto, al massimo sono riuscito ad ottenerne il nome, ma non il valore...

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,647
    Ti basta usare un array bidimensionale
    Codice PHP:
    $array = array(
        array(
    'grano',$granoquant,$granoric),
        array(
    'riso',$risoquant,$risoric),
        array(
    'mais',$maisquant,$maisric),

    Codice PHP:
    foreach ($array as $value) { 
    "INSERT INTO magazzino (prodotto,quantita,ricavomese) VALUES ('".$value[0]."','".$value[1]."','".$value[2]."')"
    }
    $db->query($sql); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Perfetto, grazie 1000

    Giusto per curiosità, mi confermi che la strada che avevo intrapreso era errata perchè non c'è modo di fare quella cosa?
    Cioè,

    $totgrano = 15;
    echo $totgrano;

    e

    $nome = "grano"
    $totgrano = 15;
    echo $."tot".$nome;

    non mi restituiranno mai lo stesso output? Non c'è modo di accedere al contenuto di una variabile "ricostruita" in quel modo?

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    in realtà puoi fare così:

    Codice PHP:
    $nome "grano";
    $totgrano 15;
    $varname "tot".$nome;
    echo $
    $varname

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Originariamente inviato da boots
    in realtà puoi fare così:

    Codice PHP:
    $nome "grano";
    $totgrano 15;
    $varname "tot".$nome;
    echo $
    $varname

    E' fighissimo! grazie!

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.