Ho iniziato a lavorare con php e mysql oggi. Fondamentalmente, quello che ho, è una pagina vuota con dei pezzi che riempio dalla ricerca di un id in un database. Così sulla mia home page ho un URL che assomiglia a questo:php e mysql, best practice
<a href="content/display.php?id=id1">
E poi nel mio display.php ho questo:
<?php
include '../includes/header.php';
$id = $_GET['id'];
$mysqli = new mysqli('localhost','username','password','dbname');
if($result = $mysqli->query("SELECT * FROM portfolio WHERE id='".$id."'"))
{
while($row = $result->fetch_object())
{
$head = $row->head;
$img1 = $row->img1;
$img2 = $row->img2;
$img_url = $row->imgurl;
$img_thumb = $row->imgthumb;
$vid = $row->vid;
$swf = $row->swf;
$url = $row->url;
$url_text = $row->urltext;
$text = $row->text;
}
}
else echo $mysqli->error;
?>
E 'una tabella sparsa in che non tutti i campi avrà informazioni (molte potrebbero essere nulle). Fondamentalmente essi contiene i nomi di file e poi in html Ho codice che assomiglia a questo:
if(isset($img1))
{
echo '<img src="images/'.$img1.'" />';
}
Un paio di domande,
- È questo il modo migliore per farlo?
- Ogni volta che visito display.php, sto riaprendo una connessione al database, giusto? Non può essere buono ...
- Ho scelto di mettere i nomi dei file nel database, piuttosto che i nomi di interi percorsi, o anche i file veri e propri, immaginando che, se cambio il nome del file I può andare nel database e aggiornarlo per il file che voglio cambiare. Se cambio il percorso, posso semplicemente cambiarlo una volta in html. È la migliore idea?
Grazie!
(ri) l'apertura di una connessione al database è una pratica comune, non dovrebbe avere molta importanza. Mi chiedo perché tu voglia ogni proprietà dell'oggetto in un'altra variabile? – Wrikken
Suppongo quindi di non dover avvolgere l'intero sito in quel ciclo while ... Suppongo di poterlo fare anche se – JPC