PHP Abfrage keine Daten dann 0

wolle-

Mitglied
Schönen Guten Morgen alle zusammen!

Ich habe eine Formular, in dem ich PHP Daten anzeigen lasse.

Hier ein Beispiel:

Code:
<td>durchsch. Prod-Kr&auml;fte HW [Anzahl]</td>
                    <td><?=$daten[F01]?></td>
                      <td>
                        <?=$daten2[F01]?>
                      </td>
       <td>
                        <?=$daten3[F01]?>
                      </td>
       <td>
                        <?=$daten4[F01]?>
                      </td>
       <td>
                        <?=$daten5[F01]?>
                      </td>
       <td>
                        <?=$daten6[F01]?>
                      </td>
       <td>
                        <?=$daten7[F01]?>
                      </td>
       <td>
                        <?=$daten8[F01]?>
                      </td>
       <td>
                        <?=$daten9[F01]?>
                      </td>
       <td>
                        <?=$daten10[F01]?>
                      </td>
       <td>
                        <?=$daten11[F01]?>
                      </td>
       <td>
                        <?=$daten12[F01]?>
                      </td>

So, mein Problem ist, dass die Tabelle beim ausdrucken bzw. ansehen zerhackt aussieht

Dewegen habe ich das hier versucht:

Code:
   <? if ($daten[F05]=="")
       {
    $daten[F05]=0;
    }
    if ($daten2[F05]=="")
       {
    $daten2[F05]=0;
    }
    if ($daten3[F05]=="")
       {
    $daten3[F05]=0;
    }
    if ($daten4[F05]=="")
       {
    $daten4[F05]=0;
    }
    if ($daten5[F05]=="")
       {
    $daten5[F05]=0;
    }
    if ($daten6[F05]=="")
       {
    $daten6[F05]=0;
    }
    if ($daten7[F05]=="")
       {
    $daten7[F05]=0;
    }
    if ($daten8[F05]=="")
       {
    $daten8[F05]=0;
    }
    if ($daten9[F05]=="")
       {
    $daten9[F05]=0;
    }
    if ($daten10[F05]=="")
       {
    $daten10[F05]=0;
    }
    if ($daten11[F05]=="")
       {
    $daten11[F05]=0;
    }
      if ($daten12[F05]=="")
       {
    $daten12[F05]=0;
    }
    
     if ($daten[F06]=="")
       {
    $daten[F06]=0;
    }
    if ($daten2[F06]=="")
       {
    $daten2[F06]=0;
    }
    if ($daten3[F06]=="")
       {
    $daten3[F06]=0;
    }
    if ($daten4[F06]=="")
       {
    $daten4[F06]=0;
    }
    if ($daten5[F06]=="")
       {
    $daten5[F06]=0;
    }
    if ($daten6[F06]=="")
       {
    $daten6[F06]=0;
    }
    if ($daten7[F06]=="")
       {
    $daten7[F06]=0;
    }
    if ($daten8[F06]=="")
       {
    $daten8[F06]=0;
    }
    if ($daten9[F06]=="")
       {
    $daten9[F06]=0;
    }
    if ($daten10[F06]=="")
       {
    $daten10[F06]=0;
    }
    if ($daten11[F06]=="")
       {
    $daten11[F06]=0;
    }
      if ($daten12[F06]=="")
       {
    $daten12[F06]=0;
    }
      if ($daten[F06]=="")
       {
    $daten[F06]=0;
    }
    if ($daten2[F06]=="")
       {
    $daten2[F06]=0;
    }
    if ($daten3[F06]=="")
       {
    $daten3[F06]=0;
    }
    if ($daten4[F06]=="")
       {
    $daten4[F06]=0;
    }
    if ($daten5[F06]=="")
       {
    $daten5[F06]=0;
    }
    if ($daten6[F06]=="")
       {
    $daten6[F06]=0;
    }
    if ($daten7[F06]=="")
       {
    $daten7[F06]=0;
    }
    if ($daten8[F06]=="")
       {
    $daten8[F06]=0;
    }
    if ($daten9[F06]=="")
       {
    $daten9[F06]=0;
    }
    if ($daten10[F06]=="")
       {
    $daten10[F06]=0;
    }
    if ($daten11[F06]=="")
       {
    $daten11[F06]=0;
    }
      if ($daten12[F06]=="")
       {
    $daten12[F06]=0;
    }
    ?>

SOWEIT ja auch ganz gut, ich meine funktionieren tut es. Es kommen aber noch so 200 abfragen. Da bin ich ja bei dieser Methode zum abfragen alleine bei 1200 Zeilen.
Kann man das Komprimieren oder so?

Wäre schön wenn mir jemand Helfen bzw. einen Tipp geben könnt.

Gruß Wolle :confused:
 
Hi,

aus Mysql:


Code:
$sql="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='01' AND Jahr='$Jahr'";
$daten_q = mysql_query($sql,$conn);
$daten = mysql_fetch_array($daten_q);
$sql2="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='02' AND Jahr='$Jahr'";
$daten_q2 = mysql_query($sql2,$conn);
$daten2 = mysql_fetch_array($daten_q2);
$sql3="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='03' AND Jahr='$Jahr'";
$daten_q3 = mysql_query($sql3,$conn);
$daten3 = mysql_fetch_array($daten_q3);
$sql4="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='04' AND Jahr='$Jahr'";
$daten_q4 = mysql_query($sql4,$conn);
$daten4 = mysql_fetch_array($daten_q4);
$sql5="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='05' AND Jahr='$Jahr'";
$daten_q5 = mysql_query($sql5,$conn);
$daten5 = mysql_fetch_array($daten_q5);
$sql6="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='06' AND Jahr='$Jahr'";
$daten_q6 = mysql_query($sql6,$conn);
$daten6 = mysql_fetch_array($daten_q6);
$sql7="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='07' AND Jahr='$Jahr'";
$daten_q7 = mysql_query($sql7,$conn);
$daten7 = mysql_fetch_array($daten_q7);
$sql8="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='08' AND Jahr='$Jahr'";
$daten_q8 = mysql_query($sql8,$conn);
$daten8 = mysql_fetch_array($daten_q8);
$sql9="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='09' AND Jahr='$Jahr'";
$daten_q9 = mysql_query($sql9,$conn);
$daten9 = mysql_fetch_array($daten_q9);
$sql10="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='10' AND Jahr='$Jahr'";
$daten_q10 = mysql_query($sql10,$conn);
$daten10 = mysql_fetch_array($daten_q10);
$sql11="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='11' AND Jahr='$Jahr'";
$daten_q11 = mysql_query($sql11,$conn);
$daten11 = mysql_fetch_array($daten_q11);
$sql12="SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Monat='12' AND Jahr='$Jahr'";
$daten_q12 = mysql_query($sql12,$conn);
$daten12 = mysql_fetch_array($daten_q12);
?>
 
Wieso fragst du nicht einfach alle Daten in einer Abfrage ab und spezifizierst die Verarbeitung? Was genau versuchst du eigentlich zu realisieren?
 
Wie meinst du das in einer?

Ist das zu umständlich wie ich das gemacht habe?
Hätte ich gewusst wie, hätte ich das bestimmt gemacht!

:-(
 
Der einzige Unterschied zwischen den Abfragen ist der Monat.
D.h. du bekommst am Ende, nach 12 Abfragen die gewünschten Daten eines Jahres.
Mit der Abfrage ...
PHP:
$query = "SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Jahr='$Jahr'";
.. erhälst du genau die selben Daten.

Deshalb die Frage: Warum machst du es so umständlich?
 
$query = "SELECT * FROM ".$tabletag."_kdkennzeichen WHERE Betrieb='$Betrieb' AND Jahr='$Jahr'";

Und wie sage ich dann bei der Ausgabe, welchen Monat ich haben Möchte?

Weil ich eine Tabelle habe, bei der alle Daten eines Betriebes von Monat 1 bis 12 nebeneinander in Spalten ausgegeben werden...
 
Sortiere die ausgewählten Datensätze einfach dem Monat nach und prüfe bei der Ausgabe, welcher Monat es ist.
 
Ich krieg das nicht hin.

ich zeig nochmal wie ich das meine:

Beispiel 1:

0 0 3 5 9 0 5 6 = 0 + 0 + 3 + 5 + 9 + 0 + 5 + 6 = 28 / 5 = 5,6
5 5 5 5 5 5 5 5 = 5 + 5 + 5 +5 +5 +5 +5 +5 = 40 / 8 = 5

Der darf immer nur durch die Anzahl der eingegebenen Zahlen teilen :-(

Wieso kriege ich das nicht hin? :suspekt:

Gruß Wolle
 
Probier mal folgende Abfrage:
PHP:
$query = '
	SELECT
	        `Monat`,
	        SUM(`spalte`) / SUM(IF(`spalte` > 0, 1, 0) AS `durchschnitt`
	  FROM
	        `'.$tabletag.'_kdkennzeichen`
	  WHERE
	        `Betrieb` = "'.mysql_real_escape_string($Betrieb).'"
	    AND `Jahr` = '.intval($Jahr).'
	  GROUP BY
	        `Monat`
	';
 
Zurück