Thread Verfasser: Catzenjaeger
Thread ID: 903
Thread Info
Es gibt 16 Beiträge zu diesem Thema, und es wurde 3316 Mal angesehen.
 Thema drucken
eventuell selected='selected'?
Catzenjaeger
Ich habe die Felder "Hight, width, depth , scale, und limitation" fix in die DB schreiben lassen und sie nicht mehr in der Administration drin wo die dann angelegt und verwaltet werden.

Heisst bei Installation der Infusion gebe ich diese Daten schon vor und die sind auch korrekt in der Datenbank ABGELEGT: Das funktioniert wunderbar.

Nun habe ich aber ein figure_item und ein submissions.php file wo ich als Admin tätig werde. Dort ändere ich die eingesannten Daten jeweils ab, falls diese falsch sind.

So wie momentan wird aber nicht der abgelegte Wert der Datenbank angezeigt, sondern nur die Liste aller Möglichkeiten in diesen Dropdown

Heisst wenn ich die Figur editiere und einen Einsendung prüfe ... sehe ich nur ...plz choose one... und nicht den Wert des Datensatzes aus der Datenbank.

was ist jetzt falsch?

Hier mal am beispiel der Höhe:

Zitat:  //Height (locale 444)
echo "<td width='150' class='tbl'>".$locale['figure_444'].":</td>\n";

//AUSLESEN DER DATENBANK UND FÜLLEN DES DROPDOWN FÜR MEASUREMENTS HEIGHT
echo "<td class='tbl'><select style='width:380px;' class='textbox' name='figure_height'>";
$resultheight = dbquery("SELECT * FROM ".DB_FIGURE_MEASUREMENTS." ORDER BY figure_measurements_inch");
if (dbrows($resultheight) != 0) {
while($dataheight = dbarray($resultheight)){
echo '<option value="'.$dataheight['figure_measurements_inch'].'">'.$dataheight['figure_measurements_inch'].'</option>';
}
}
echo "</select></td>\n";
echo "</tr>\n";


hier musste eigentlich 19 inch stehen laut Datenbank aber ich sehe stattdessen ...plz choose one ... was der ID 1 entspricht. selbst wenn ich das order oben rausnehme bleibt es so. Ich will ja den aktuell gespeicherten wert sehen

weis jemand rat?
 
Rolly8-HL
Zitat: weis jemand rat?


Baue Dir eine neue Datei, auf der Basis der submit.php, oder eine die Du als Vergleich nehmen könntest.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Wemi
Natürlich muss ein selected dorthin.
Nur du musst dann ja auch entsprechend vergleichen mit dem geposteten Datensatz aus deiner submissions.

Und hier ist dein Ansatz in der submit.php etwas unglücklich.

Warum speicherst du die Usereingaben nicht gleich in der dafür vorgesehenen Tabelle? Dort brauchst du dann nur noch ein Feld extra einfügen, ala' ueberprueft. Hier brauchst du dann nur zwei Werte, entweder 0 = Admin überprüft noch und 1 freigegeben für die Anzeige auf der HP.

Dieser Fusionmüll mit der submission ist zwar gut und schön, aber für Anfänger nicht wirklich geeignet. Produziert nebenbei auch noch Datenüberhänge in der DB.
"Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
 
Catzenjaeger
omg das wäre ja quasi ein Neubau Smile inklusiver neuer Datenbankstruktur - und das bei meinen Fähigkeiten?? Shock

wie kann ich den jetzt das erstmal so machen?? Weil es betrifft nur 5 Felder .. alles andere geht ja eigentlich und wird korrekt dargestellt.

Sorry wenn so komplexe und vielleicht auch dumme fragen stelle. Wenn ich das gekonnt hätte hätte ich neu gebaut aber dazu reichen meine Fähigkeiten nicht aus. Deshalb habe ich die booklib massiv erweitert und das hat ja auch soweit gefunzt.

Die Problemmatik mit den 5 Feldern kamm nur deshalb weil ich die nicht wie vorher als SUBCATS anlege wiel ich für diese felder defintiv keine Subcats benötige. Deshalb habe ich die Tabellen ev netuell mit einer ID und einen Wert automatisch gefüllt den ich in das dropdown einspiele und dort anzeigen lasse. Das klappt ja. Nur zeigt es mir nicht die momentanen Werte wie schon gesagt.
Bearbeitet von Catzenjaeger am 25.05.2016 um 15:12
 
Rolly8-HL
Wenn ich nicht ganz Falsch liege hast Du jetzt das Problem in der

infusions\figurelib\admin submissions.php

Für Ein/Aus habe ich hier ein Beispiel vielleicht hilft das ja.

Code 

   echo "<td class=''>Gruß senden?</td>\n";
   echo "<td class=''><select name='set_member_greeting' size='1' class='textbox'>";
   echo "<option value='1' ".($result_mini_settings['pinn_set_member_greeting'] == 1 ? "selected='selected'" : "").">".$locale['MWR8_yes']."</option>\n";
   echo "<option value='0' ".($result_mini_settings['pinn_set_member_greeting'] == 0 ? "selected='selected'" : "").">".$locale['MWR8_no']."</option>\n";
   echo "</select></td>\n";
   echo "</tr>\n</tr>\n";


Damit wird ausgelesen welcher Wert in der DB steht.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Catzenjaeger
ich habe in der submissions.php (wird im adminbereich angezeigt und der admin gibt die figur dann frei) und auch in der figure_item (wo der admin die Figuren anlegen/verwalten und editieren kann) dieses problem. Also nur 2 Files.

es betrifft 5 Felder (von etwa 20 oder so) die anderen gehen alle da sie entweder direkt aus der DB kommen oder über die sub cat function laufen.

Heisst bei diesen 5 feldern wird zwar das dropdown gezeigt aber nicht der aktuell abgelegte wert. Das mit 1 und 2 selevted habe ich schon egsehen das hilft mir aber so richtig nicht weiter.

Ich schaffe das nie und nimmer das ganze submit/submission system neu zu schreiben. Wenn ich genug Ahnung hätte ja aber so ... damn


nun diesen code müsste man irgendwie mit der Werteanzeige erweitern

Zitat:  //Limited Edition (locale 450)
echo "<td width='80' class='tbl'>".$locale['figure_450'].":</td>\n";
//AUSLESEN DER DATENBANK UND FÜLLEN DES DROPDOWN FÜR LIMITATION
echo "<td class='tbl'><select style='width:380px;' class='textbox' name='figure_limitation'>";
$resultlimitation = dbquery("SELECT * FROM ".DB_FIGURE_LIMITATIONS." ORDER BY figure_limitation_id");
if (dbrows($resultlimitation) != 0) {
while($datalimitation = dbarray($resultlimitation)){
echo '<option value="'.$datalimitation['figure_limitation_name'].'">'.$datalimitation['figure_limitation_name'].'</option>';
}
}
echo "</tr>\n<tr>\n";


In den function die in diesen Files für die felder die subcategoryn haben genutzt werden sieht das so aus:

Zitat: function menu_subbrands($id, $name, $level) {
global $figure_brand;
$list = "<option value='".$id."'".($id == $figure_brand ? " selected='selected'" : "").">".str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",$level-1)." ".$name."</option>\n";
$brandresult[$id] = dbquery("SELECT figure_brand_id, figure_brand_name FROM ".DB_FIGURE_BRANDS." WHERE figure_brand_parent='".$id."' ORDER BY figure_brand_name");
if (dbrows($brandresult[$id]) != 0) {
while ($branddata[$id] = dbarray($brandresult[$id])) {
$list .= menu_subbrands($branddata[$id]['figure_brand_id'], $branddata[$id]['figure_brand_name'], $level+1);
}
}
return $list;
}


da ist was mit select zu sehen und die felder gehen ja auch. Ich weiss nur nicht wie das entsprechend umschreiben muss für den obigen code wo das select fehlt
Bearbeitet von Catzenjaeger am 25.05.2016 um 15:41
 
Rolly8-HL
Vielleicht hilf Dir das weiter.

Code 

################### der Mod -1- ############   
                                                                                                  
   $option_list .= "<option value='0' ".($archive_pinn_visibility_a  == "0" ? " selected='selected'" : "").">".$locale['user0']."</option>\n";
   $option_list .= "<option value='101' ".($archive_pinn_visibility_a  == "101" ? " selected='selected'" : "").">".$locale['user1']."</option>\n";
   
   
    $hide = array(0,101);
   while(list($key, $option) = each($options)) {
      

   
   $dingdong2 = in_array($option['0'], explode(".", iUSER_GROUPS));
      $dingdong1 = in_array($option['0'], explode(".",  $r8hl_pinn_pn['mod_moderators'] ));

   
   if (  $dingdong2 . $dingdong1            ) { 
                if (!in_array($option['0'], $hide)){
   $sel = ($r8hl_pinn_pn['mod_moderators'] == $option['0'] ? " selected='selected'" : "");
   $option_list .= "<option value='".$option['0']."' ".$sel.">".trimlink($option['1'], 50)."</option>\n";
   }}
   }
   
   
   
   } else {                                                                                                     
   } echo $option_list."</select>";}
   
################### der Mod -1- ############   




Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Catzenjaeger
Nicht wirklich - so was muss man verstehen. Mist man ich habe mich total verzettelt. habe gedacht wenn ich die 5 Sachen einfach ohne subcategorys mache wird das ganze einfcher aber das gegenteil scheint ja zu sein.

wobei ich immer noch denke das einfach nur ein kleines stück dazwischen muss um den aktuellen wert anzuzeigen.

Dann bräuchte ich nur diese 5 Felder ändern und alles würde wieder gehen

ich habe mal das hier gefunden: ist es vielleicht so etwas?

Zitat: 
$counter = 1;
while($bgRow = mysql_fetch_array($bgResult)){
if ($counter === 1)
{
echo '<option value="'.$bgRow['name'].'" selected="selected">'.$bgRow['name'].'</option>';
}
else
{
echo '<option value="'.$bgRow['name'].'">'.$bgRow['name'].'</option>';
}

$counter++;
}

Quelle: http://stackoverflow.com/questions/28...p-down-box

Bearbeitet von Catzenjaeger am 25.05.2016 um 16:14
 
Rolly8-HL
Zitat: echo "<option value='".$i."'".($settings2['attachmax_count'] == $i ? " selected='selected'" : "").">".$i."</option>";


Ich denke mal das muss immer was mit ? sein.

Zusammengefügt am 25. Mai 2016 um 19:20:38:
Versuche mal in figure_items.php das //BRAND 438 so.

Code 

   //BRAND   438   
   $editlistbrand = "";
   if (isset($_GET['action']) && $_GET['action'] == "edit") {$figure_brand = $data['figure_brand']; } else { $figure_brand = "";}
   $resultbrand = dbquery("SELECT * FROM ".DB_FIGURE_BRANDS." WHERE figure_brand_parent='0' ORDER BY figure_brand_name");
   $resultbrand2 = dbarray(dbquery("SELECT fb.*, fm.*
      FROM ".DB_FIGURE_BRANDS." fb
      LEFT JOIN ".DB_FIGURE." fm ON fm.figure_brand=fb.figure_brand_id
      WHERE figure_id='".$_GET['figure_id']."'"));
   if (dbrows($resultbrand) != 0) {
      while ($databrand = dbarray($resultbrand)) {
         $sel = ($resultbrand2['figure_brand'] == $databrand['figure_brand_id'] ? " selected='selected'" : "");
            $editlistbrand .= "<option value='".$databrand['figure_brand_id']."'".$sel.">".$databrand['figure_brand_name']."</option>\n";
      } }


Bearbeitet von Rolly8-HL am 25.05.2016 um 19:20
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Catzenjaeger
brand funktionierte schon immer. Es geht hier um die Height, Width und depth sowie limitation. Das isnd ja alle fixe werte die ich nicht umständlich anlegen will sondern bei Installation der Infusion schon in die Datenbank füllen lasse. Dagegen die Felder BRAND, Manufacturer zB habe ich analog dem Catagory Feld angelegt so das es da im Adminmenü einen extra Seite gibt wo man die anlegen und ändern könnte. Heisst hier kommen später Änderungen oder neueinträge vor .. und da muss ein Admin die schnell hinzufügen lassen.

Ich habe die oben genannten Height, Width und depth sowie limitation früher auch so gehabt aber das brauch ich ja nicht weil diese werte unveränderbar sind. Da wird sich auch nichts ändern ... also brauch der Admin da nichts zu ändern.

Das blöde nur, dadurch das die Daten schon in der Datenbank habe und quasi das dropdown von dort aus fülle wird mir aber jetzt nicht mehr der aktuelle wert bei einer Änderungen oder Submission angezeigt. Die Werte schon ... aber nicht der geählte bzw der der mir vom Einsender mittgeteilt wurde. Heisst dieses dropdown muss irgendwie jetzt angepasst werden und ich schaffs einfach nicht

Ich denke ich gebe jetzt auf :(

BRAND funktioniert und wird so abgefragt:
Zitat:  //BRAND 438
$resultbrand = dbquery("SELECT * FROM ".DB_FIGURE_BRANDS." WHERE figure_brand_parent='0' ORDER BY figure_brand_name");
$editlistbrand = "";
if (dbrows($resultbrand) != 0) {
while ($databrand = dbarray($resultbrand)) {
$editlistbrand .= menu_subbrands($databrand['figure_brand_id'], $databrand['figure_brand_name'],1);
}
}

..................

//BRAND 438
echo "<td width='80' class='tbl'>".$locale['figure_438'].":</td>\n";
echo "<td class='tbl'><select name='figure_brand' style='width:380px;' class='textbox'>\n".$editlistbrand."</select></td>\n";
echo "</tr>\n<tr>\n";


HEIGHT zb wird so abgefragt ... zeigt aber keinen wert an sondern nur den Inhalt der Datenbank

Zitat:  //Height (locale 444)
echo "<td width='80' class='tbl'>".$locale['figure_444'].":</td>\n";
//AUSLESEN DER DATENBANK UND FÜLLEN DES DROPDOWN FÜR MEASUREMENTS HEIGHT
echo "<td class='tbl'><select style='width:380px;' class='textbox' name='figure_height'>";
$resultheight = dbquery("SELECT * FROM ".DB_FIGURE_MEASUREMENTS." ORDER BY figure_measurements_inch");
if (dbrows($resultheight) != 0) {
while($dataheight = dbarray($resultheight)){
echo '<option value="'.$dataheight['figure_measurements_inch'].'">'.$dataheight['figure_measurements_inch'].'</option>';
}
}
echo "</tr>\n<tr>\n";
 
Wemi
Zitat: Catzenjaeger schrieb:

omg das wäre ja quasi ein Neubau Smile inklusiver neuer Datenbankstruktur - und das bei meinen Fähigkeiten?? Shock

wie kann ich den jetzt das erstmal so machen?? Weil es betrifft nur 5 Felder .. alles andere geht ja eigentlich und wird korrekt dargestellt.

Sorry wenn so komplexe und vielleicht auch dumme fragen stelle. Wenn ich das gekonnt hätte hätte ich neu gebaut aber dazu reichen meine Fähigkeiten nicht aus. Deshalb habe ich die booklib massiv erweitert und das hat ja auch soweit gefunzt.

Die Problemmatik mit den 5 Feldern kamm nur deshalb weil ich die nicht wie vorher als SUBCATS anlege wiel ich für diese felder defintiv keine Subcats benötige. Deshalb habe ich die Tabellen ev netuell mit einer ID und einen Wert automatisch gefüllt den ich in das dropdown einspiele und dort anzeigen lasse. Das klappt ja. Nur zeigt es mir nicht die momentanen Werte wie schon gesagt.


Ist doch kein Neubau. Nur ein paar kleine Änderungen beim Speichern und Auslesen. Ist quasi ja nur einmal ein Upgrade der DB und in der submit.php ist der Insert etwas anders, weill ja eine andere Tabelle.
"Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
 
Catzenjaeger
Zitat: Rolly8-HL schrieb:

Zitat: echo "<option value='".$i."'".($settings2['attachmax_count'] == $i ? " selected='selected'" : "").">".$i."</option>";


Ich denke mal das muss immer was mit ? sein.

Zusammengefügt am 25. Mai 2016 um 19:20:38:
Versuche mal in figure_items.php das //BRAND 438 so.

Code 

   //BRAND   438   
   $editlistbrand = "";
   if (isset($_GET['action']) && $_GET['action'] == "edit") {$figure_brand = $data['figure_brand']; } else { $figure_brand = "";}
   $resultbrand = dbquery("SELECT * FROM ".DB_FIGURE_BRANDS." WHERE figure_brand_parent='0' ORDER BY figure_brand_name");
   $resultbrand2 = dbarray(dbquery("SELECT fb.*, fm.*
      FROM ".DB_FIGURE_BRANDS." fb
      LEFT JOIN ".DB_FIGURE." fm ON fm.figure_brand=fb.figure_brand_id
      WHERE figure_id='".$_GET['figure_id']."'"));
   if (dbrows($resultbrand) != 0) {
      while ($databrand = dbarray($resultbrand)) {
         $sel = ($resultbrand2['figure_brand'] == $databrand['figure_brand_id'] ? " selected='selected'" : "");
            $editlistbrand .= "<option value='".$databrand['figure_brand_id']."'".$sel.">".$databrand['figure_brand_name']."</option>\n";
      } }



habe das hier mal gemacht: aber Seite zeigt nach wie vor das gleiche an .. den wert nicht .. nur die auswahl

Code 

               $editlistpoa = "";
            if (isset($_GET['action']) && $_GET['action'] == "edit") {$figure_poa = $data['figure_poa']; } else { $figure_poa = "";}
               $resultpoa = dbquery("SELECT * FROM ".DB_FIGURE_POAS." ORDER BY figure_poa_name");
               $resultpoa2 = dbarray(dbquery("SELECT fp.*, f.*
            FROM ".DB_FIGURE_POAS." fp
            LEFT JOIN ".DB_FIGURE." f ON f.figure_poa=fp.figure_poa_id
            WHERE figure_id='".$_GET['figure_id']."'"));
            if (dbrows($resultpoa) != 0) {
               while ($datapoa = dbarray($resultpoa)) {
               $sel = ($resultpoa2['figure_poa'] == $datapoa['figure_poa_id'] ? " selected='selected'" : "");
               $editlistpoa .= "<option value='".$datapoa['figure_poa_id']."'".$sel.">".$datapoa['figure_poa_name']."</option>\n";
            } }

         echo "<td width='80' class='tbl'>".$locale['figure_455'].":</td>\n";
         echo "<td class='tbl'><select name='figure_poa' style='width:380px;' class='textbox'>\n".$editlistpoa."</select></td>\n";
         echo "</tr>\n<tr>\n";



kann garnicht funzen da ja jetzt die Werte direkt in die FIGURE DB gespeichert werden .. vorher mit dem anderen system wurde ja nur die ID gesspeichert

Also die POA (Point of articulation) zB stehen in der DB POAS als Werte. Die tabelle hat 2 Spalten. ID und NAME. Der Name ist in diesen fall nur eine Zahl aber da ist ja egal

In der DB FIGURE wird der Wert der von der submit.php usw kommt als figure_poa als wert gespeichertt ... doert swethe jetzt also einen 9 (für 9 Points of articulation)
Bearbeitet von Catzenjaeger am 26.05.2016 um 21:25
 
Rolly8-HL
Habe das in der figure_items.php unter V9 drin und es geht.

Code 

   $editlistpoa = ""; 
   if (isset($_GET['action']) && $_GET['action'] == "edit") {$figure_poa = $data['figure_poa']; } else { $figure_poa = "";}
   $resultpoa = dbquery("SELECT * FROM ".DB_FIGURE_POAS." WHERE figure_poa_parent='0' ORDER BY figure_poa_name");
   $resultpoa2 = dbarray(dbquery("SELECT fp.*, f.*
      FROM ".DB_FIGURE_POAS." fp
      LEFT JOIN ".DB_FIGURE." f ON f.figure_poa=fp.figure_poa_id
      WHERE figure_id='".$_GET['figure_id']."'"));
   if (dbrows($resultpoa) != 0) {
      while ($datapoa = dbarray($resultpoa)) {
         $sel = ($resultpoa2['figure_poa'] == $datapoa['figure_poa_id'] ? " selected='selected'" : "");
            $editlistpoa .= "<option value='".$datapoa['figure_poa_id']."'".$sel.">".$datapoa['figure_poa_name']."</option>\n";
      } }


Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Catzenjaeger
Du hast bestimmt noch die alten Dateien und auch die alten Datenbanken .. ich habe es gerade mal in die figures_item eingebaut und sehe nur wieder ....plz choose one...
#irgednwie kommt auch alles durcheinander. Problem -- wenn ich 1 wähle bei submit sagt mir das script POA dardf nicht leer sein. Wähle ich 2 dann geht submit durch und die figur wird gesendet

aber in der db steht wieder nur ...plz choose ...
 
Rolly8-HL
Ich kann nur das testen was ich von Dir habe, wer soll da wissen was Du alles geändert hast, habe Dir jetzt 2 Beispiele vorgelegt den Rest bekommst Du da schon selber hin.

Du machst das schon.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Catzenjaeger
also in der figures_items konnte ich es wohl hinbekommen
aber in der submit.php nicht. Wenn ich dort eine figur submitte wird immer ..choose one... in der DB gespeichert heisst hier stimmt was nicht. Die Dropdowns sind aber richtig heisst ich sehe die Werte die zu sehen sein sollen.

hier mal zB Beispiel wie ich die felder füllen will:



Zitat:  //AUSLESEN DER DATENBANK UND FÜLLEN DES DROPDOWN FÜR MEASUREMENTS DEPTH
echo "<td class='tbl'><select style='width:380px;' class='textbox' name='figure_depth'>";
$resultdepth = dbquery("SELECT * FROM ".DB_FIGURE_MEASUREMENTS." ORDER BY figure_measurements_id");
if (dbrows($resultdepth) != 0) {
while($datadepth = dbarray($resultdepth)){
echo '<option value="'.$datadepth['figure_measurements_id'].'">'.$datadepth['figure_measurements_inch'].'</option>';
}
}
echo "</select></td>\n";
echo "</tr>\n";

Bearbeitet von Catzenjaeger am 27.05.2016 um 09:52
 
Springe ins Forum: