Portal > Foren > PHP > PHP-Programmierung > Eine SELECT-Liste mit Werten aus MySQL-Tabelle füllen.
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 30.11.2005, 15:02 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard

// edit by Jann Hendrik
// ich habe diesesn post vom Tutorial-thread gelöst.

Hallo Ben,

kannst Du bitte nochmal kurz einen Blick auf den Quellcode
werfen?

Experimentiere seit 2 Stunden damit, erhalte leider
nur eine leere Liste

Grüsse Doria

Geändert von Jann Hendrik (30.11.2005 um 17:03 Uhr)
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.11.2005, 17:02 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

Hallo Doria,
dann lass uns das Tutorial doch noch einmal von vorne durchgehen!

Hast du die Datenbank gefüllt?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.11.2005, 20:25 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard das Tutorial von vorne

Hi Jan,

ja die Datenbank ist gefüllt und die Verbindung hierzu auch hergestellt.

Gruß Doria
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.11.2005, 20:39 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Versuche mal den Fehler zu lokalisieren. Arbeite dich mal mit Testausgaben durch das Script.

Es wäre klasse, wenn du das Script mal hochladen könntest. Füge vor dem Aufruf der Funktion "buildSelect()" mal ein
PHP-Code:
echo '<pre>';
print_r($_data);
echo 
'</pre>'
Lad das wie gesagt alles hoch, dann können wir uns das mal anschauen.

Grüße Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.12.2005, 09:14 Nach oben    #5
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard

Hallo,

das nachfolgende Script liefert mir folgendes Ergebnis:


Array
(
[0] => stdClass Object
(
[Id_ICD_Detail] => 1000
[ICD_Gruppe_Kurz] => I 25.9
)
..... weitere ....
)
hier kommt dann leider die leere Liste, danach ID: 1000 Name: I 25.9ID: 1001 Name: I 27.9ID: 1002 Name: I 67.9ID: 1003 Name: I 69.8ID: 1004 Name: I 73.9ID: 1005 Name: J 06.9ID: 1006 Name: J 20.9ID: 1007 Name: J 45.9

PHP-Code:
<html>
<head>
<title>Test select values</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<?php

//------------
//---Connect - Verbindung zur Datenbank herstellen
//------------

include("../Bib/Connection.php");

//------------
//---Ende---Connect
//------------

//--------------------------
//--- Selected Liste Füllen
//--------------------------

   
function buildSelect$_selectConfig$_data 
   {
        
$selectHTML '<select name="' $_selectConfig['name'] . '" size="' $_selectConfig['size'] . '">';
        
$selectHTML .= "\n";

        for ( 
$i 0$i count($_data); $i++ )
        {
             
$selected = ( strcmp($_selectConfig['selected'], $_data[$i]->name) == ) ? 'selected' '';
            
             
$selectHTML .= '<option ' $selected ' value="' $_data[$i]->id '">' $_data[$i]->name '</option>';
             
$selectHTML .= "\n";
        } 

        
$selectHTML .= '</select>';

        return 
$selectHTML;
   }



   

  
$sql "SELECT  Id_ICD_Detail,
                  ICD_Gruppe_Kurz
          FROM    bas_ICD_Detail
          order by Id_ICD_Gruppe, ICD_Gruppe_Kurz"
;      
   
   
$res mysql_query$sql ) or die( mysql_error() );

   
$_data = array();

   while( 
$_data[] = mysql_fetch_object($res) );
   
array_pop($_data);

   
$_selectConfig = array( 'name' => 'selectDemoListe',
                                         
'size' => 1,
                                         
'selected' => "I 25.9" ); 
                                         
    echo 
'<pre>';
    
print_r($_data);
    echo 
'</pre>';                                       
   
   
   echo 
buildSelect$_selectConfig$_data );
   
//--------------------------
//---Ende-- Selected values Füllen
//-------------------------- 

//--------------------------
 //---Tabellenwerte ausgeben
 //-------------------------- 


$sql "SELECT  Id_ICD_Detail,
                  ICD_Gruppe_Kurz
          FROM    bas_ICD_Detail
          order by Id_ICD_Gruppe, ICD_Gruppe_Kurz"
;      
   
$result mysql_query$sql ) or die( mysql_error() );

while (
$row mysql_fetch_array($resultMYSQL_NUM)) 
      {
           
printf ("ID: %s  Name: %s"$row[0], $row[1]); 
      }

mysql_free_result($result);

//--------------------------
//--- Ausgabe von Tabellenwerten
//--------------------------
  

?> 

<body>

</body>
</html>
Danke fürs Schauen
Doria

Geändert von doria (01.12.2005 um 09:18 Uhr) Grund: Anzeige
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.12.2005, 09:37 Nach oben    #6
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

anfangen würde ich, damit aufzuhören solch "wahnsinniges" quoten

Zitat:
$selectHTML .= '<option ' . $selected . ' value="' . $_data[$i]->id . '">' . $_data[$i]->name . '</option>';
$selectHTML .= "\n";
könnte man auch in etwa so schreiben:

$selectHTML .= <<<EOF
<option $selected value="{$_data[$i]->id}">{$_data[$i]->name}</option>\n
EOF;

als nächstes:
Zitat:
while( $_data[] = mysql_fetch_object($res) );
da du die Variable $data an eine Funktion übergeben willst um SIe in dieser Funktion zu nutzen
wäre mysql_fetch_assoc angebrachter als mysql_fetch_object, einfach um auf Nummer sicher zugehen
der Datenstruktur wegen

weiterhin:
Zitat:
echo buildSelect( $_selectConfig, $_data );
das echo hilft dir nicht wirklich weiter, sinnvoller wäre eine abfrage

if (TRUE == buildSelect( $_selectConfig, $_data )) {
// geklappt
} else {
// sch** gebaut
}

das nur als kleiner Einwurf von mir um sich an das Prob heranzupirschen.

mfg
__________________
Code:
eval('echo "'.gzinflate(base64_decode('8zI2TjGOAAA=')).'";'); 
J33d3X ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.12.2005, 08:40 Nach oben    #7
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard

hab' mal obige Variante versucht.

PHP-Code:
  echo buildSelect$_selectConfig$_data ); 
liefer nach wie vor eine leere Liste

PHP-Code:
  if (TRUE == buildSelect$_selectConfig$_data )) {
// geklappt
} else {
// sch** gebaut

Ergebnis ist True! Frage ist nur wie komme ich an den Inhalt.

Du hast schon recht damit dass mir dass Echo alleine nicht weiterhilft,
da ich die selected Liste in einer Spalte einer Tabelle aufrufen will und grad' keine Vorstellung habe wie ich das machen kann (außer ich verwende JavaScript, was ich lieber nicht mag). Vielleicht gibt es ja einen super einfach Weg und ich steh' nur total auf der Leitung.

Grüsse
Doria
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.12.2005, 09:57 Nach oben    #8
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

was ? .. wie du an den Inhalt kommst ?
wie wäre es mit:

if ($ret =buildSelect( $_selectConfig, $_data )) {
var_dump($ret);
} else {
// sch** gebaut
}

mfg
__________________
Code:
eval('echo "'.gzinflate(base64_decode('8zI2TjGOAAA=')).'";'); 
J33d3X ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.01.2006, 22:01 Nach oben    #9
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard

Hi,

nun ist endlich der Groschen gefallen. Ein bißchen hat mich irregeführt das "name" zweifach auftrat. Einmal als Spaltenname und natürlich kommt es in der select ... auch name vor.

Gerade versuche ich die Id des Listeneintrags zu erhalten, nachdem dieser neu gewählt wurde. Da ich noch keine Erfahrung mit object-Arrays habe, bin ich für einen Typ besonders dankbar.

Grüsse
Doria
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.01.2006, 07:04 Nach oben    #10
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard $_POST["selectDemoListe"];

oder auch warum bekomme ich mit

$xsSelectDemo = $_POST["selectDemoListe"];

nicht an den aktuellen Inhalt der Liste ran?

Grüsse Doria
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.01.2006, 17:01 Nach oben    #11
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard

Hi,

ich führe hier hoffentlich keine Selbstgespräche:-?)

Da ich keine Antworten erhalte und meine weiteren Versuche leider auch nichts brachten, vermute ich das ich das Problem

(= POST von einer dynamisch generierten Select-Liste) nicht mit PHP lösen kann.

Liege ich richtig damit?
Falls ja in welcher Sprache würdet Ihr das Ganze angehen?


Grüsse
Doria
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.01.2006, 17:18 Nach oben    #12
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Doch, natürlich kannst du per Post an ne Selectliste ran, da gibts keinen Unterschied zwischen dynamisch und statisch. Wichtig ist nur, dass im HTML-Code die Selectliste korrekt steht.

Hast du mal ein var_dump($_POST); gemacht?
Konstruiert dein Code das HTML-Form korrekt?

Grüße,
Jojo
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.01.2006, 20:41 Nach oben    #13
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard check mit var_dump

Hallo Jojo,
erstmal danke für die Antwort.

Zitat:
Zitat von Jojo
Konstruiert dein Code das HTML-Form korrekt?
Ja das tut er.


Zitat:
Zitat von Jojo
Hast du mal ein var_dump($_POST); gemacht?
PHP-Code:
if ($ret =buildSelect$_selectConfig$_data$xsIndex$xsText)) 
     {
     
var_dump($ret);
     
     
      
var_dump($_POST);
     
     
     
var_dump($_POST["xsVersicherungsauswahl"]);
      } 
var_dump($ret); -> Ausgabe: string(285) "zeigt dann die dieSelectListe"
var_dump($_POST); -> Ausgabe: array(0) {}; hättest Du hier was anderes erwartet?
var_dump($_POST["xsVersicherungsauswahl"]); -> Ausgabe: Notice: undefined index "xsVersicherungsauswahl" , Anm. das ist der Name meiner Selectliste.

Danke nochmals im Voraus fürs Gedanken machen.
Grüsse Doria
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.01.2006, 21:49 Nach oben    #14
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Zitat:
Zitat von doria
var_dump($_POST); -> Ausgabe: array(0) {}; hättest Du hier was anderes erwartet?
Wenn das nach dem Abschicken des Formulars ein array(0) { } ist, dann ist irgendwo im HTML-Code des Forms ein Fehler.

poste mal bitte den HTML-Code des gesamten Forms (inclusive form-Tags)

Danke,
Jojo
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.01.2006, 13:51 Nach oben    #15
Neuer Benutzer
 
Registriert seit: 01.11.2005
Beiträge: 29
Standard weiteerer Auszug aus Formular

Hallo Jojo,
danke dass Du an meiner Sache dran bleibst.

Das komplette Form, will ich nicht öffentlich schicken, ich denke es ist einfach auch zu lang dafür. Wenn Du magst schick ich Dir an Deine E-Mail-Adresse den ganzen Quellcode.

Hier nun der gekürzte Quellcode:
PHP-Code:
....

//--------------------------
//--- Selected values Füllen
//--------------------------
function buildSelect( $_selectConfig, $_data, $xsIndex, $xsListenText ) 
   {
$selectHTML = '<select name="' . $_selectConfig['name'] . '" class="' . $_selectConfig['class']. '" size="' . $_selectConfig['size'] . '">';
        $selectHTML .= "\n";

        for ( $i = 0; $i < count($_data); $i++ )
        {
$selected = ( strcmp($_selectConfig['selected'], $_data[$i]->$xsListenText) == 0 ) ? 'selected' : '';
            
$selectHTML .= '<option ' . $selected . ' value="' . $_data[$i]-> $xsIndex . '">' . $_data[$i]->$xsListenText . '</option>';
             $selectHTML .= "\n";
        } 

        $selectHTML .= '</select>';
        
//var_dump($_POST);
        // error_reporting(E_ALL);
        //echo $_POST["xsVersicherungsauswahl"];
        
        return $selectHTML;
   }
   

..........

<!-- Inhaltsbereich -->
<form name='Rechnung' action="<?php echo $PHP_SELF ?>" method="post">

      <div class="div10"> 
        <input type="submit" name="mybutton" value="leeren" />
        <input type="submit" name="mybutton" value="speichern" />
        <input type="submit" name="mybutton" value="loeschen" /> &nbsp;&nbsp;
<input type="text" class="FeldGelb" name="systemmeldung" size="37" readonly="readonly" value="<? echo $xsmessage; ?>" />
   </div> 
 


<div class="div18">


 <?php
//----------------------------
// --- Liste Gebührenträger
//---------------------------
     
  
$sql "SELECT  Id_Versicherung,
                  Versicherung
          FROM    bas_Versicherung
          order by Versicherung, Id_Versicherung"
;      
   
   
$res mysql_query$sql ) or die( mysql_error() );

   
$_data = array();

   while( 
$_data[] = mysql_fetch_object($res) );
   
array_pop($_data);

   
$_selectConfig = array(     'name'     => 'xsVersicherungsauswahl',
                                 
'class' => "AuswahlLang",
                            
'size'     => 1,
                               
'selected' => "GeBüH Höchstsatz" ); 
                                         
    
$xsmessage =    count($_data);
    
    
//echo '<pre>';
    //print_r($_data);
    //echo '</pre>';                                       
   
   
$xsIndex  "Id_Versicherung";
   
$xsText     =  "Versicherung";
   
   
   
   
//echo buildSelect( $_selectConfig, $_data, $xsIndex, $xsText  );
    
error_reporting(E_ALL);
   if (
$ret =buildSelect$_selectConfig$_data$xsIndex$xsText)) 
     {
     
var_dump($ret);
     
     
      
var_dump($_POST);
     
     
     
var_dump($_POST["xsVersicherungsauswahl"]);
      }
   
     
   
   
//echo '<pre>';
   //getIndex( $_selectConfig, $_data, $xsIndex, $xsText, $xsArrayTextElement, $xnIndexVersicherung );
   //echo '</pre>';   
  //$xnIndex = $_data[Id_Versicherung];
  //echo $_data[Id_Versicherung];
  //$xsArrayTextElement    = $_POST["xsVersicherungsauswahl"];
   //getIndex( $_selectConfig, $_data, $xsIndex, $xsText, $xsArrayTextElement, $xnIndexVersicherung );
   
   //----------------------------
   // ---Ende Liste Gebührenträger
   //----------------------------
          
  
.......

</
div
</
form>
...
Danke & Grüsse
Doria
doria ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verschachtelte Arrays mit Werten füllen und sortieren Jan PHP-Programmierung 6 26.06.2007 16:41
Frage zu dynamisches Füllen einer select Liste. Scout PHP-Programmierung 10 30.03.2007 09:49
MySQL 5.1 kommt in die Beta-Phase Ben Nachrichten 1 02.03.2006 14:31
MySQL: Abfrage aus zweiter Tabelle. Sebastian PHP-Programmierung 6 16.12.2005 00:01
Tabelle in Access füllen bzw. auslesen Nils Holgerson Datenbanken 8 06.03.2005 13:24


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45