Kære udviklere,
Jeg sidder og hjælper en kammerat med at bygge et lille cms over hans portfolio-blog. Lige nu bygger jeg en klasse, som har til indhold af at hente informationer fra en tabel i databasen. Klassen skal indeholde flere unikke funktioner som blog kan genbruges til senere brug, ved at smide query strengen i en variabel, som bliver sendt op i funktionen.
Den henter også informationerne uden problemer, men kom ind i problemet med min while-løkke. Normalt opstiller jeg min while-løkke således:
- while($row = mysql_fetch_assoc($query)) // ...osv
Men skulle gerne have min variabel
$query et sted fra, og det har jeg ikke rigtig når jeg gør det som jeg gør.
Min klasse, DBConnect, ser således ud:
- class DBConnect
- {
- private $host;
- private $user;
- private $pass;
- private $dbna;
-
- public function __construct($host, $user, $pass, $dbna)
- {
- $this->host = $host;
- $this->user = $user;
- $this->pass = $pass;
- $this->dbna = $dbna;
- }
-
- protected function open()
- {
- $c = mysql_connect($this->host, $this->user, $this->pass);
- $d = mysql_select_db($this->dbna, $c);
- return (!$d ? exit(mysql_error()) : $d);
- }
-
- protected function close()
- {
- $close = mysql_close();
- return (!$close ? exit(mysql_error()) : $close);
- }
-
- protected function select($cmd)
- {
- $query = mysql_query($cmd);
- return (!$query ? exit(mysql_error()) : $query);
- }
-
- // Open DBConnect
- public function mysql_open()
- {
- return $this->open();
- }
-
- // Close DBConnect
- public function mysql_close()
- {
- return $this->close();
- }
-
- // Select
- public function mysql_select($cmd)
- {
- return $this->select($cmd);
- }
- }
-
- $db = new DBConnect("localhost", "dbuser", "dbpass", "dbname");
Så langt er jeg kommet med mit kald til tabellen, og udskrivningen:
- <?$db->mysql_open()?>
- <?$db->mysql_select("SELECT * FROM portfolio ORDER BY id DESC")?>
- <?php
- while($row = mysql_fetch_assoc()):
- echo '<div class="thumb_border"><div style="margin:9px;"><a href="'.$menu->menu().'portfolio/'.$row["id"].'/'.$row["title"].'/"><img src="'.$menu->menu().'images/portfolio/thumb/'.$row["bSti"].'" alt="" /></a></div></div>';
- endwhile;
- ?>
- <?$db->mysql_close()?>
Men mangler min variabel $query, som i kan se i min while-løkke. Håber at i forstår hvad jeg mener.
Indlæg senest redigeret d. 03.04.2012 15:12 af Bruger #16025