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

    funzione passaggio variabili

    ciao,
    se io, in un file php mi creo una funzione contenente questo codice:

    Codice PHP:
    if(isset($_POST['id_area']) && isset($_POST['id_pag'])) {

    $query=mysql_query("SELECT prezzo FROM tbl_shipping WHERE id_area = ".$_POST['id_area']." AND id_pag = ".$_POST['id_pag']." AND id_abb ='0'")or die(mysql_error());
      
    $row dbFetchAssoc($query);
         
    extract($row);
        
     } else {echo 
    "no";} 
    come faccio a visualizzare il valore $prezzo in un altra pagina?
    ovviamente nella pagina c'è l'include al primo file

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    fia una funzione:
    Codice PHP:
    function prezzo($_POST['id_area'],$_POST['id_pag']){

    if(isset(
    $_POST['id_area']) && isset($_POST['id_pag'])) {

    $query=mysql_query("SELECT prezzo FROM tbl_shipping WHERE id_area = ".$_POST['id_area']." AND id_pag = ".$_POST['id_pag']." AND id_abb ='0'")or die(mysql_error());
      
    $row dbFetchAssoc($query);
        return 
    $row;    
    } else {
    return echo 
    "no";
    }


    nel filr dove sta incluso :
    Codice PHP:
    echo prezzo(); 

  3. #3
    non funziona...
    ma si può inserire una funzione dentro un'altra?
    la mia è una domanda, perchè è quello che sto facendo...altrimenti devo trovare un altra soluzione.

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Mi pare strano che nn funzioni:

    file1.php
    Codice PHP:
    <?php

    require('file2.php');

    echo 
    prova();

    ?>
    file2.php
    Codice PHP:
    <?php
    function prova(){
    $a 5;
    return 
    $a;
    }
    Questo e' semplicissimo non puo' nn funzionare. La struttura dev'essere la stessa.

    Ritorna il valore assegnato specificato.

    prova anche con:

    $query=mysql_query("SELECT prezzo FROM tbl_shipping WHERE id_area = ".$_POST['id_area']." AND id_pag = ".$_POST['id_pag']." AND id_abb ='0'")or die(mysql_error());
    $row = mysql_fetch_array($query);
    return $row['prezzo'];

    e vedi se printa il singolo dato.

  5. #5
    in effetti non è la funzione che non va....
    ti spiego brevemente il problema:

    ho un form in cui tramite una combo select seleziono dei valori.
    al submit mi dovrebbero passare le 2 variabili $_POST['id_area'] e $_POST['id_pag']
    il problema è questo
    su file2.php ho:
    Codice PHP:
    $action = (isset($_GET['action']) && $_GET['action'] != '') ? $_GET['action'] : 'view';

    switch (
    $action) {
        case 
    'add' :
            
    addToCart();
            break;
        case 
    'update' :
            
    updateCart();
            break;
        case 
    'delete' :
            
    deleteFromCart();
            break;
        case 
    'view' :

    in pratica l'action del form :
    <form action="<?php echo $_SERVER['PHP_SELF'] . "?page=cart&action=update"; ?>" method="post">
    mi "dirotta" le variabili su updateCart(); ( funzione che si trova ne file1.php )
    ho provato a creare la funzione come avevi detto tu e a richiamare
    echo prezzo();
    ma mi da sempre Fatal error: Call to undefined function: prezzo()
    non so come risuscire a far passare quelle 2 variabili per far eseguire la query e stamaparmi il risultato....

  6. #6
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    dovresti avere in questo file:
    Codice PHP:
    require('file_con_le_funzioni.php');
    //nelle funzioni passi i dati da usare e fai fare l'echo qui se ho capito bene come devi usarle
    $action = (isset($_GET['action']) && $_GET['action'] != '') ? $_GET['action'] : 'view';

    switch (
    $action) {
        case 
    'add' :
            
    addToCart();
            break;
        case 
    'update' :
           
    //stampi il 'return' che hai messo nella funzione che ovviamente e' o 1 sola variabile o un array
           
    echo updateCart($_POST['a'],$_POST['b']);
            break;
        case 
    'delete' :
            
    deleteFromCart();
            break;
        case 
    'view' 


  7. #7
    si marco però il problema ( continua...) è che all'interno di updateCart() che viene richiamato dallo switch c'è altro codice, non solo la funzione che ho creato.
    ti posto il contenuto di updateCart():
    Codice PHP:
    function updateCart()
    {

        
    $cartId     $_POST['hidCartId'];
        
    $productId  $_POST['hidProductId'];
        
    $itemQty    $_POST['txtQty'];
        
    $numItem    count($itemQty);
        
    $numDeleted 0;
        
    $notice     '';

        for (
    $i 0$i $numItem$i++) {
            
    $newQty = (int)$itemQty[$i];
            if (
    $newQty 1) {
                
    // remove this item from shopping cart
                
    deleteFromCart($cartId[$i]);
                
    $numDeleted += 1;
            } else {
                
    // update product quantity
                
    $sql "UPDATE tbl_cart
                        SET ct_qty = 
    $newQty
                        WHERE ct_id = 
    {$cartId[$i]}";

                
    dbQuery($sql);
            }
    // QUI C'E' LA FUNZIONE CON LA QUERY 
    function query() {
        if (isset(
    $_POST['id_area']) && isset($_POST['id_pag'])) {
            
    $query mysql_query("SELECT prezzo FROM tbl_shipping WHERE id_area = ".$_POST['id_area']." AND id_pag = ".$_POST['id_pag']." AND id_abb ='0'")or die(mysql_error());
              
    $row dbFetchAssoc($query);
             
    extract($row);
     return 
    $prezzo;

        } return 
    "no";
    }

            }

        if (
    $numDeleted == $numItem) {
            
    // if all item deleted return to the last page that
            // the customer visited before going to shopping cart
            //header("Location: $returnUrl" . $_SESSION['shop_return_url']);
            
    header('Location: home.php?page=cart');
        } else {
            
    header('Location: home.php?page=cart');
        }

        exit;


  8. #8
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Sinceramente nn mi spiego return $prezzo.. Da dove arriva? ed cmq il retunr li nn funziona perche' sta all intrno di un for e ritornerebbe un singolo valore. Dovretsti semai mettere il risultato dei prezzi se sono piu' di uno in un array e poi farlo ritornare dalla funzione.
    Una cosa cosi' ma mi trovo un'po' in difficolta' sinceramente xhce' non sono ancora espertissimo col php.

    Codice PHP:

    function a(){

     function 
    b(){

      return 
    $a 1;
    }

    return echo 
    b();


    echo a(); sara' il return di b();

  9. #9
    Originariamente inviato da marco80
    Sinceramente nn mi spiego return $prezzo.. Da dove arriva?
    è il valore del risultato della query per il campo "prezzo"
    con extract($row); la posso rinominare direttamente come variabile $prezzo.


    ed cmq il retunr li nn funziona perche' sta all intrno di un for e ritornerebbe un singolo valore.
    ma infatti a me interessa il valore di $prezzo che è un unico valore numerico.

    non so come far stampare $prezzo sul primo file...!!!

  10. #10
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    se metti cosi' nn ritorna?
    Codice PHP:
    function a(){

    //operazioni 

    function query()
    {
      
    //fai la query in questione e ..
      
    return $prezzo;
    }

    //nela funzione principale fai tornare solo quel valore..
    return echo query();


    a occhio cosi' : echo a(); ritorna fra tutto solo quella variabile ritornata nella funzione query()

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