Database Per ogni record del database creare una pagina in automatico

FAK

Utente Bronze
8 Aprile 2018
46
21
6
46
Ciao, voglio creare per ogni record del database una pagina in automatico (senza scrivere manualmente select from libri where id = 1,2,3 ecc su ogni pagina) Come posso fare?
 
Concordo con @Cappuccino

Esegui una query (in SQL tramite PHP)
SQL:
SELECT * FROM tabella;

E fetchi i risultati in un array.

Dopodichè iteri l'array.
PHP:
foreach ($array as $element) {
    // Crea pagina usando fwrite() ecc...
}

Grazie per la risposta. Ma come faccio a inserire $i nell' fwrite? $i mi serve per le query esempio select .. from .. where id = '$i'. Con questo codice mi crea la pagina stampando $i e non il record. come posso fare?

Codice:
$i=1;
while ($i < num){
$a='codice sito ecc'
$file = fopen("test$i.php","w");
echo fwrite($file,$a);
fclose($file);
$i++;
}
?>
 
Grazie per la risposta. Ma come faccio a inserire $i nell' fwrite? $i mi serve per le query esempio select .. from .. where id = '$i'. Con questo codice mi crea la pagina stampando $i e non il record. come posso fare?

Codice:
$i=1;
while ($i < num){
$a='codice sito ecc'
$file = fopen("test$i.php","w");
echo fwrite($file,$a);
fclose($file);
$i++;
}
?>

Pardon, non ho ben compreso.

Se puoi essere più chiaro nella spiegazione e nel codice te ne sarei grato.
 
Come faccio a creare differenti query per ogni pagina?
Mi aspettavo una risposta più chiara e corposa e invece...

Fin da inizio thread non hai ben chiarito quale sia il problema che vuoi risolvere.

Mi costringi ad andare a tentativi.

Ti dico quale sia secondo me il problema che vuoi risolvere e tu mi dici sì/no.

Problema:

Vuoi creare le pagine test1.php, test2.php, test3.php, ..., testN.php in cui in ognuna di esse ci sia scritta una query. Ovvero:

test1.php
PHP:
$query = "SELECT * FROM tabelle WHERE id = 1";

test2.php
PHP:
$query = "SELECT * FROM tabelle WHERE id = 2";

... e così via fino a testN.php

testN.php
PHP:
$query = "SELECT * FROM tabelle WHERE id = N";

Ci ho preso?
 
Mi aspettavo una risposta più chiara e corposa e invece...

Fin da inizio thread non hai ben chiarito quale sia il problema che vuoi risolvere.

Mi costringi ad andare a tentativi.

Ti dico quale sia secondo me il problema che vuoi risolvere e tu mi dici sì/no.

Problema:

Vuoi creare le pagine test1.php, test2.php, test3.php, ..., testN.php in cui in ognuna di esse ci sia scritta una query. Ovvero:

test1.php
PHP:
$query = "SELECT * FROM tabelle WHERE id = 1";

test2.php
PHP:
$query = "SELECT * FROM tabelle WHERE id = 2";

... e così via fino a testN.php

testN.php
PHP:
$query = "SELECT * FROM tabelle WHERE id = 3";

Ci ho preso?


Si esattamente vorrei inserire automaticamente le query per ogni pagina senza dover scrivere per ogni pagina
PHP:
$query = "SELECT * FROM tabelle WHERE id = 1";
PHP:
$query = "SELECT * FROM tabelle WHERE id = 2";
PHP:
$query = "SELECT * FROM tabelle WHERE id = 3";
ecc..

Scusa se non mi sono spiegata.
 
Come hai detto tu precedentemente utilizzi in supporto una variabile come indice e ogni volta che ripete il ciclo aumenta di 1.
 
  • Mi piace
Reazioni: FAK
Si esattamente vorrei inserire automaticamente le query per ogni pagina senza dover scrivere per ogni pagina
PHP:
$query = "SELECT * FROM tabelle WHERE id = 1";
PHP:
$query = "SELECT * FROM tabelle WHERE id = 2";
PHP:
$query = "SELECT * FROM tabelle WHERE id = 3";
ecc..

Scusa se non mi sono spiegata.
Ok allora:

PHP:
for (int $i = 0; $i < N; $i += 1) {
    $nomeFile = 'test' . $i . '.php';
    $contenutoFile = '$query  = "SELECT * FROM tabella WHERE id = ' . $i;
    file_put_contents($nomeFile, $contenutoFile);
}

Lo scheletro del codice dovrebbe essere questo.

L'ho scritto di getto e quindi potrebbero esserci dei warning o piccoli errori, tipo non so se il PHP ti faccia concatenare una stringa con un intero, ad esempio:
PHP:
$nomeFile = 'test' . $i .'php';

A parte questi piccoli errori che puoi correggere tranquillamente, questo codice dovrebbe risolvere il tuo problema.
 
  • Mi piace
Reazioni: FAK
Grazie a tutti per l'aiuto.
L'errore era nella concatenazione.

se serve a qualcuno ho risolto così

Codice:
include "connessione.php";
$i=1;
while ($i < 50){
$a="....";
$b=$i;
$c="....";
$file = fopen("test$i.php","w");
echo fwrite($file,$a.$b.$c);
fclose($file);
$i++;
}
 
  • Mi piace
Reazioni: driverfury