If else in SQL-Abrage - Schreibweise? Geht wahrscheinlich ganz schnell :-)

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

  • If else in SQL-Abrage - Schreibweise? Geht wahrscheinlich ganz schnell :-)

    Hallo,

    ich will einen Vergleich von mehren Variablen machen und jeweils entscheiden, ob eine Variable ins sie ins SQL-Kommando kommt:

    Orginal SQL:
    PHP-Code:
    $sql "UPDATE `students` SET 
    `klasse` = '"
    .$_POST["klasse"]."', 
    `klassenlehrer` = '"
    .$_POST["klassenlehrer"]."' 
    WHERE `id` = '"
    .$_POST["SchuelerdetailsID"]."';"
    Mein Ansatz- if-Abfrage ins SQL-Kommando:
    (aber meine Verkettung ist falsch)
    PHP-Code:
    $sql "UPDATE `students` SET
            `klasse` = '"
    .$_POST["klasse"]."'," .
    if ((
    $_POST["klassenlehrer"]) != ($_POST["klassenlehrer_vgl"]))
            { 
    "`klassenlehrer` = '".$_POST["klassenlehrer"]."'," .} 
            
    WHERE `id` = '".$_POST["SchuelerdetailsID"]."';"; 
    Kann mir jemand sagen, wie der Code richtig aussieht?

    Gruß Tim

  • #2
    Entweder nimmst du dafür die Kurzschreibweise:

    PHP-Code:
    $sql 'anfang' . (1='ggf. mitte' '') . 'ende'
    oder herkömmlich der reihe nach aufbauen:

    PHP-Code:
    $sql 'anfang';
    if(
    1=1)
      
    $sql.= 'ggf. mitte';
    $sql.= 'ende'
    Fertig
    ICH BIN ICH!!!

    Kommentar


    • #3
      Ich find's immer wieder amüsant, was so alles ganz schnell gehen soll. Zugegeben, geht es ganz schnell. Definiere einfach Deine if Anweisung vor dem SQL Query.

      Beispiel 1:
      PHP-Code:
      if ($_POST['bla'] != $_POST['blubb']) {
          
      $sql_kl ", bla = '" $_POST['bla'] . "'";

      In Kurzform sieht das Beispiel dann so aus:
      PHP-Code:
      $sql "UPDATE `students` SET
          `klasse` = '" 
      $_POST["klasse"] . "'
          " 

          ( (
      $_POST['klassenlehrer'] != $_POST['klassenlehrer_vgl']) ? ", klassenlehrer = '" $_POST['klassenlehrer'] . "'" "" 
          . 
      "
          WHERE id = " 
      $_POST['SchuelerdetailsID'] . ""
      Da sind aber mehr oder weniger Grundlagen.
      MM Newmedia | MeinBlog

      Kommentar


      • #4
        Danke! Hab auf dem Schlauch gestanden...

        Kommentar

        Lädt...
        X