Hjälp med PHP och MySQL

Generella mjukvarufrågor som inte är beroende av vilket operativsystem som körs skall ställas i denna kategori
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
jompa68
Wannabe
Inlägg: 20
Blev medlem: 04 aug 2009, 18:11
Ort: Hofors

Hjälp med PHP och MySQL

Inlägg av jompa68 »

Hej, har slagits ett tag mitt PHP skript för att visa data ifrån en tabell...får inte till det :oops:

Kod: Markera allt

<?php
include_once ("/volume1/web/mysql_settings_el_a.php");
# Connect to the database and select a db
mysql_connect ($mysqlHost, $mysqlUsername, $mysqlPassword);
mysql_select_db ($mysqlDatabase);
$result = mysql_query("SELECT DATE_FORMAT( DATE, '%Y-%m' ) AS Manad, (
MAX( counts ) - MIN( counts )
) /10000 AS EL
FROM temps
WHERE DATE
BETWEEN DATE_SUB( NOW( ) , INTERVAL 12 
MONTH ) 
AND NOW( ) 
GROUP BY LEFT( DATE, 10 ) 
ORDER BY Manad DESC");
//Table starting tag and header cells
echo "<table border='1'><tr><th>Månad</th><th>Elförbrukning</th></tr>";
while($row = mysql_fetch_array($result)){
//Display the results in different cells
echo "<tr><td>" . $row['Manad'] . "</td><td>" . $row['EL'] . "</td></tr>";
//Table closing tag
echo "</table>";
?>
Bergalot
Gillar hemautomation
Inlägg: 25
Blev medlem: 29 mar 2012, 19:29
Ort: Umeå

Re: Hjälp med PHP och MySQL

Inlägg av Bergalot »

Tja!

Berätta lite vad du vill få ut av mysql kommandot. Så kanske det blir lättare att hjälpa dig.

Är inte så haj på msql kommadon men gissar på att de är något fel på din långa query.

Jag skulle börja med att lägga in lite säkerhetscheckar vid anslutningen till mysql-databasen.
T.ex:

Kod: Markera allt

$link = mysql_connect ($mysqlHost, $mysqlUsername, $mysqlPassword);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
$db = mysql_select_db ($mysqlDatabase);
if(!$db) {
die("Unable to select database");		
}
jompa68
Wannabe
Inlägg: 20
Blev medlem: 04 aug 2009, 18:11
Ort: Hofors

Re: Hjälp med PHP och MySQL

Inlägg av jompa68 »

Hej igen, fick fart på det efter man har fått sovit lite och börjat om med "tänket" nu på morgonen :)
Gjorde som du sa Bergalot och la in lite checks i koden och såg att uppkopplingen var ok iaf.
Felet var lite längre ner i koden...ett par hakar på fel ställe :oops:

Så här blev resultatet iaf, och jag blev nöjd :D

Kod: Markera allt

<?php
include_once ("/volume1/web/mysql_settings_el_a.php");
# Connect to the database and select a db
mysql_connect ($mysqlHost, $mysqlUsername, $mysqlPassword) or die(mysql_error());
# echo "Connected to MySQL<br />";
 mysql_select_db ($mysqlDatabase) or die(mysql_error());
# echo "Connected to Database";
# Get data from db and store it in a array
$result = mysql_query("SELECT DATE_FORMAT( DATE, '%Y-%m' ) AS Manad, (
MAX(counts) - MIN(counts)
) /10000 AS EL
FROM temps
WHERE DATE
BETWEEN DATE_SUB( NOW( ) , INTERVAL 12 
MONTH ) 
AND NOW( ) 
GROUP BY LEFT( DATE, 5 ) 
ORDER BY Manad DESC");
# Table starting tag and header cells
echo "<table border='0'><tr><th>Månad</th><th>Elförbrukning</th></tr>";
while($row = mysql_fetch_array($result)){
# Display the results in different cells
echo "<tr><td width=100 align=center>" . $row['Manad'] . "</td><td width=150 align=center>" . $row['EL'] . "</td></tr>";

}
# Table closing tag
echo "</table>";
?>
Bergalot
Gillar hemautomation
Inlägg: 25
Blev medlem: 29 mar 2012, 19:29
Ort: Umeå

Re: Hjälp med PHP och MySQL

Inlägg av Bergalot »

Sitter å kikar lite på queryn. Hur fungerar den?

Antar att du har sparat impulser och att du har en elmätare som visar 10000/kWh.
meningen är väl att visa antalet kwh per månad? :)
jompa68
Wannabe
Inlägg: 20
Blev medlem: 04 aug 2009, 18:11
Ort: Hofors

Re: Hjälp med PHP och MySQL

Inlägg av jompa68 »

Queryn visar elförbrukning per månad och nu även kostnad. Lagt in mitt avtalspris i query.

Kod: Markera allt

<?php
include_once ("/volume1/web/mysql_settings_el_a.php");
# Connect to the database and select a db
mysql_connect ($mysqlHost, $mysqlUsername, $mysqlPassword) or die(mysql_error());
# echo "Connected to MySQL<br />";
 mysql_select_db ($mysqlDatabase) or die(mysql_error());
# echo "Connected to Database";
# Get data from db and store it in a array
$result = mysql_query("SELECT DATE_FORMAT( DATE, '%Y-%m' ) AS Manad, (
MAX(counts) - MIN(counts)
) /10000 AS EL, (
MAX(counts) - MIN(counts)
) /10000 * 0.973 as Kostnad
FROM temps
WHERE DATE
BETWEEN DATE_SUB( NOW( ) , INTERVAL 12 
MONTH ) 
AND NOW( ) 
GROUP BY LEFT( DATE, 5 ) 
ORDER BY Manad DESC");
# Table starting tag and header cells
echo "<table border='0'><tr><th><h2>Månad</h2></th><th><h2>Elförbrukning</h2></th><th><h2>Kostnad</h2></th></tr>";
while($row = mysql_fetch_array($result)){
# Display the results in different cells
echo "<tr><td width=100 align=center>" . $row['Manad'] . "</td><td width=150 align=center>" . number_format($row['EL'],2) . " kWh</td><td width=150 align=center>" . number_format($row['Kostnad'],2) . " SEK</td></tr>";

}
# Table closing tag
echo "</table>";
?>
Skriv svar