Author Topic: Ø Falsch - Code wird falsch berechnet, Help :-(  (Read 7629 times)

0 Members and 1 Guest are viewing this topic.

Offline Habi86

  • Newbie
  • *
  • Posts: 46
    • View Profile
Ø Falsch - Code wird falsch berechnet, Help :-(
« on: December 04, 2009, 08:13:48 PM »
Hi all!

original:

Code: [Select]
<?php 

/* Neue Blätter pro Jahr im Durchschnitt 1
Neue Blütentriebe pro Jahr im Durchschnitt */

$q=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' GROUP by jahr ");
$q1=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' AND eigenschaft='1' ");
$q2=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' AND eigenschaft='2' ");

$anz_jahre=@mysql_num_rows($q);
$anz_blx=@mysql_num_rows($q1);
$anz_bl_ent= @mysql_num_rows($q2);

if(
$anz_jahre!=0){$blx_p_jahr=$anz_blx/$anz_jahre;}
if(
$anz_jahre!=0){$bl_p_jahr=($anz_blx-$anz_bl_ent)/$anz_jahre;}

if(
$anz_jahre!=0){
echo 
'Anzahl Jahre '.@mysql_num_rows($q).'<br>';
echo 
'neue Blätter gesamt: '.@mysql_num_rows($q1).'<br>';
echo 
'Blätter entfernt gesamt: '.@mysql_num_rows($q2).'<br>';

echo 
'neue Blätter pro Jahr im Durchschnitt: '.round($blx_p_jahr,2).'<br>';
echo 
'Blätter pro Jahr im Durchschnitt: '.round($bl_p_jahr,2).'<br>';
// Blatt entfernt müssen abgezogen werden!
}
?>


Geändert auf:

Code: [Select]
<?php 

/* Neue Blätter pro Jahr im Durchschnitt 1
Neue Blütentriebe pro Jahr im Durchschnitt */

$q=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' GROUP by jahr ");
$q1=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' AND eigenschaft='3' ");
$q2=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' AND eigenschaft='10' ");
$q3=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' AND eigenschaft='4' ");
$q4=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' AND eigenschaft='5' ");
$q5=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' AND eigenschaft='6' ");

$anz_jahre=@mysql_num_rows($q);
$anz_blx=@mysql_num_rows($q1);
$anz_bl_ent= @mysql_num_rows($q2);

if(
$anz_jahre!=0){$blx_p_jahr=$anz_blx/$anz_jahre;}
if(
$anz_jahre!=0){$bl_p_jahr=($anz_blx-$anz_bl_ent)/$anz_jahre;}

if(
$anz_jahre!=0){
echo 
'Eintragen in '.@mysql_num_rows($q).' Jahr(en)<br><br>';
echo 
'Neues Herzblatt / Neuer Neutrieb gesamt: '.@mysql_num_rows($q1).'<br>';
echo 
'Blatt / Trieb entfernt gesamt: '.@mysql_num_rows($q2).'<br>';
echo 
'Kindel gesamt: '.@mysql_num_rows($q3).'<br>';
echo 
'Blütentriebe gesamt: '.@mysql_num_rows($q4).'<br>';
echo 
'Seitentriebe gesamt: '.@mysql_num_rows($q5).'
</td><td width="448">
'
;

echo 
'Ø neue Blätter / NT pro Jahr: '.round($blx_p_jahr,2).'<br>';
echo 
'Ø Blütentriebe im Jahr: '.round($blx_p_jahr,2).'<br>';
echo 
'Ø Seitentriebe im Jahr: '.round($blx_p_jahr,2).'<br>';
// echo 'Blätter pro Jahr im Durchschnitt: '.round($bl_p_jahr,2).'<br>';
// Blatt entfernt müssen abgezogen werden!

}
?>

Und zwar wird der Durchschnitt falsch berechnet  :cry:
Ich verstehe auch nicht warum der 2er dort steht? ($blx_p_jahr,2)


Vielleicht kann mir hier jemand helfen damit die Ø endlich richtig ausgewertet werden.
Komm einfach nicht drauf...  :oops:

Liebe Grüße,
Habi




Rembrandt

  • Guest
Re: Ø Falsch - Code wird falsch berechnet, Help :-(
« Reply #1 on: December 04, 2009, 08:57:00 PM »
Hi!
stell die die sql tabellen hier rein, damit man sie selber anlegen kann.

und dann welche ergebnisse du haben möchtest.

die '2' bedeutet auf wieviele nachkommstellen gerundet werden soll.


echo round(5.0452);    // 5.05
echo round(5.0552);    // 5.06



mfg Andi
« Last Edit: December 04, 2009, 09:11:25 PM by Rembrandt »

Offline Habi86

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: Ø Falsch - Code wird falsch berechnet, Help :-(
« Reply #2 on: December 04, 2009, 10:47:02 PM »
Hi Andi  :D

Danke für die fixe Antwort  :)

Hab mal einen SS gemacht.
Wie man sieht sind

Ø Blütentriebe im Jahr: 3
Ø Seitentriebe im Jahr: 3

falsch.

Ich möchte nur wissen was ich ändern muss damit das funktioniert :) Möchte gerne mehrere Durchschnittsangaben hinzufügen.
Kannst du mir da weiter helfen?  :oops: :?:

Quote
stell die die sql tabellen hier rein, damit man sie selber anlegen kann
Hu?  :?:


Liebe Grüße,
Habi

Rembrandt

  • Guest
Re: Ø Falsch - Code wird falsch berechnet, Help :-(
« Reply #3 on: December 05, 2009, 06:17:47 AM »
...
Quote
stell die die sql tabellen hier rein, damit man sie selber anlegen kann
Hu?  :?:....
geh in phpadmin auf die tabelle 'vio_statistik ' oben auf den reiter 'exportieren', -  stell  im ganz linken feld (exportieren) auf SQL , - klicke auf ok und das ergebnis poste hier.

ich nehme mal an das deinen abfrage
$q=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' GROUP by jahr ");
falsch ist.
füge mal nach

$anz_jahre
=@mysql_num_rows($q);

das ein, print_r($anz_jahre); und schau was da rauskommt

ganz ehrlich, deinen code nachzuvollziehen ist ein prüfung.  8O



Offline Habi86

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: Ø Falsch - Code wird falsch berechnet, Help :-(
« Reply #4 on: December 05, 2009, 05:13:40 PM »
SQL:
Ist es das was du brauchst?

Code: [Select]
--
-- Table structure for table `vio_statistik`
--

CREATE TABLE IF NOT EXISTS `vio_statistik` (
  `id` int(11) NOT NULL default '0',
  `to_id` int(11) NOT NULL default '0',
  `jahr` int(5) NOT NULL default '0',
  `monat` int(5) NOT NULL default '0',
  `datum` varchar(10) NOT NULL default '',
  `eigenschaft` int(1) NOT NULL default '0',
  KEY `id` (`id`)
) TYPE=MyISAM;

--
-- Dumping data for table `vio_statistik`
--

INSERT INTO `vio_statistik` (`id`, `to_id`, `jahr`, `monat`, `datum`, `eigenschaft`) VALUES
(1, 8, 2009, 4, '1239185940', 2),
(2, 8, 2009, 6, '1244456340', 1),
(9, 8, 2009, 9, '1253656800', 1),
(4, 8, 2008, 4, '1207951200', 1),
(5, 8, 2008, 12, '1228086000', 5),
(6, 8, 2008, 4, '1207951200', 4),
(12, 6, 2009, 11, '1259362800', 3),
(11, 6, 2009, 11, '1259276400', 1),
(10, 8, 2007, 12, '1196550000', 5),
(13, 6, 2009, 12, '1261609200', 4),
(14, 6, 2009, 12, '1260918000', 3),
(17, 24, 2009, 3, '1235862000', 3),
(16, 24, 2009, 2, '1233442800', 2),
(15, 24, 2009, 1, '1230764400', 1),
(18, 24, 2009, 4, '1238536800', 4),
(19, 24, 2009, 5, '1241128800', 5),
(20, 24, 2009, 6, '1243807200', 6),
(21, 24, 2009, 7, '1246399200', 7),
(22, 24, 2009, 8, '1249077600', 8),
(23, 24, 2009, 9, '1251756000', 9),
(24, 24, 2009, 10, '1254348000', 10),
(25, 24, 2009, 3, '1235948400', 3),
(28, 24, 2009, 3, '1238450400', 3),
(27, 24, 2009, 10, '1254434400', 10),
(29, 24, 2009, 3, '1236898800', 1),
(30, 29, 2009, 1, '1230764400', 1),
(31, 29, 2009, 2, '1233442800', 2),
(32, 29, 2009, 3, '1235862000', 3),
(33, 29, 2009, 4, '1238536800', 4),
(34, 29, 2009, 5, '1241128800', 5),
(35, 29, 2009, 6, '1243807200', 6),
(36, 29, 2009, 7, '1246399200', 7),
(37, 29, 2009, 8, '1249077600', 8),
(38, 29, 2009, 9, '1251756000', 9),
(39, 29, 2009, 2, '1233442800', 2);


Quote
ganz ehrlich, deinen code nachzuvollziehen ist ein prüfung.   8O
Wow wirklich... ? Hab dafür 140€ bezahlt... und seid ich überwiesen habe - will er keine Änderungen mehr machen - da er schon zuviel Zeit hineingesteckt hat, sagte er. Deshalb liegt meine Hoffnung ganz bei dir  :cry:

Hab das geändert wie du gesagt hast - hatte aber irgendwie keine Wirkung - naja mir ist nichts aufgefallen  :oops:

Eigentlich sollte
Code: [Select]
echo 'neue Blätter pro Jahr im Durchschnitt: '.round($blx_p_jahr,2).'<br>';im orig. korrekt funktionieren - aber neue Eingaben klappen nicht  :(

*verzweifel*

Liebe Grüße,
Habi




Rembrandt

  • Guest
Re: Ø Falsch - Code wird falsch berechnet, Help :-(
« Reply #5 on: December 05, 2009, 07:17:53 PM »

ersetze:
$anz_jahre=@mysql_num_rows($q);
mit:

//$anz_jahre=@mysql_num_rows($q);
$anz_jahre '5';


dann siehst du das es funktionieren würde, rede mit dem der muß das richtigstellen.
mit dieser DB abfrage, kannst du nichts ausrechnen.

$q
=@mysql_query(" SELECT id FROM vio_statistik  WHERE to_id='$to_id' GROUP by jahr ");


mfg Andi

Offline Habi86

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: Ø Falsch - Code wird falsch berechnet, Help :-(
« Reply #6 on: December 05, 2009, 07:38:52 PM »
Danke für deine Mühe  :wink:
Werde Ihn nochmal kontaktieren.


Eigenartig  8O "Ø neue Blätter / NT pro Jahr:" wird ja richtig berechnet - irgendwie *-*
Nur die 2 neuen (die ich hinzugefügt hab) geben den gleichen wert wie oben an.  :cry:

kompliziert kompliziert x.x