[PHP] info funzioni

Achille610@

Utente Attivo
18 Apr 2017
75
0
6
51
Ciao a tutti,
una curiosità che non riesco a trovare, io utilizzo la funzione require per modificare con un unico file header, footer ecc in tutto il sito, modificando solo header.php ecc ecc...

ora sto facendo un sito con svariate categorie, ma esempio per 5 regioni di Italia la categoria è uguale, la regione idem, ma la tipologia cambia, ora cosi devo fare una select in ogni pagina con nei vari campi categoria tipologia e regione e ogni volta devo modificare tutto, non c'è una funzione tipo require che possa aggiungere alla select che mofichi sono in una cartella e che in automatico la prenda come con la funzione require ??? spero di essermi spiegato bene :)
 
Ciao

Non ho capito cosa vuoi fare prova a spiegare un po meglio, magari anche qualche screen se non ci sono dati riservati, così cerco di aiutare.
 
Ciao,
PHP:
<?php
    $query = mysqli_query($conn, "SELECT * FROM tbl_regioni WHERE nome_campo='valore_di_ricerca' ");
    $result = mysqli_fetch_array($query);
    $file_regionale = $result['regione'];
    include($file_regionale);
?>

Dipende anche come vuoi recuperare la regione. Il risultato deve essere univoco altrimenti andrai a recuperare sempre l'ultimo risultato.


Fammi sapere
 
Ciao grazie mille per la risposta, forse non mi sono spiegato bene, nella select tipo quella che posto

PHP:
SELECT * FROM pompe INNER JOIN tipologia ON (pompe.tipologiaid=tipologia.id ) INNER 
JOIN provincia ON (pompe.provinciaid=provincia.id ) INNER JOIN categoria ON 
(pompe.categoriaid=categoria.id ) INNER JOIN prioryty ON (pompe.priorytyid=prioryty.id ) INNER 
JOIN stato_annuncio ON (pompe.stato_annuncioid=stato_annuncio.id )INNER JOIN users ON 
(pompe.user_id=users.id) WHERE tipologia.tipologia='rocce' AND categoria.categoria='vulcaniche'
 AND provincia.provincia='Milano' AND stato_annuncio.stato_annuncio='attivo' AND priorytyid 
ORDER BY priorytyid DESC, id_annunci DESC

ora se io devo riscrivere la stessa select per bergamo è ok cambio solo la città, ma se devo cambiare anche la tipologia o la categoria per ogni cartella divento matto...

io invece vorrei capire se c'è un modo dove nella cartella principale esempio Lombardia vado ad aggiungere una funzione tipo require dove metto la categoria tipo vulcaniche e cosi cambiando solo il require nella cartella in tutte le select delle province si cambia in automatico, senza dover ripetere la select per ogni provincia della Lombardia come in questo caso:

mi spiego meglio

la select postata sopra per Milano bergamo brescia comò varese lodi e mantova devo farla con rocce vulcaniche,, ma anche con rocce marmo quindi io devo andare a riscrivere per ogni regione tutte le select città per città, mentre invece vorrei capire se si potesse fare tipo: mettere nella tipologia e nella categoria un valore unico tipo uguale e richiamarlo una volta sola per ogni cartella oppure es come nel caso del require scrivere ( se esiste una funzione)


PHP:
WHERE @require tipologia "ovviamente un esempio " ...... cosi che cambi questo campo solo una
 volta nella cartella e non per tutte le città
 
IDEM per categoria  AND categoria.categoria='uguale' AND provincia.provincia='Milano' AND 
stato_annuncio.stato_annuncio='eliminato' AND priorytyid ORDER BY priorytyid DESC

PHP:
SELECT * FROM pompe INNER JOIN tipologia ON (pompe.tipologiaid=tipologia.id ) INNER 
JOIN provincia ON (pompe.provinciaid=provincia.id ) INNER JOIN categoria ON 
(pompe.categoriaid=categoria.id ) INNER JOIN prioryty ON (pompe.priorytyid=prioryty.id ) INNER 
JOIN stato_annuncio ON (pompe.stato_annuncioid=stato_annuncio.id )INNER JOIN users ON 
(pompe.user_id=users.id) WHERE tipologia.tipologia='uguale' AND categoria.categoria='uguale' 
AND provincia.provincia='Milano' AND stato_annuncio.stato_annuncio='eliminato' AND priorytyid 
ORDER BY priorytyid DESC, id_annunci DESC
 
Ciao
cosa intendi per OGNI CARTELLA? Come vengono gestite le query e le pagine?
Ogni regione ha una sua specifica cartella e pagina dove fare la query?

Scusa ma faccio fatica a capire (sono ioo_O, non te a spiegare).
 
ciao @bubino8
figurati magari mi spiego male io ti faccio un esempio della struttura:

es

cartella marmi --> piemonte
lombardia
lazio
ecc ecc

cartella muschio --> piemonte
lombardia
lazio
ecc ecc

ora per ogni sottocartella regione ho all'interno le province che devo restituire il loro listato


quindi:

cartella marmi --> piemonte --> torino --> vercelli ecc ecc
lombardia
lazio
ecc ecc


ora per ogni provincia per tirare fuori il marmo di carrara a Torino faccio una select come sopra (precedenti post) ma e cosi via per tutte le province di ogni regione....

ma se devo ripetere la stessa procedura per 10 cartelle con all'interno del relative regioni e le relative province divento pazzo, per questo chiedevo se:

es: devo estrarre dal db nella categoria marmo il " categoria: Marmo Tipologia: Rosa provincia >Torino, ma stessa stessa cosa per categoria Categoria: Marmo tipologia: Carrara Provincia: Torino

quindi avrò 2 cartelle una marmo rosa e una marmo di carrara con all'interno le stesse province di tutta Italia...

io vorrei semplicemente come ti dicevo con esempio la funzione require dentro ad ogni cartella che possa cambiare solo in questo caso la tipologia, ma che cambiando nella cartella marmo rosa "rosa" in un chiamiamolo require me lo cambi in tutte le province di quella regione


PHP:
WHERE @require tipologia "ovviamente un esempio " ...... cosi che cambi questo campo solo una
 volta nella cartella e non per tutte le città
 
IDEM per categoria  AND categoria.categoria='uguale' AND provincia.provincia='Milano' AND
stato_annuncio.stato_annuncio='eliminato' AND priorytyid ORDER BY priorytyid DESC


per evitare di riscrevere query per query di ogni provincia :) un po come si fa con i vari require tipo esempio header e footer, dove io metto require footer, e se lo vado a cambiare me lo cambia in tutto il sito, o in tutte le pagine dove ho messo require footer ... premesso che non so se si possa fare, spero questa volta di essere stato chiaro
 
Ma una volta che hai un array $file_regionale non puoi fare riferimento alla variabile così a seconda della regione hai i vari parametri per ogni regione dinamicamente? Quando ho un attimo di tempo provo a vedere se riesco a fare uno script.
 
In sostanza tu hai svariate cartelle con sottocartelle, invece di dover andare a modificare manualmente in ogni pagina se pur una volta sola in ogni cartella, vorresti creare una query che vada bene per tutte le directory e sottodirectory automaticamente.
Giusto?
Se è cosi in php potresti andare a recuperare il nome della directory, assegnarla ad una variabile che imposterai nella query.
 
esatto @bubino8 vorrei fare proprio questo :)

Mi sembra un po difficile da fare per me, in ogni caso potresti farmi qualche esempio cosi che possa provare ad ottenere quello che mi servirebbe ??

grazie mille
 
Ciao, qualcosa del genere
PHP:
<?php
    // Recupero URL
    $url = $_SERVER['REQUEST_URI'];
    // Es.: /rocce/vulcaniche/milano";
    $separo = explode('/', $url);
    $categoria = $separo[1];
    $tipologia = $separo[2];
    $provincia = $separo[3];

    echo "Cateogira: ".$categoria."<br>";
    echo "Tipologia: ".$tipologia."<br>";
    echo "Provincia: ".$provincia."<br>";
    
    
    // Crei la query
    $query = "SELECT * FROM tbl_bo WHERE categoriai='".$categoria."'";
    
?>
 

Discussioni simili