Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Bestimten Eintrag in Listenfeld selektieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Bestimten Eintrag in Listenfeld selektieren

    hi leute,
    ich habe eine mysql abfrage in einen listenfeld eingefügt. dieser wird benötigt um ein 2 listenfeld aus mysql abzufragen.
    PHP-Code:
    <?php require_once('Connections/mysql.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function 
    GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
    {
      
    $theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

      
    $theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

      switch (
    $theType) {
        case 
    "text":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;    
        case 
    "long":
        case 
    "int":
          
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case 
    "double":
          
    $theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
          break;
        case 
    "date":
          
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
          break;
        case 
    "defined":
          
    $theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
          break;
      }
      return 
    $theValue;
    }
    }
    $kategorie $_POST['kategorie'];

    $ukat $_POST['ukat'];

    mysql_select_db($database_mysql$mysql);
    $query_haupt "SELECT DISTINCT kk FROM kategorie";
    $haupt mysql_query($query_haupt$mysql) or die(mysql_error());
    $row_haupt mysql_fetch_assoc($haupt);
    $totalRows_haupt mysql_num_rows($haupt);


    ?><form action="hauptkategorie.php" method="post">
      <label>
      <select name="kategorie" id="kategorie">
        <?php
    do {  
    ?>
        <option value="<?php echo $row_haupt['kk']?>"><?php echo $row_haupt['kk']?></option>
        <?php
    } while ($row_haupt mysql_fetch_assoc($haupt));
      
    $rows mysql_num_rows($haupt);
      if(
    $rows 0) {
          
    mysql_data_seek($haupt0);
          
    $row_haupt mysql_fetch_assoc($haupt);
      }
    ?>
        </select>
      </label>
    <?php 
    mysql_select_db
    ($database_mysql$mysql);
    $query_ukat "SELECT * FROM kategorie WHERE kk = '$kategorie'";
    $ukat mysql_query($query_ukat$mysql) or die(mysql_error());
    $row_ukat mysql_fetch_assoc($ukat);
    $totalRows_ukat mysql_num_rows($ukat);
    ?>
      <label>
      <select name="ukat" size="1" id="ukat">
        <?php
    do {  
    ?>
        <option value="<?php echo $row_ukat['uk']?>"><?php echo $row_ukat['uk']?></option>
        <?php
    } while ($row_ukat mysql_fetch_assoc($ukat));
      
    $rows mysql_num_rows($ukat);
      if(
    $rows 0) {
          
    mysql_data_seek($ukat0);
          
    $row_ukat mysql_fetch_assoc($ukat);
      }
    ?>
          </select>
      </label>
      <label>senden
      <input type="submit" name="senden" id="senden" value="Senden">
      </label>
      <p>Hauptkategorie: <?php echo $kategorie?>  Unterkategorie: <?php echo $ukat?> </p>
    </form>

    <?php
    soweit so gut.
    beim ersten durchlauf geht auch alles soweit klar nur das das erste listenfeld mir wieder den ersten eintag und nicht den davor selektierten eintrag reinschreibt.

    meine Frage:

    ist es irgendwie möglich nach dem esrten submit den ausgewählten eintrag wieder in der Liste zu selektieren ohne das die anderen Einträge aus der liste verschwunden sind

    danke für jede hilfe


  • #2
    Du kannst den Wert doch einfach als Variable übergeben, und wenn diese dann gesetzt ist, soll sie zuerst angezeigt werden.
    Computer Witze, Apple Witze, Nintendo Witze, etc
    http://www.it-witze.de

    Kommentar


    • #3
      Zitat von the-rod Beitrag anzeigen
      Du kannst den Wert doch einfach als Variable übergeben, und wenn diese dann gesetzt ist, soll sie zuerst angezeigt werden.
      wenn ich mir die auswal als variable anzeigen lasse dann sind aber die anderen Einträge verschwunden

      Kommentar


      • #4
        Bin gerade aufm Sprung , deshalb kann ich mir den Code jetzt nicht genau ankuken, aber zu der vorgehensweise:

        - Übergib die Variable
        - Wenn Variable gesetzt, prüfe in der Schleife welcher Eintrag diesen Wert hat
        - Wenn der Wert gleich ist, setzte als "selected"

        Hoffe ich konnte helfen, bis später
        Computer Witze, Apple Witze, Nintendo Witze, etc
        http://www.it-witze.de

        Kommentar


        • #5
          Zitat von the-rod Beitrag anzeigen
          Bin gerade aufm Sprung , deshalb kann ich mir den Code jetzt nicht genau ankuken, aber zu der vorgehensweise:

          - Übergib die Variable
          - Wenn Variable gesetzt, prüfe in der Schleife welcher Eintrag diesen Wert hat
          - Wenn der Wert gleich ist, setzte als "selected"

          Hoffe ich konnte helfen, bis später
          ok schau mir das morgen noch mal an mit deinen überlegungen muß auch erstmal los für heute aber danke erstmal

          Kommentar


          • #6
            Diese Funktion erstellt den HTML-Code für eine Select-Box.

            PHP-Code:
            function selbox($feldname,$werte,$selwert=0)
            {
                
            // $feldname: Der Name des Eingabefeldes innerhalb des Formulars
                // $werte: Array mit allen möglichen Werten
                // $selwert: Der Wert aus $werte, der vorselektiert sein soll
                
                
            $selbox '<select name="' $feldname '">' "\n";
                foreach (
            $werte as $val => $text) {
                    
            $selbox .= '<option value="';
                    
            $selbox .= $val;
                    
            $selbox .= '"';
                    if (
            $val == $selwert) {
                        
            $selbox .= ' selected = "selected"';
                    }
                    
            $selbox .= '>';
                    
            $selbox .= $text;
                    
            $selbox .= '</option>' "\n";
                }
                
            $selbox .= '</select>' "\n";       
                return 
            $selbox;

            Beispiel, um eine Box mit Anreden zu erstellen, wobei bei Auswahl Frau eine 1, und bei Auswahl Herr eine 2 zurückgegeben wird:

            PHP-Code:

            if ( !empty( $_POST['anrede'] ) {
               
            $anrede $_POST['anrede'];
            } else {
               
            $anrede '0';
            }

            $werte = array(
                    
            '0' => 'Bitte auswählen',
                    
            '1' => 'Frau',
                    
            '2' => 'Herr'
            );
            $box_anrede selbox('anrede',$werte,$anrede); 
            Die Funktion baut, in Abhängigkeit vom Array $werte beliebige Selectboxen zusammen.
            Viel Spaß beim Ausprobieren.
            PHP-Code:
            if ($var != 0) {
              
            $var 0;

            Kommentar


            • #7
              Zitat von Wolla Beitrag anzeigen
              Diese Funktion erstellt den HTML-Code für eine Select-Box.
              habe das mal nach diesen muster umgestrickt klappt auch danke erstmal.

              wolle aber nun bei der auswal sofort ein neu laden der seite veranlassen habe aber wohl irgendwo ein denkfehler

              habe den eintag in der funktion wie folgt geändert
              PHP-Code:
              $selbox '<select onchange=\"this.form.submit()\" name="' $feldname '">' "\n"

              Kommentar


              • #8
                Zitat von Herbert40 Beitrag anzeigen
                habe das mal nach diesen muster umgestrickt klappt auch danke erstmal.

                wolle aber nun bei der auswal sofort ein neu laden der seite veranlassen habe aber wohl irgendwo ein denkfehler

                habe den eintag in der funktion wie folgt geändert
                PHP-Code:
                $selbox '<select onchange=\"this.form.submit()\" name="' $feldname '">' "\n"
                manchmal ist man halt nur blöd
                habe den fehler selber gefunden
                PHP-Code:
                $selbox '<select onchange="this.form.submit()" name="' $feldname '">' "\n"
                für denen die es inrerssiert hier der vollständige script
                PHP-Code:
                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                <html xmlns="http://www.w3.org/1999/xhtml">
                <head>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <title>Unbenanntes Dokument</title>


                <?php
                function selbox($feldname,$werte,$selwert=0)
                {
                    
                // $feldname: Der Name des Eingabefeldes innerhalb des Formulars
                    // $werte: Array mit allen möglichen Werten
                    // $selwert: Der Wert aus $werte, der vorselektiert sein soll
                    
                    
                $selbox '<select onchange="this.form.submit()" name="' $feldname '">' "\n";
                    foreach (
                $werte as $val => $text) {
                        
                $selbox .= '<option value="';
                        
                $selbox .= $val;
                        
                $selbox .= '"';
                        if (
                $val == $selwert) {
                            
                $selbox .= ' selected = "selected"';
                        }
                        
                $selbox .= '>';
                        
                $selbox .= $text;
                        
                $selbox .= '</option>' "\n";
                    }
                    
                $selbox .= '</select>' "\n";       
                    return 
                $selbox;
                }
                ?>
                </head>
                <body>
                <p>
                  <br />
                </p>
                <form id="form1" name="form1" method="post" action="">
                  <label> <br />
                  <br /><?php
                if ( !empty( $_POST['kk'] )) {
                   
                $kk $_POST['kk'];
                } else {
                   
                $kk '0';
                }

                include (
                'kat.php');
                $werte $kat;
                ?>
                  <?php echo $box_kk selbox('kk',$werte,$kk); 
                if ( !empty( 
                $_POST['uk'] )) {
                   
                $uk $_POST['uk'];
                } else {
                   
                $uk '0';
                }
                $werte = $$kk;
                echo 
                $box_uk selbox('uk',$werte,$uk); 
                ?>
                <br />
                  <input type="submit" name="senden" id="senden" value="Senden" />
                  </label>
                </form>


                <p>
                </body>
                </html>
                achso in der kat.php

                sind die kategorien nach dem oben gegebenen muster angelegt

                Danke nochmal an alle die geholfen haben

                Kommentar

                Lädt...
                X