bernhard.s: daten strukturieren

Beitrag lesen

Hallo Andreas,

dies Mal fange ich von unter an Dein Forumbeitrag zu beantworten.

Schreib nochmal ganz genau auf, wann, wo und wie oft der Aufruf erfolgt und was die Funktion genau machen soll, vielleicht kommen wir dann ja weiter.

Also, erst Mal muss ich mich entschuldigen, gestern habe ich ein Teil vom Code vergessen, es handelt sich um die Elementesliste, ich werde es heute vervollständigen. Wie Du aus dem Code entnehmen kannst, ist oben ein Reihe von Button (ich nenne sie hier r1), die Angaben über die Seitenzahl und Links eine Reihe (ich nenne sie hier r2) von Button, die Anzahl der Punkte auf eine Seite, eine dritte Reihe (ich nenne sie hier r3) ist darunter, die Elementliste. Wird die Seite aufgerufen bekommt der User die drei "Reihen", oben die Seiten (r1), links die Punkte (r2), in der "mitte" die Elementliste (r3). Nach dem laden der Seit ist "vorgewählt" ist die Seite eins, jetzt muss der User erst ein Punkt (r2) auf der linke Seite wählen, zu jedem Punkt(r2) kann er User ein Element aus der Elementlist (r3) in der "mitte" wählen. Hat der User ein Elelment(r3) gewählt soll die Seitenummer dahinter erscheine. Jetzt am konkretem Bsp. Auf der Seite 1 wählt der User in der Linke Buttonreihen(r2) ein Punkt als Bsp.: 3 aus danach wählt er ein Element aus der Elementenliste(r3) aus als Bsp.:8 aus, sobald er darauf auf den achten Element geklickt hat soll die grade ausgewählte Seitennummer dahinter stehen also die 1. Mein Gedanke war sich alle Punkt aus der Reihe r2 und alle Elementenummern r3 aus der Elementenliste zu sammeln. in einem Array, der sollte ungefähr so aussehen. seiten[1][3][8] Sofort nach dem Aufbau sollte dieser Array auch ausgegeben werden.

Ich hoffe Du hast es mich verstanden worum es mir geht. Jetzt zur weitern Punkten, die Du angesprochen hast.

Ich bin ehrlich gesagt nicht so ganz sicher, was Du eigentlich bezweckst. Wenn ich den PHP-Teil durch Buttons ersetze, dann sehe ich mehrere Reihen mit Zahlen beschrifteter Buttons. Die Funktion Werte wird allerdings durch keinen davon aufgerufen.

Sorry, wieder mein Fehler, ich habe gestern zur wenig gepostet. Zum PHP Teil, ja stimmt, eigentlich an dieser Steller macht das kein unterschied mehr.

<form name="artikel" action="" method="POST">   <script language=JavaScript>

Das sollte besser <script type="text/javascript"> heissen.

Danke für den Tipp.

Einige Variabelennamen sind vielleicht bissen unglücklich ausgewählt, es kann sein, dass die Namen nicht eindeutig sind :-( Die anderen Sachen, die Du angesprochen hast, habe ich weggelassen. jetzt hast Du kompletten Überblick über allen Funktionen.

Grüße Bernhard

Ab hier wider die Funktion: ... var punkte_zahl = new Array(4); var zahl_der_artikeln = "12"; var seiten = new Array(2); function werte(element, id_nr, wert1, wert2, wert3, wert4){

var wochen_nr = 14;  var layout_wahl = "dateiname"; // vertipt

if(document.artikel.dot_position.value != ""){

for(var i=1; i<=zahl_der_artikeln; i++){    if(element == i){     document.getElementById("bgc_"+element).style.backgroundColor= "#99CC33";     document.getElementById("position_nr_"+element).innerHTML = element;    } else {     document.getElementById("bgc_"+i).style.backgroundColor= "#FFFFFF";     document.getElementById("position_nr_"+i).innerHTML = "";    }   }

var punkt = document.artikel.dot_position.value; // welchen Punkt auf der linke Seite hat der User grade angeklickt   var seiteJ = document.artikel.gewaehlte_seite.value; //grade ausgewählte Seit in der Anzeigen

var gesammelte_werte = new Array(punkt, id_nr, wert1, wert2, wert3, wert4, wochen_nr, layout_wahl, zahl_der_artikeln, seiteJ);   parent.dot_content.ausgabe_content(gesammelte_werte);

parent.top.head.location.href = "../htm/head.php?WEITER=<%=session_id()%>&tabelle_layout=ja&main_id="+id_nr+"&week="+wochen_nr+"&page="+seiteJ+"&field="+punkt+"&layout="+layout_wahl;   var punktZahl = document.artikel.punkt_anzahl.value; // Die Anzahl der Punkte auf eine Seite

/*   Ab hier ist der Array "seiten" und alles was damit hängt.   */

seiten[seiteJ][punkt] = element; // Zeile 79   alert(seiten);   /*   Das habe ich heute geendert und es kommt folgenden Fehlermeldung:   Zeile:79   Zeichen:3   Fehler:Objekt erwartet   Code:0   URL: Serverdateipfad   /    /    for(var i=0; i<=punktZahl; i++){     if(i==(seiteJ-1)){      seiten[(seiteJ-1)] = new Array(i);     }    }/    //seiten[seiteJ-1][punkt-1] = element;    //seiten[seiteJ][punkt] = element;    /    for(var i=0; i<punktZahl; i++){     if(i== (punkt-1)){     //seiten[(seiteJ-1)][i] = new Array(element);     seiten[(seiteJ-1)][i] = element;     }    }    /    var aus="";    /    for(var i=1; i<=seiten.length; i++){     aus += seiten[0][i]+", "+seiten[i]+"\n";    }/    /    for (var i=1; i<=seiten.length; i++)    {     //if(seiten[i].length){      for (var j=1; j<=seiten[i].length; j++)      {      //aus += seiten[i][j] + " ";      aus += i+", "+j+ " ";      // Das Leerzeichen dient zum Trennen der Werte      }     //}     }    */    //alert(seiten.length+"\n\n"+seiten+"\n\n"+seiten[seiteJ-1][punkt-1]+"\n\n"+aus);

} else {   alert("Fehler, bitte wählen Sie zurerst auf der linke Seite ein Punkt aus.");  } } function seiten_zahl(seite_nr){

var wert_punkte = 0;  for(var i=1; i<=punkte_zahl.length; i++){   if(i == seite_nr){    wert_punkte = punkte_zahl[(i-1)];    document.getElementById("s_"+i).style.backgroundColor= "#BDE7FF";   } else {    document.getElementById("s_"+i).style.backgroundColor= "#CCCCCC";   }  }  if(wert_punkte == 0){   wert_punkte = punkte_zahl[0];  }

if(seite_nr){   document.artikel.gewaehlte_seite.value = seite_nr;   document.artikel.punkt_anzahl.value = wert_punkte;  } else {   document.artikel.gewaehlte_seite.value = 1;   document.artikel.punkt_anzahl.value = wert_punkte;  }

punkte_aufbau(wert_punkte); }

function punkte_aufbau(wert_punkte_nr){

/*  Die Variabel -auschalten- ist zuständig für das zurücksetzten alle Werte auf die Ausgangpositon beim wechseln zwischen den Seiten.  */  var ausschalten = 0;  for(var i=1; i<=4; i++){ // i<=4; nur Bsp. Wert   if(i == wert_punkte_nr){    ausschalten = 1;    document.getElementById("b_"+wert_punkte_nr).disabled=false;   } else {    if(i< wert_punkte_nr){     document.getElementById("b_"+i).disabled=false;    } else {     ausschalten = 1;     document.getElementById("b_"+i).disabled=true;    }   }  }

if(ausschalten == 1){   for(var i=1; i<=zahl_der_artikeln; i++){    document.getElementById("bgc_"+i).style.backgroundColor= "#FFFFFF";    document.getElementById("position_nr_"+i).innerHTML = "";   }   for(var i=1; i<=<%=$punkt_max%>; i++){    document.getElementById("b_"+i).style.color="#000000";    document.getElementById("b_"+i).style.fontWeight="normal";    document.getElementById("b_"+i).style.backgroundColor= "#CCCCCC";    document.artikel.dot_position.value = "";   }  } } function button_farbe(button_nr){

for(var i=1; i<=4; i++){ // i<=4; nur Bsp. Wert   if(button_nr == i){    document.getElementById("b_"+button_nr).style.color="#000000";    document.getElementById("b_"+button_nr).style.fontWeight="bold";    document.getElementById("b_"+button_nr).style.backgroundColor= "#99CC33";   } else {    document.getElementById("b_"+i).style.color="#000000";    document.getElementById("b_"+i).style.fontWeight="normal";    document.getElementById("b_"+i).style.backgroundColor= "#CCCCCC";   }  }  document.artikel.dot_position.value = button_nr; } //--> </script> </HEAD> <BODY OnLoad="seiten_zahl('1');">

<form name="artikel" action="" method="POST"> <input type="hidden" name="dot_position" value=""> <input type="hidden" name="gewaehlte_seite" value=""> <input type="hidden" name="punkt_anzahl" value="">

<table border="0" CELLSPACING="0" CELLPADDING="0" class="dot_frame_navi">  <tr>   <td colspan="3" height="30" valign="top">   <!-- Reihe r1, Seitenzahl -->   <script type="text/javascript">   <!--    var SeitenZahl = "2";    for(var i=1; i<=SeitenZahl; i++){     document.write("<input type='button' id='s_"+i+"' value='"+i+"' style='width=25;'");     document.write("OnClick="seiten_zahl("+i+")">\n");    }   //-->   </script>       </td>  </tr>  <tr>   <td colspan="3" height="10" valign="center">   <div style="width:100%; height:0; left:0; background-color:#000000;"><IMG SRC="../images/pixel.GIF" BORDER="0" width="2" height="1"></div>   </td>  </tr>  <tr>   <td rowspan="12>" valign="top">   <!-- Reihe r2, Punktezahl -->   <?   for($i=1; $i<=12; $i++){ // nur Bsp. $i<=12;    ECHO "\t<input type='button' id='b_".$i."' name='".$i."' value='".$i."' style="width=25;" OnClick="button_farbe('".$i."');"><br>\n";   }   ?>   </td>   <td rowspan="<%=count($row_main)%>"> </td>   <td>   <!--Begin der Reihe r3, Elementenliste, mit Elementen --> <?

foreach($row_main as $key => $value){

ECHO "<div style="left:0px; width:200px;  border:0px solid blue; cursor:hand;" OnClick="werte('".($key+1)."', '".@$value["ID"]."', '".$value[1]."', '".$value[2]."', '".$value[3]."', '".$value[4]."')">\n";   ?>   <table border="0" CELLSPACING="0" CELLPADDING="0">     <tr>    <td width="90">    <?     if(isset($value[1])){      ECHO $value[1];     } else {      ECHO " ";     }    ?>    </td>    <td rowspan="3" align="right" valign="top" width="18%">      <%=$value[0]%>    </td> ...