WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Nån säker på PHP? (https://www.wn.se/forum/showthread.php?t=9675)

Davve 2005-09-05 13:29

<?php
$mysql_connect("host","anv","pass);
$sql = "SELECT SUM(kollumn) FROM tabell";
$result = mysql_query($sql) or die(mysql_error());
print $result;
?>

det ska funka men det visas inget resultat... Vill summera en kolumn...

Någon som hittar felet?

grazzy 2005-09-05 13:32

Vad får dig att tro att $result skulle returnera något? Det är väl en referens till en datastruktur..

http://php.net/mysql_fetch_array

Davve 2005-09-05 13:50

Fan va svårt detta ska va då :) vi e 2 som försöker och inget funkar :)

grazzy 2005-09-05 13:55

Lär dig debugga istället ;)

http://php.net/mysql_error
http://php.net/mysql_errno

Westman 2005-09-05 14:01

Citat:

Originally posted by Davve@Sep 5 2005, 13:29
<?php
$mysql_connect("host","anv","pass);
$sql = "SELECT SUM(kollumn) FROM tabell";
$result = mysql_query($sql) or die(mysql_error());
print $result;
?>

Grazzy har rätt och ni får skämmas för om ni tog och läste hjälpen till php så står det klart och tydligt i den hur man ska göra. :D

Citat:

Attempting to print $result won't allow access to information in the resource
One of the mysql result functions must be used
See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.


Charlie 2005-09-05 14:09

<?php
$mysql_connect("host","anv","pass);
$sql = "SELECT SUM(kollumn) FROM tabell";
$result = mysql_query($sql) or die(mysql_error());
print $result;
?>

Som grazzy skrev

<?php
$mysql_connect("host","anv","pass);
$sql = "SELECT SUM(kollumn) FROM tabell";
$result = mysql_query($sql) or die(mysql_error());
$result_fetched = mysql_fetch_row ( $result );
print $result_fetched[0];
?>

Edit: Meh, kanske borde ta och uppdatera innan jag postar så att jag kan se om någon annan har skrivit ett inlägg, under halvtimmen som sidan har varit öppen :-)

Davve 2005-09-05 14:16

Tack Xyzi, är nu skylldig dig en birra :)

grazzy 2005-09-05 14:17

Mja, snarare så att xyzi är skyldig dig en eftersom att du inte lärde dig nåt ;)

Davve 2005-09-05 15:30

:) klart jag lärde mig :) nu kommer jag fixa det nästa gång :) Tack för hjälpen, du oxå Grazzy...

Davve 2005-09-05 15:56

Nu när man fått så mycket hjälp så kanske ni kan hjälpa med en sista grej :)

$sql = "SELECT Count(kolumn) AS klick FROM tabell";

Så ser SQL ut för att räkna alla poster, nu vill jag även räkna dagens poster som är sparade i en kolumn i samma tabell. Datum är sparade så här: 2005-05-26 18:59:47

Jätte tacksam för hjälpe i vanlig ordning

grazzy 2005-09-05 15:58

http://dev.mysql.com/doc/mysql/en/date-and...-functions.html

Davve 2005-09-05 16:11

det blir ändå svårt Grazzy när man inte förstår sig så mycket på det, vore enklare med en SQL sats för det jag söker

Davve 2005-09-05 16:29

klar

Westman 2005-09-05 18:28

Så svårt var det tydligen inte. Eller? =)

Menion 2005-09-06 05:20

Om det nu så att du har fler än en rad som du vill skriva ut:

Citat:

<?php
$mysql_connect("host","anv","pass);
$sql = "SELECT SUM(kollumn) FROM tabell";
$result = mysql_query($sql) or die(mysql_error());

while ($result_row = mysql_fetch_row ($result)) {
echo($result_row[0]);
}
?>

Försök att använda språkkonstruktorn echo istället för print då print alltid vill returnerar en etta (1). Tar upp något mer minne, även om det är minimalt.

zoran 2005-09-06 06:58

Citat:

Originally posted by Menion@Sep 6 2005, 05:20
Om det nu så att du har fler än en rad som du vill skriva ut:

Citat:

<?php
$mysql_connect("host","anv","pass);
$sql = "SELECT SUM(kollumn) FROM tabell";
$result = mysql_query($sql) or die(mysql_error());

while ($result_row = mysql_fetch_row ($result)) {
echo($result_row[0]);
}
?>

Försök att använda språkkonstruktorn echo istället för print då print alltid vill returnerar en etta (1). Tar upp något mer minne, även om det är minimalt.

Men nu returnerar aggregatfunktionen SUM() bara en rad :).

guran 2005-09-06 11:08

Det tyck fungara för dig men normalt ska man välja vilken databas man ska arbeta mot efter det att man har anslutit mot MySQL. Exempel: mysql_select_db("databasen")

Ditt andra problem uppfattar jag som så att du vill räkna antal poster per dag. Här är en lösning:

SELECT Count(kolumn) AS klick, DATE_FORMAT(kolumn_datum), '%Y-%m-%d') AS datum FROM tabell GROUP BY datum


Alla tider är GMT +2. Klockan är nu 12:58.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson