Dynamische SQL Abfrage



  • Hi Leute,

    eine Frage, wie mache ich eine dynamische SQL Abfrage per PHP?
    Also ich habe ein Homepage wo ich üebr Checkboxen oder sonstwas meine Tabelle, wählen kann, und über ein EIngabefeld die Sache die ich in der Tabelle suche!

    Wie kann ich nun das ausgewählte in einer Abfrage verarbeiten?
    Mein code bis jetzt: (abfrage fest im PHP Code)

    <?php
    
    //ADO Verbinsungsobjekt erzeugen (mit Fehlerbehandlung)
     $verb = new COM("ADODB.Connection") or die ("Fehler beim erzeugen eines Objektes: ADODB, COM");
    
    //ADO Verbindung herstellen;
     $verb->Open("Provider=Microsoft.Jet.OLEDB.4.0; 
                  Data Source = http://server1/dfue-it031/gru5/SERVER/bestellung.bck;
                  Persist security Info = false");
    
    //Abfragedatenmenge mittels SQL-Anweisung erzeugen
     $SQL_anw = "SELECT Artikel-Nr AS ARTNR, Artikelname,Lagerbestand FROM Artikel";
    
     $Daten = $verb->Execute($SQL_anw);
     $Anz_Felder = $Daten->Fields->Count();
    

    danke für eure Hilfe



  • Was genau ist denn dein Problem? Aufpassen musst du aber, dass der User dann nicht durch Manipulation der übertragenen Daten plötzlich in der DB alles machen kann 😉



  • Mein Problem ist hier:

    $SQL_anw = "SELECT Artikel-Nr AS ARTNR, Artikelname,Lagerbestand FROM Artikel";
    

    ich will die SELECTS nicht fest im Code stehen haben, sondern auf eine Eingabe über eine HTML reagieren!

    (zB Textfeld, wo man ein SELECT eingibt, und dieses per PHP ausgeführt wird)



  • Morgen Eine_Frage, meinst du so etwas hier:

    if ( isset( $_POST['inputquery'] ) )
    {
      $query = $_POST['inputquery'];
    
      // in diesem Fall für PostgreSQL
      pg_query( $query );
      ...
    };
    

    Oder willst du nur Teile des Statements dynamisch gestalten?

    if ( isset( $_POST['name'] ) )
    {
      $query  = 'SELECT <fields> FROM <db> '
      $query .= 'WHERE name_s = \'' . $_POST['name'] . '\'';
      ...
    }
    


  • beides wäre gut!

    Wie mach ich das aber in zusammenhang mit einer HTML Seite?



  • Am besten du beschäftigst dich mal etwas mit HTML,PHP in Verbindung mit Formularen. Trotz alledem hier mal ein kleines Beispiel.

    index.php

    ...
    <body>
    
      <?php
        if ( isset( $_POST['eingabe'] ) )
        {
          <!-- 
            In $_POST['eingabe'] steht nach dem Abschicken
            des Formulars der Wert aus dem Eingabefeld drin,
            mit dem du dann weiter arbeiten kannst.
          -->
        };
      ?>
    
      <form action="index.php" method="post">
        <input name="eingabe"/>
        <input type="submit"/>
      </form>
    </body>
    ...
    

Anmelden zum Antworten