Lord_Linus Skrevet 9. november 2004 Del Skrevet 9. november 2004 (endret) Holder fremdeles på med litt php, og det ser ut som jeg igjen trenger deres xperthjelp, som har hjulpet meg så mange ganger før. Prøver nå å få skrive ut verdiene fra radene ut i en tabell. Men jeg får det ikke til å virke, har sett over koden nå i et par dager, men jeg ser ingen feil, kanskje noen av dere gjør det? Har lagd en klasse som jeg inkl i tableoutput.php. Her koden først klassen: <?php class mysql { private $linkid; // MySQL link identifer private $host; // MYSQL server host private $user; // MySQL user private $pswd; // MySQL passsword private $db; // MySQL database private $result; // MySQL result private $querycount; // MySQL queries executed /* Classs constructor. Initializes the $host, $user, $pswd and $db fields. */ function _construct($host, $user, $pswd, $db) { $this->host = $host; $this->user = $user; $this->pswd = $pswd; $this->db = $db; } /* Connects to the MySQL database server. */ function connect() { try { $this->linkid = @mysql_connect($this->host,$this->user,$this->pswd); if (! $this->linkid) throw new Exception("Could not connect to the MySQL server."); } catch (Exception $e) { die($e->getMessage()); } } /* Select the MySQL database. */ function select() { try { if (! @mysql_select_db($this->db, $this->linkid)) throw new Exception("Could not connect to the MySQL database. "); } catch (Exception $e) { die($e->getMessage()); } } /* Execute database query. */ function query($query) { try { $this->result = @mysql_query($query,$this->linkid); if (! $this->result) throw new Exception("The database query failed."); } catch (Exception $e) { echo($e->getMessage()); } $this->querycount++; return $this->result; } /* Determine total rows affected by query. */ function affectedRows() { $count = @mysql_affected_rows($this->linkid); return $count; } /* Determine total rows returned by query. */ function numRows() { $count = @mysql_num_rows($this->result); return $count; } /* Return query result row as an object. */ function fetchObject() { $row = @mysql_fetch_object($this->result); return $row; } /* Return query result row as an indexed array. */ function fetchRow() { $row = @mysql_fetch_row($this->result); return $row; } /* Return query result row as an associative array. */ function fetchArray() { $row = @mysql_fetch_array($this->result); return $row; } /* Return total number queries executed during lifetime of this object. Not required, but interesting nonethless. */ function numQueries() { return $this->querycount; } /* Return the number of fields in a result set. */ function numberFields() { return @mysql_num_fields($this->result); } /* Return a field name given an integer offset. */ funciton fieldName($offset) { return @mysql_field_name($this->result, $offset); } } function getResultAsTable() { if ($this->numrows() > 0) { //Start the table $resultHTML = "<table border='1'>\n<tr>\n"; //putput the table header $fieldCount = $this->numberFields(); for ($i=0; $i < $fieldCount; $i++) { $rowName = $this->fieldName($i); $resultHTML .= "<th>$rowName</th>"; } # end for //close the row $resultHTML .= "</tr>\n"; //Output the table data while ($row = $this->fetchRow()) { $resultHTML .= "<tr>\n"; for ($i = 0; $i < $fieldCount; $i++) $resultHTML .= "<td>".htmlentities($row[$i])."</td>"; $resultHTML .= "</tr>\n"; } # end while // close the table $resultHTML .= "</table>"; } else { $resultHTML = "No result found"; } return $resultHTML; } ?> Og er tableoutput.php <?php include "mysql.class.php"; $mysqldb = new mysql("localhost","root","triadpass","frizells"); $mysqldb->connect(); $mysqldb->select(); //execute query $mysqldb->query("SELECT produktid AS Produktid, name AS Name,lagerstatus as Lagerstatus pris as Pris From rc_bil"); //return the table echo $mysqldb->getResultAsTable(); ?> Håper noen kan hjelpe meg. Endret 11. november 2004 av Lord_Linus Lenke til kommentar
Lord_Linus Skrevet 14. november 2004 Forfatter Del Skrevet 14. november 2004 Får det fremdeles ikke til å virke. Har lagd den databasen som brukes i boken, men får det fremdeles ikke til. Har lagd noen enkle spørringer, men får dem ikke til å funke, begge to gjør det samme, men den ene bruker den klassen som er lagd, men får ikke noe ut på skjermen når jeg kjører dem, er det noe annet som galt? noen instillinger som ikke er gjort? Vel her er koden på de to spørringene: den som ikke bruker klassen: <?php // connect to the db server and select a database $linkid = mysql_pconnect("localhost","root","triadpass") or die("Could not connect to the MySql server."); $db = @mysql_select_db("company", $linkid) or die("could not connect to the MySql database.") //Execute the query $result = $mysql_query("SELECT name, price FROM product ORDER by rowID") or die("The database query failed."); // Output the results while($row = mysql_fetch_object($result)) echo "$row->name (\$$row->price)<br />"; ?> og den som bruker klassen: <?php include "mysql.class.php"; // create a new mysql object $mysqldb = new mysql("localhost","root","triadpass","frizells"); // connect to the database server and select a database $mysqldb->connect(); $mysqldb->select(); //execute the query $mysqldb->query("SELECT name, price FROM product ORDER by rowID"); // output the results while ($row = mysqldb->fetchObject()) echo "$row->name (\$$row->pris)<br />"; ?> Takker for den som gidder å hjelpe meg med det, er så kjedelig å ikke komme videre Lenke til kommentar
Lord_Linus Skrevet 14. november 2004 Forfatter Del Skrevet 14. november 2004 Finnes det en alternativ måte å skrive ut info fra en mysql tabell ut i en html tabell? Har kikket litt rundt på nettet, men har ikke funnet noe, kanskje noen som til og med gidder å skrive en slik kode til meg? Lenke til kommentar
Xqtor Skrevet 14. november 2004 Del Skrevet 14. november 2004 Synes kanskje du skriver det litt knotete, men det kan være min 'gamle vane' på å skrive ut verdiene annerledes. Er det kun selve HTML-utskriften du skal endre? Lenke til kommentar
Lord_Linus Skrevet 15. november 2004 Forfatter Del Skrevet 15. november 2004 Det er vel html utskriften som jeg skal prøve å få til å fungere. Driver å lager en "liksom" web-butikk for å lære meg litt php,mysql, css++. Har startet med php&mysql, har klart å lage forms for å skrive til en db, for å oppdatere en bestemt rad, og for å slette en rad i en db. Det jeg holder på med nå er for å skrive ut tabellen rc_bil ut i en html tabell, slik som finnes på alle webshops som inneholder produktene deres, men det får jeg ikke til å fungere. Og da trenger jeg litt hjelp. Eller var det koden som var rottete? Lenke til kommentar
Torbjørn Skrevet 15. november 2004 Del Skrevet 15. november 2004 humm. vet ikke om dette hjelper, men i hver rad som du får fra mysql, har du i utgangspunktet kun en verdi som du trenger. ser ut som du prøver å hente flere verdier fra hver rad? Lenke til kommentar
Lord_Linus Skrevet 15. november 2004 Forfatter Del Skrevet 15. november 2004 Men hvis det er enkelte ting fra den raden jeg ikke vil ha med da? Hvordan gjør jeg det da, vil f.eks ikke at rowID skal være med. Prøvde å fike litt på spørringene, men det hjalp ikke. Noe annet jeg kan gjøre? Lenke til kommentar
Torbjørn Skrevet 15. november 2004 Del Skrevet 15. november 2004 tror jeg var litt på syre når jeg skrev forige innlegg. hvorfor ikke begynne litt enklere? mysql_connect mysql_select_db mysql_query mysql_fetch_assoc de 4 funksjonen burde vært alt du trenger for å komme igang med din første mysql/php side. og en while loop. Lenke til kommentar
Torbjørn Skrevet 15. november 2004 Del Skrevet 15. november 2004 informasjon om dem finner du på www.php.net Lenke til kommentar
Lord_Linus Skrevet 15. november 2004 Forfatter Del Skrevet 15. november 2004 Har jo fått nesten alt jeg har lagd til å fungere, men det er akkurat dette som er problemet. Får bare prøve litt til, har jo ikke noe annet valg Lenke til kommentar
Lord_Linus Skrevet 15. november 2004 Forfatter Del Skrevet 15. november 2004 Lagde den her.. fungerte men ikke som jeg ville, fikk opp en tabell som aldri ville slutte. Noen som ser hva som er feil. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <?php // Connect to the db server and select a database mysql_connect("localhost","root","triadpass"); mysql_select_db("frizells"); $query = "SELECT rowID, name, produktid, lagerstatus, pris FROM rc_bil ORDER BY rowID"; include("includes.php"); echo "<table border='1'> <tr><th>$rowID2</th><th>$produsent2</th><th>$navn2</th><th>$lagerstatus2</th> <th>$pris2</th> </tr>"; while ($row =mysql_fetch_row) { list($rowID,$produsent,$name,$lagerstatus,$pris) = $row; echo "<tr><td>$rowID</td><td>$produsent</td><td>$name</td><td>$lagerstatus</td><td>$pris</td></tr>"; } echo "</table>"; ?> </BODY> </HTML> Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå