Avatar billede fancy Mester
08. november 2017 - 21:25 Der er 18 kommentarer og
1 løsning

Læg tal sammen i denne tabel

Hvad pokker gør jeg forkert her.

Jeg vil gerne ligge de tal ( Antal på tilmeldinger sammen) og skrive den samlede sum ud
Tabbellen kommer fra Form i WP.

mysql_connect($server , $brugernavn , $kode) or die(mysql_error());

echo "Forbundet til mysql server";

$res = mysql_query("SELECT SUM(text-587fe606bf599) as TOTAL FROM text-587fe606bf599");
$text-587fe606bf599 = mysql_fetch_array($res);
echo $text-587fe606bf599[TOTAL];
Avatar billede arne_v Ekspert
08. november 2017 - 21:33 #1
En MySQL tabel, et felt i den tabel og en PHP variabel der hedder det samme med et navn med en bindestreg i.

Det skal vist gaa galt.
Avatar billede arne_v Ekspert
08. november 2017 - 21:36 #2
Maaske:

$res = mysql_query("SELECT SUM(`text-587fe606bf599`) as TOTAL FROM `text-587fe606bf599`");
$a = mysql_fetch_array($res);
echo $a['TOTAL'];
Avatar billede fancy Mester
08. november 2017 - 21:49 #3
Jeg får nu denne fejl

Forbundet til mysql server
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /customers/1/4/4/langeskovborgerforening.dk/httpd.www/lbf/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 13
Avatar billede vagnk Juniormester
08. november 2017 - 22:06 #4
Du skal lige tage linket med
$link = mysql_connect($server , $brugernavn , $kode) or die(mysql_error());
$res = mysql_query($link, "SELECT SUM(text-587fe606bf599) as TOTAL FROM text-587fe606bf599");
Avatar billede fancy Mester
08. november 2017 - 22:16 #5
Hmm samme fejl
Avatar billede fancy Mester
08. november 2017 - 22:17 #6
Kommer til at tænke hvilken egenskab skal tabellen have lige er det en tekst
Avatar billede arne_v Ekspert
09. november 2017 - 01:04 #7
Proev og saet en:

or die(mysql_error())

paa mysql_query kaldet.
Avatar billede vagnk Juniormester
09. november 2017 - 01:28 #8
Check lige om feltet "text-587fe606bf599" er numerisk? Hvis VARCHAR er det en helt anden vej du skal.
Avatar billede fancy Mester
09. november 2017 - 19:23 #9
Jeg har omdøbt tabellen til INT men jeg får samme fejl

Koden er sådan her

mysql_connect($server , $brugernavn , $kode) or die(mysql_error());

echo "Forbundet til mysql server";


$res = mysql_query("SELECT SUM(`text-587fe606bf599`) as TOTAL FROM `text-587fe606bf599`");
$a = mysql_fetch_array($res);
echo $a['TOTAL'];
Avatar billede arne_v Ekspert
09. november 2017 - 19:40 #10
$res = mysql_query("SELECT SUM(`text-587fe606bf599`) as TOTAL FROM `text-587fe606bf599`");

->

$res = mysql_query("SELECT SUM(`text-587fe606bf599`) as TOTAL FROM `text-587fe606bf599`") or die(mysql_error());

og se hvilken fejl du faar.
Avatar billede fancy Mester
09. november 2017 - 19:43 #11
No database selected ??
Avatar billede arne_v Ekspert
09. november 2017 - 19:59 #12
mysql_select_db('databasenavn');
Avatar billede olsensweb.dk Ekspert
09. november 2017 - 20:00 #13
tested i phpmyadmin, da jeg anvender php7 kan jeg ikke teste code i det gamle mysql api da det er fjernet i php7
du bør snarest opdatere din WP til en nyere vertion der anvender mysqli eller PDO, ellers står du med håret i postkassen når din udbyder opdatere

hedder din collonne også text-587fe606bf599 ??, her har jeg givet collonnen et nyt navn

prøv dette i phpmyadmnin, så du ved om det er php eller sql der driller


test tabel
CREATE TABLE `text-587fe606bf599` (
  `id` int(11) NOT NULL,
  `tilmeldinger` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;


INSERT INTO `text-587fe606bf599` (`id`, `tilmeldinger`) VALUES
(1, 3),
(2, 4),
(3, 2),
(4, 2);

ALTER TABLE `text-587fe606bf599`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `text-587fe606bf599`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;COMMIT;

 
SELECT SUM(`tilmeldinger`) as TOTAL FROM `text-587fe606bf599`

output 11

læg mærke til at der er backtick omkring tabel navnet, som arne_v også viste i #2, da den skal fårstå det som noget tekst og ikke et regnestykke ( text - 587fe606bf599 )

prøv evt at lave et sql dump af din text-587fe606bf599 tabel (bare dummy data)
Avatar billede fancy Mester
09. november 2017 - 20:02 #14
mysql_connect($server , $brugernavn , $kode) or die(mysql_error());
echo "Forbundet til mysql server";
mysql_select_db('wp_vtwo_fm_data_6');
$res = mysql_query("SELECT SUM FROM (`text-587fe606bf599`) as TOTAL FROM `text-587fe606bf599`") or die(mysql_error());
$a = mysql_fetch_array($res);
echo $a['TOTAL'];

Men den siger stadig der ikke er valgt en database
Avatar billede fancy Mester
09. november 2017 - 22:22 #15
Error
SQL query:

CREATE TABLE  `text-587fe606bf599` (

`id` INT( 11 ) NOT NULL ,
`tilmeldinger` INT( 11 ) NOT NULL
) ENGINE = INNODB DEFAULT CHARSET = utf8 COLLATE = utf8_danish_ci;

MySQL said: Documentation

#1046 - No database selected
Avatar billede fancy Mester
09. november 2017 - 23:06 #16
Jeg har fundet frem til denne kode, den virker

$query = "SELECT * FROM wp_vtwo_fm_data_6";
$query_run = mysql_query($query);

$qty= 0;
while ($num = mysql_fetch_assoc ($query_run)) {
    $qty += $num['text-587fe606bf599'];
}
echo $qty;

tak for indsatsen
Avatar billede vagnk Juniormester
10. november 2017 - 11:11 #17
Tja, hvad man ikke magter at lave i SQL kan man altid loope sig gennem i php. Din løsning tyder kraftigt på at feltet er VARCHAR.

En SQL-metode havde været at bruge CAST (kapitel 12.10 i MySQL-manualen). Det var det jeg ville have foreslået hvis du havde svaret på min #8, men måske aner du intet om felttyper i MySQL?
Avatar billede fancy Mester
10. november 2017 - 19:11 #18
Nej jeg kender kun INT og VARCHAR og ved godt at INT er til tal, jeg er ringe til både databaser og php men syndes det er spændene. tak for hjælpen du har helt klart hjulpet mig vider.
Avatar billede vagnk Juniormester
10. november 2017 - 19:44 #19
Der bliver noget at sætte sig ind i. Bare hæng i og velkommen i klubben,
Vagn
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester