Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Passare array alle funzioni..

    salve, ho questo codice che ho scritto, per creare delle funzioni che eseguano il lavoro di inserimento nelle query per accellerarmi il lavoro da fare...
    Codice PHP:
    $table_news "fr_news";
    $struttura_news "titolo,testo,autore,data";
    if (isset(
    $_POST['titolo_news'])) {
      
    $variabile_news = array($_POST['titolo_news'], $_POST['testo_news'], $_POST['autore_news'], $_POST['data_news']);

    }

    //FUNZIONI:

    function connetti($host$_db$user$pasw) {
      
    $db mysql_connect($host$user$pasw);
          if (
    $db == FALSE)
      die (
    "<span id=\"stile1\">Errore nella connessione. Verificare i parametri del database nel file inc/config.php</span>");
        
    mysql_select_db($_db$db)
      or die (
    "<span id=\"stile1\">Errore nella selezione del database. Verificare i parametri nel file inc/config.php</span>");
        return 
    $db;
        }

    function 
    insert($table,$struttura_table,$variabile,$db_1) {
      
    $sql "INSERT INTO ".$table." (".$struttura_table.") VALUES ('".$variabile[0]."','".$variabile[1]."','".$variabile[2]."','".$variabile[3]."')";
      if (
    mysql_query($sql,$db_1)) {
        print 
    "ok";
      } else
      {
          print 
    "error";
      }

    Vorrei porvi alcune domande in merito:
    1) come si passa un array a una funzione???
    2) vi viene in mente qualcosa di più pratico di un array???(forse la risposta a questa domanda già ce l'ho)
    3) Nella query per l'inserimento è necessario inserire il nome della variabile ottenuta con la connessione...come si fà a rendere valida per tutto lo script una variabile ottenuta da una funzione???

    Vi ringrazio per le soluzioni che sicuramente troverò!!!

  2. #2
    Per passare un array potresti prima utilizzare la funzione implode e all'interno della funzione utilizzare explode.
    esempio:
    $array_da_passare_a_funzione = implode(', ', $array);
    In questo modo hai una stinga che contiene i vai valori di un array separati da una ","
    poi all'interno della funzione fai così:
    $array = explode(', ', $array_da_passare_a_funzione);
    adesso hai di nuovo il tuo array da utilizzare tramite ad esempio un foreach.
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

  3. #3
    1) come si passa un array a una funzione???

    function prova($pippo){
    //codice
    }

    $pippo = array('uno', 2, 3);

    prova($pippo);

    non vedo il problema


    2) vi viene in mente qualcosa di più pratico di un array???(forse la risposta a questa domanda già ce l'ho)

    se i dati che devi immagazzinare / passare / gestire sono ordinati non vedo niente meglio di un array che hanno una serie di funzioni per essere gestiti

    3) Nella query per l'inserimento è necessario inserire il nome della variabile ottenuta con la connessione...come si fà a rendere valida per tutto lo script una variabile ottenuta da una funzione???

    function pippo(){
    global $pluto;
    echo $pluto, '
    ';
    $pluto++;
    }

    $pluto = 1;
    pippo();
    pippo();
    /*
    stampa
    1
    2
    */

    praticamente dichiarando una variabile global all'interno di una funzione assume valore globale, questa tecnica è da utilizzare con moderazione perché rischi di incasinarti e sovrascrivere variabili per sbaglio, se il codice è corto non ci sono problemi ma capita di avere file inclusi ecc ecc e in questi casi diventa difficile gestire il tutto.

    l'esempio precedente potrebbe essere risolto in modo + ordinato con

    function pippo($parametro){
    echo $pluto, '
    ';
    $pluto++;
    return $pluto;
    }

    $bubu = 1;
    $bubu = pippo($bubu);
    $bubu = pippo($bubu);

    stampa i soliti valori di prima ma non c'è nessun rischio di sovrascrivere variabili per sbaglio
    ciao

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.