Checkbox

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

  • Checkbox

    Hi,

    ich habe folgendes Problem:

    Der User hat eine Freundesliste und soll seine besten Freunde durch Ankreuzen der Checkbox markieren. Doch es funktioniert nicht richtig.. Ich hab keine Ahnung wo mein Fehler liegt. Kann mir bitte jemand helfen?

    PHP-Code:
    $anzahl = @mysql_result(mysql_query("select id from rockdudes_friends order by id desc limit 0,1"),0,0);

        for(
    $x 0$x <= $anzahl$x++)
        {
            if(
    $_POST[$x])
            {
                    
    mysql_query("UPDATE rockdudes_friends SET best='1' WHERE uid = '".$dude['id']."' AND fid = '".mysql_real_escape_string($_POST[$x])."'");
                    
    mysql_query("UPDATE rockdudes_friends SET checked='1' WHERE uid = '".$dude['id']."' AND fid = '".mysql_real_escape_string($_POST[$x])."'");
            }
        }

      
    $best="UPDATE rockdudes_friends SET best='0' WHERE uid = '".$dude['id']."' AND checked = '0'";
      
    $friend mysql_query($best);
      
      
    $best="UPDATE rockdudes_friends SET checked='0' WHERE uid = '".$dude['id']."'";
      
    $friend mysql_query($best);
      
    $done '<div id="done"><h3>.: done!</h3><p>Friends goufen geännert.</p></div>'
    Zuletzt geändert von aboutme; 18.05.2008, 13:06.
    jeff.kugener@crew.lu

  • #2
    woher kommt $dude['id']."

    warum machst du das?


    [php]
    WHERE uid LIKE $dude['id']
    [php]
    Zuletzt geändert von martin_duisburg; 18.05.2008, 13:02.
    ad astra
    --- bin nun mal Perry Rhodan Fan ---

    Kommentar


    • #3
      das ist die Userid des angemeldeten Users. Die wird in einer anderen Datei abgefragt und includet
      jeff.kugener@crew.lu

      Kommentar


      • #4
        und warum

        WHERE uid LIKE $dude['id'] ?

        nicht WHERE uid = $dude['id']?
        ad astra
        --- bin nun mal Perry Rhodan Fan ---

        Kommentar


        • #5
          ok jetzt ist es =

          aber das ändert ja nichts am script...
          jeff.kugener@crew.lu

          Kommentar


          • #6
            und was funzt jetzt genau nicht...

            keine der Abfrage nur ein Teil der Abfragen?
            ad astra
            --- bin nun mal Perry Rhodan Fan ---

            Kommentar


            • #7
              die user die markiert sind werden nicht als markiert in die DB geschrieben
              jeff.kugener@crew.lu

              Kommentar


              • #8
                also dieser Teil hier?
                PHP-Code:
                 for($x 0$x <= $anzahl$x++)
                    {
                        if(
                $_POST[$x])
                        {
                                
                mysql_query("UPDATE rockdudes_friends SET best='1' WHERE uid = '".$dude['id']."' AND fid = '".mysql_real_escape_string($_POST[$x])."'");
                                
                mysql_query("UPDATE rockdudes_friends SET checked='1' WHERE uid = '".$dude['id']."' AND fid = '".mysql_real_escape_string($_POST[$x])."'");
                        }
                    } 
                ad astra
                --- bin nun mal Perry Rhodan Fan ---

                Kommentar


                • #9
                  genau.. aber das komische ist. Sonst hat der immer funktioniert. Das versteh ich nicht.
                  jeff.kugener@crew.lu

                  Kommentar


                  • #10
                    Zeig doch mal den Teil, der das Formular aufbaut.

                    Kommentar


                    • #11
                      was enthält $_POST[$x]

                      wird die Schleife überhaupt durchlaufen?

                      was enthält $anzahl?

                      und warum schickst du zwei Querys ab wenn du den selben Datensatz veränderst?

                      PHP-Code:
                       mysql_query("UPDATE rockdudes_friends SET best='1',checked='1'  WHERE uid = '".$dude['id']."' AND fid = '".mysql_real_escape_string($_POST[$x])."'"); 
                      ad astra
                      --- bin nun mal Perry Rhodan Fan ---

                      Kommentar


                      • #12
                        is gut hab den Fehler gefunden. Danke

                        PHP-Code:
                            for($x 0$x <= $anzahl$x++)
                            {
                                if(
                        $_POST[$x])
                                {
                                        
                        mysql_query("UPDATE rockdudes_friends SET best='1' WHERE id = '".mysql_real_escape_string($_POST[$x])."'");
                                        
                        mysql_query("UPDATE rockdudes_friends SET checked='1' WHERE id = '".mysql_real_escape_string($_POST[$x])."'");
                                }
                            } 
                        so stimmts.

                        Danke
                        jeff.kugener@crew.lu

                        Kommentar


                        • #13
                          Hi,

                          warum machst du aus den zwei Querys nicht eine?

                          Code:
                          mysql_query("UPDATE rockdudes_friends SET checked='1', best='1' WHERE id = '".mysql_real_escape_string($_POST[$x])."'");
                          Ist doch völlig unnötig da zwei abzuschicken!
                          screennetz.de

                          Kommentar


                          • #14
                            Ausserdem macht mysql_real_escape_string() für nummerische Werte wenig Sinn. Besser int_val() benutzen und in der Abfrage die Anführungszeichen entfernen:
                            PHP-Code:
                            $sql "
                                UPDATE 
                                    rockdudes_friends 
                                SET 
                                    checked = 1, 
                                    best = 1
                                WHERE
                                    id = " 
                            int_val($_POST[$x]);
                            $res mysql_query($sql) or exit("Fehler: " mysql_error() . "<br />Abfrage: $sql<br />";
                            ... 
                            Gruss
                            H2O

                            Kommentar


                            • #15
                              OffTopic:
                              Die Funktion int_val möchste ich mal sehn

                              Kommentar

                              Lädt...
                              X