Anzeige

Datenbankproblem - Vergleich zweier Variablen

Datenbankproblem - Vergleich zweier Variablen | PSD-Tutorials.de

Erstellt von XBit123, 23.11.2007.

  1. XBit123

    XBit123 Guest

    Datenbankproblem - Vergleich zweier Variablen
    PHP:
    1. $platznummer = $_POST["platznummer"];
    2. $abfrage = "SELECT * FROM saarlanz_anmeldeliste";
    3. $ergebnis = mysql_query($abfrage);
    4. while($row = mysql_fetch_object($ergebnis))
    5. {
    6.    if ($row->platznummer !=  $platznummer)
    7.    {
    8.       $c= 0;
    9.    }
    10.    else
    11.    {
    12.       $c= 1 ;
    13.    }
    14. }
    15.  
    16. if( $c = 0)
    17. {
    18.    /* Anweisungen */
    19. }
    20. else
    21. {
    22.    /* Anweisungen */
    23. }  

    Was ist an diesem Code falsch? Bei mir wird immer das falsche angezeigt und es kann nicht richtig untersuchen, ob die platznummer, die man eingibt gleich der platznummer ist, die in der Datenbank steht. Also ist meine Frage, wie kann ich es bewirken, dass ein Vergleich zwischen der Datenbankplatznummer und der eingegebenen Platznummer stattfindet.

    Ich bräuchte dringend Hilfe.
    Also vielen Dank für das Durchlesen.
    liebe Grüße
    Christian Schirra
     
    #1      
  2. stb_87

    stb_87 Web-Sheriff - ohne Bild

    Dabei seit:
    13.05.2007
    Beiträge:
    1.895
    Geschlecht:
    männlich
    Software:
    dies & das
    Datenbankproblem - Vergleich zweier Variablen
    AW: Datenbankproblem - Vergleich zweier Variablen

    Erstmal würde ich der Variablen einen anderen Namen geben, als der aus der Datenbank.

    Deine DB-Query ist so momentan so aufgebaut, dass alle Datensätze aus der DB ausgelesen werden. Kannst du das nicht durch eine WHERE-Bedingung einschränken?
     
    #2      
  3. XBit123

    XBit123 Guest

    Datenbankproblem - Vergleich zweier Variablen
    AW: Datenbankproblem - Vergleich zweier Variablen

    Ich weiß nicht so recht, denn es sollen ja alle Werte der Datenbank überpüft werden.
     
    #3      
  4. stb_87

    stb_87 Web-Sheriff - ohne Bild

    Dabei seit:
    13.05.2007
    Beiträge:
    1.895
    Geschlecht:
    männlich
    Software:
    dies & das
    Datenbankproblem - Vergleich zweier Variablen
    AW: Datenbankproblem - Vergleich zweier Variablen

    Dann musst du es mal mit einer for-Schleife versuchen.
    Die läuft solange, bis jeder Datensatz verglichen wurde, bzw. bricht ab, sobald der passende Datensatz gefunden wurde.
     
    #4      
  5. XBit123

    XBit123 Guest

    Datenbankproblem - Vergleich zweier Variablen
    AW: Datenbankproblem - Vergleich zweier Variablen

    OK danke, werde ich mal versuchen. Was ich noch fragen wollte, ist der Befehl

    $row->platznummer <> $platznummer

    richtig?
     
    #5      
  6. XBit123

    XBit123 Guest

    Datenbankproblem - Vergleich zweier Variablen
    AW: Datenbankproblem - Vergleich zweier Variablen

    PHP:
    1. <?
    2.    
    3. $platznummer1 = $_POST["platznummer"];
    4.  
    5.  
    6.  
    7. $abfrage = "SELECT platznummer FROM saarlanz_anmeldeliste";
    8. $ergebnis = mysql_query($abfrage);
    9.         while($row = mysql_fetch_assoc($ergebnis))
    10.         {
    11.         if ($row[0] <>  $_POST["platznummer"]) { $c= 1; }
    12.    
    13.         else {
    14.         $c= 2 ;
    15.         break; }
    16.    
    17.      
    18.       }
    19.  
    20.  
    21.  
    22.  
    23.  
    24.  
    25.      ?>
    26.      
    27.      
    28.      
    29.     <? if(isset($_POST['senden'])) {
    30.         if(!empty($_POST['name']) && !empty($_POST['nickname']) &&   !empty($_POST['platznummer']) && !empty($_POST['tele']) &&   !empty($_POST['xfire']) && !empty($_POST['icq'])) {
    31.    
    32. if( $c == 1) {
    33.  
    34.    
    35.     $name = $_POST["name"];
    36.   $nickname = $_POST["nickname"];
    37.   $icq = $_POST["icq"];
    38.   $platznummer = $_POST["platznummer"];
    39.   $tele = $_POST["tele"];
    40.   $xfire = $_POST["xfire"];
    41.  
    42.   $eintrag = "INSERT INTO saarlanz_anmeldeliste (name, nickname, icq,
    43.  xfire, platznummer, tele) VALUES ('$name', '$nickname',
    44.  '$icq', '$xfire','$platznummer', '$tele')";
    45.  
    46.   $eintragen = mysql_query($eintrag);
    47.   echo "Sie sind eingetragen";
    48.  } else { echo "Der Platz ist leider schon besetzt"; }
    49.  
    50.   }
    51.  
    52.   else { echo "Fuellen Sie bitte alle Felder aus!";}
    53.      
    54.    
    55.  
    56.  
    57.  }  else { echo "Fuellen Sie bitte alle Felder aus!";}
    58.  
    59.     ?>

    Das ist der vollständige Code. Schaut bitte mal, was da falsch ist, ich habe nun auch $c == 1 richtig gestellt und es geht immer noch nicht
     
    #6      
  7. michas

    michas Nicht mehr ganz neu hier

    Dabei seit:
    27.03.2007
    Beiträge:
    199
    Geschlecht:
    männlich
    Ort:
    Halle
    Software:
    GIMP, PDT Eclipse, Inkscape
    Datenbankproblem - Vergleich zweier Variablen
    AW: Datenbankproblem - Vergleich zweier Variablen

    Also Deine Datenbankabfrage ist höchst ineffizient,
    versuchs doch mal so, macht meiner Meinung nach das gleiche, nur mit einer einzigen DB-Abfrage und nicht mit x
    PHP:
    1.  
    2. $platznummer = intval($_POST["platznummer"]);
    3. $abfrage = "SELECT * FROM saarlanz_anmeldeliste where 'platznummer' = ".$platznummer;
    4. $ergebnis = mysql_query($abfrage);
    5. if(mysql_num_rows($ergebnis) > 0)
    6. {
    7.       $c= 1 ;
    8. } else {
    9.       $c= 0 ;
    10. }
    11.  
    Bei tausenden von Einträgen würde ich dann das SQl-Statement ändern, dann wirds noch performanter.
    in etwas so

    PHP:
    1.  
    2. $abfrage = "SELECT count (*) as Anzahl  FROM saarlanz_anmeldeliste where 'platznummer' = ".$platznummer;
    3. $ergebnis = mysql_query($abfrage);
    4. if ($row = mysql_fetch_object($ergebnis) )
    5.   $c = ($row->Anzahl > 0)?1:0;
    6.  
    7.  
    Gruß
     
    Zuletzt bearbeitet: 26.11.2007
    #7      
Seobility SEO Tool
x
×
×