Ankündigung

Einklappen
Keine Ankündigung bisher.

erste Schritte PHP und DB

Einklappen

Neue Werbung 2019

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

  • erste Schritte PHP und DB

    Hallo,

    ich habe einen Formular bei dem immer ein Parameter 'wahl' abgefragt wird.
    Werte zur diesem Parameter sind in einem Array: nur 10 Einträgen und anderen, die nicht in diesem Array sind, befinden sich in der DB.

    Code:
    <?php
    $search = $_REQUEST['wahl'];
    $ergebnis = 0;
    
    $array = array(
    	 "g1" => "Tische",
    	 "g2" => "Betten",
    	 "g3" => "Stühle"
    	 // etcetera
    	 );
    
    if ( isset($_REQUEST['wahl'])){
    	
    
      foreach($array AS $key => $value) { 
        if ($key == $search){
       
        echo '<input type=text value="'. $value.'"'. ($key == $search ? ' selected' : '') .'></input>'."\n"; 
        $ergebnis = 1;
      
      	} 
        }
        if($ergebnis != 1){
        readFromDB();
    // hier soll ein input mit value aus der DB kommen
        }
    }
    
    ?>
    dazu noch die Funktion:

    // Formular-Werte
    $search= $_REQUEST["l_arr"];
    echo "search:$search";


    $suchmuster = '/\D/';
    $ersetzung = '';
    $search2= preg_replace($suchmuster, $ersetzung, $search);
    echo "search2:$search2";
    Code:
    function readFromDB()
    {
        global $db, $table, $wahl, $search2;
      
        $anfrage = "SELECT * FROM ".$table." WHERE ".$wahl." = ".$search2;
      
        $dbc = $db->openDB();
      // Was muss ich weiter machen um diesen Wert dann als value in den Input zu bekommen?
        
    
    }
    Was muss ich weiter machen um diesen Wert dann als value in den Input zu bekommen?
    DB ist Oracle, hilft mir, bitte

    danke

    seven-12

  • #2
    Meine DB hat 3 Spalten: id, wahl und name

    mich interessiert Wert in der Spalte name

    Kommentar


    • #3
      $sql = "SELECT * FROM tabelle WHERE spalte = Wert";
      $result = mysql_query($sql);
      $ergebnis = mysql_fetch_array($result);

      Ergebnis hast du dann als Array in $ergebnis.
      Allerdings nur den ersten Treffer, wenn du mehrere Treffer hast, musst du eine schleife nutzen und sie auslesen: beispiel:

      $sql = "SELECT * FROM tabelle WHERE spalte = Wert";
      $result = mysql_query($sql);
      $i = -1;
      while ($ergebnis = mysql_fetch_array($result)) {
      $i++;
      $new_array[$i] = $ergebnis;
      }

      dann hast du in $new_array[0] den ersten treffer deiner abfrage, in $new_array[1] den 2. etc... mit sizeof($new_array) weißt du wie groß das Array ist.
      Developers-Guide.net
      Senseless

      Kommentar


      • #4
        Danke, aber funktionieren diese Funktionen auch für Oracle?

        Kommentar


        • #5
          ich geh stark davon aus, dass du dann nur odbc_query() statt mysql_query etc nutzen musst, bin mir aber nicht sicher, da ich noch nie oracle genutzt habe.
          Developers-Guide.net
          Senseless

          Kommentar


          • #6
            Re: erste Schritte PHP und DB

            Hi.



            Zitat von seven-12
            PHP-Code:
            <?php
            $search 
            $_REQUEST['wahl'];
            $ergebnis 0;

            $array = array(
                 
            "g1" => "Tische",
                 
            "g2" => "Betten",
                 
            "g3" => "Stühle"
                 
            // etcetera
                 
            );

            if ( isset(
            $_REQUEST['wahl'])){
                

              foreach(
            $array AS $key => $value) { 
                if (
            $key == $search){
               
                echo 
            '<input type=text value="'$value.'"'. ($key == $search ' selected' '') .'></input>'."\n"
                
            $ergebnis 1;
              
                  } 
                }
                if(
            $ergebnis != 1){
                [
            b]readFromDB();[/b]
            // hier soll ein input mit value aus der DB kommen
                
            }
            }

            ?>
            ZWei Anmerkungen:

            Das isset($_REQUEST['wahl']) musst du vor $search =
            $_REQUEST['wahl']; setzen, sonst gibt PHP eine Meldung aus, falls der
            Wert nicht übergeben wurde. -> error_reporting hochsetzen!

            Die Bedingung in der Schleife macht so keinen Sinn. Du willst ja alle
            Werte anzeigen und eben den übergebenen Wert vorselektieren. So gibst
            du nur den übergebenen Wert aus (if ($key == $search)).

            Basti

            Kommentar

            Lädt...
            X