Gå til innhold

tabular output, får det ikke til å virke!


Anbefalte innlegg

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 av Lord_Linus
Lenke til kommentar
Videoannonse
Annonse

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 :no::cry::cry:

Lenke til kommentar

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...