SQL abfrage über Checkboxen

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

  • SQL abfrage über Checkboxen

    Hallo Leute

    Hmm.. Will ne sql-abfrage mit checkboxen erstellen. Jedoch klappt das ned..

    PHP-Code:
      <td><input type="checkbox" name="1" value="pos_bes1 LIKE %etwas% or pos_bes2 LIKE %etwas%"></td>
                      <
    td>Etwas</td
    (namen der checkboxen 1 - 16)

    auf der nächsten Seite lese ich das Resultat aus....
    PHP-Code:
     for($i=0;$i<=16;$i++) {
        if(isset(
    $HTTP_POST_VARS[$i])) {
        echo 
    $HTTP_POST_VARS[@$i]; 
          if(isset(
    $HTTP_POST_VARS[$i+1])) {
          echo 
    " or ";
        }
        }
        } 
    Nun müsste ich den entstandenen String in eine Variable speichern. Hab aber absolut keinen Plan. Sicherlich gibts au ne gscheitere Variante.

    Thanx im Voraus

    Secchone
    _____________
    Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
    [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

  • #2
    ne kurz variante wäre, wenn nur die checkboxen gesendet werden, das hier

    PHP-Code:
      if (count($HTTP_POST_VARS)>1)
        
    $sql_abfrage="(".implode(") OR (",$HTTP_POST_VARS).")";
      else
        
    $sql_abfrage=implode("",$HTTP_POST_VARS);

      echo 
    $sql_abfrage// gibt zu testzwecken die gesamt abfrage aus 
    ansonsten so wie du es schon hast

    PHP-Code:
    $sql_abfrage="";
    for(
    $i=0;$i<=16;$i++) {
        if(isset(
    $HTTP_POST_VARS[$i])) {
        
    $sql_abfrage.="(".$HTTP_POST_VARS[@$i].")"
          if(isset(
    $HTTP_POST_VARS[$i+1])) {
           
    $sql_abfrage.=" or ";
        }
        }
        } 
    aber du weisst schon, das das sehr sehr unsicher ist, einfach Formulareingaben in Sql Abfrage zu übernehmen

    gruss

    rth
    H I L F E
    GD FreeType Antialising
    Gesuch PHP Entwicklungsumgebung
    ------------------------------------------
    Der Cmabrigde rael tset, sruf whoin du wlilst

    Kommentar


    • #3
      Ist mir klar von wegen sicherheit. Jedoch brauch ichs nur intern.

      Nun hab ich ein weiteres Problem

      PHP-Code:
        if(isset($HTTP_POST_VARS[$i+1])) {
             
      $sql_abfrage.=" or "
      Der Teil funktioniert ja logischerweise nur wenn die darauffolgende Variable ([$i+1]) einen inhalt hat. Falls erst die übernächste Zeile wieder gesetzt ist fehlt in der Abfrage das or

      Hmm....

      Gibts nicht ne schönere Lösung....

      Gruss Seccho
      _____________
      Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
      [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

      Kommentar


      • #4
        mein 1. code ist ne schöne lösung, klappt aber nur wenn du nur checkboxen überträgst, ansonsten musste deine checkboxen was modifizieren.

        PHP-Code:
        <td><input type="checkbox" name="check[]" value="pos_bes1 LIKE %etwas% or pos_bes2 LIKE %etwas%"></td>
                          <
        td>Etwas</td
        und meinen ersten code dann wiefolgt

        PHP-Code:
        if (count($HTTP_POST_VARS['check'])>1)
            
        $sql_abfrage="(".implode(") OR (",$HTTP_POST_VARS['check']).")";
          else
            
        $sql_abfrage=implode("",$HTTP_POST_VARS['check']);

          echo 
        $sql_abfrage// gibt zu testzwecken die gesamt abfrage aus 

        rth
        H I L F E
        GD FreeType Antialising
        Gesuch PHP Entwicklungsumgebung
        ------------------------------------------
        Der Cmabrigde rael tset, sruf whoin du wlilst

        Kommentar

        Lädt...
        X