Diverse query mysql unico file

  • Creatore Discussione Creatore Discussione Bivio
  • Data di inizio Data di inizio

Bivio

Utente Attivo
19 Mag 2010
91
0
6
Salve, ho un dubbio, fino ad oggi ho sempre gestito in questo modo per ogni query facevo un file separato, ora mi piacerebbe fare un un file file esempio query.php dove inserisco tutte le mie query di inserimento/modifica etc...In modo che quando mi serve mi basta richiamarli, come si fa?
 
Si scusa sono stato poco chiaro, ho scritto con molta fretta. In poche parole, adesso ho un file modifica.php dove ho vado a modificare vari valori nel database, ad ogni bottone ho ho assegnato un azione che invia il form alla pagina (es. mod_prodotto.php)corrispondente che elabora i dati e li inserisce/modifica nel database. Quindi avendo molti dati da modificare ho diversi file per le varie query sql, ora vorrei raggruppare tutto in unico file, in modo che mi basta solo richiamare quella funzione. Non so se riesco a farmi capire. :confused:
 
ciao
forse potresti provare a fare così
query.php
PHP:
<?php
$query[0]="SELECT...............";
$query[1]="SELECT...............";
$query[2]="INSERT...............";
//ecc....
?>
oppure con degli arry multidimensionali
PHP:
<?php
// si riferisce a tabella pinco
$query['sel']['pinco']="SELECT...............";
$query['ins']['pinco']="INSERT...............";
$query['upp']['pinco']="UPDATE...............";
$query['del']['pinco']="DELETE...............";
// si riferisce a tabella pallo
$query['sel']['pallo']="SELECT * FROM pallo WHERE id={$id}";
$query['ins']['pallo']="INSERT...............";
$query['upp']['pallo']="UPDATE...............";
$query['del']['pallo']="DELETE...............";
//ecc....
?>
poi nelle pagine in cui le usi
PHP:
<?php
require_once "query.php";
//se vuoi fare qualcosa sulla tabella
$cosa="sel";//può provenire da un $_POST
$tab="pallo";//può provenire da un $_POST
$id=223344; //può provenire da un $_POST
$q=mysql_query($query[$cosa][$tab]);//la querystringa = SELECT * FROM pallo WHERE id=223344
//....
?>
però penso che ti stai complicando la vita
 
puoi provare anche cosi:

crei un file :
query_utili.php
PHP:
<?php

function modifica_utente($idUtente, $mail, $telefono, $nick) {
    // richiamo del file che contiene la connessione al db
    include_once 'db_connect.php';
    // costruzione della query
    $query = "UPDATE utenti SET mail = '$mail',
                                telefono = '$telefono',
                                nick = '$nick'
                            WHERE idUtente = $idUtente";
    //esecuzione
    $res = mysql_query($query);
    //chiusura della connessione
    mysql_close();
    // restituiamo vero o falso in base all'esito  
    if ($res) {
        return true;
    }
    return false;
}

function inserisci_utente($mail, $telefono, $nick) {
    include_once 'db_connect.php';
    $query = "INSERT INTO utenti SET mail = '$mail',
                                     telefono = '$telefono',
                                     nick = '$nick'";
    $res = mysql_query($query);
    mysql_close();
    if ($res) {
        return true;
    }
    return false;
}
?>
nelle pagine richiami le funzioni:
PHP:
<?php
//richiamo del file
require_once('query_utili.php');

if (isset($_POST['modifica'])) {
    
    //verifica del richiamo della funzione
    if (modifica_utente($_POST['idUtente'], $_POST['mail'], $_POST['telefono'], $_POST['nick'])) {
        // azione in caso di successo se true
        echo "aggiornamento avvenuto";
    } else {
        // azione in caso di errore se false
        echo "ERRORE aggiornamento non avvenuto";
    }
}
?>
PHP:
<?php
//richiamo del file
require_once('query_utili.php'); 

if (isset($_POST['inserisci'])) {
    //verifica del richiamo della funzione
    if (inserisci_utente($_POST['mail'], $_POST['telefono'], $_POST['nick'])) {
        // azione in caso di successo
        echo "inserimento avvenuto";
    } else {
        // azione in caso di errore
        echo "ERRORE inserimento non avvenuto";
    }
}
?>

Dovrai aggiungeri i soliti controlli sui dati ricevuti puoi farli direttamente nella funzione
prima di eseguire la query

Ho scritto senza testare potrebbe contenere errori di logica o di sintassi (ad occhio penso di no)
 

Discussioni simili